Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Odds-API.io - Real-Time Sports Betting Odds API (v3), or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fodds-api.io%2Fodds-api" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fodds-api.io%2Fodds-api" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Odds-API.io - Real-Time Sports Betting Odds API (v3) API.
Compare odds for an event across the bookmakers you name, or for many events at once with eventIds
Track a market line's opening price, latest price, and recent moves from one bookmaker with /odds/movements
Find odds that dropped sharply from opening values, filtered by sport, league, and minDrop
Surface value bets for a bookmaker and pre-match arbitrage opportunities filtered by minProfit
GET STARTED
Pull closing odds and closing lines for finished events for backtesting
Grade bet selections against final results with POST /settlements/grade
Map Odds-API.io events, markets, and outcomes to a bookmaker's native ids
Patterns agents use Odds-API.io - Real-Time Sports Betting Odds API (v3) API for, with concrete tasks.
★ Odds comparison assistant
A betting research agent answers 'where is the best price for this match?' with live data. Through Jentic the agent searches for 'compare betting odds for an event', gets the Odds-API.io odds operation with its input schema, and calls it with the required eventId and a bookmakers list. The apiKey query parameter is attached at call time, and the agent reports the best available price per outcome.
Call GET /events/search with query 'Arsenal' to find the event id, then call GET /odds with that eventId and bookmakers set to three bookmakers, and return the best price for each outcome
Arbitrage and value bet scanner
A trading tool watches for mispriced markets. GET /arbitrage-bets returns pre-match opportunities where every leg uses one of the specified bookmakers, sorted by profit margin, and minProfit filters out thin margins. GET /value-bets returns value bets for a single required bookmaker, and GET /dropping-odds lists sharp drops from opening prices.
Call GET /arbitrage-bets with bookmakers set to the user's accounts, sport football, and minProfit 2, then call GET /value-bets with bookmaker set to the user's main bookmaker and summarise both lists
Line movement monitoring
A model needs to know when the market moves. GET /odds/movements returns the opening price, the latest price, and recent changes for one market line of an event from a bookmaker, with eventId, bookmaker, and market required. GET /odds/updated returns only the market groups changed since a recent UNIX timestamp for a bookmaker and sport, which keeps polling light.
Call GET /odds/movements with eventId, bookmaker, and market set to the target line, then poll GET /odds/updated with since, bookmaker, and sport to catch further changes
Backtesting and bet settlement
A strategy backtest needs closing prices, and a bet tracker needs outcomes. GET /historical/closing-lines and GET /historical/odds return closing odds for finished events, and GET /settlements returns results for given events. POST /settlements/grade takes up to 50 selections and returns won, lost, void, half_won, half_lost, pending, or ungradeable for each one, on paid plans.
Call GET /historical/closing-lines with sport football, from and to set to last week in RFC3339 format, and markets set to the market names to backtest, then call POST /settlements/grade with the user's selections and report which won
33 endpoints — the odds-api.
METHOD
PATH
DESCRIPTION
/events
Get events for a sport
/odds
Get odds for an event
/odds/multi
Get odds for multiple events
/odds/movements
Get odds movements for a market line
/arbitrage-bets
Get arbitrage opportunities
/value-bets
Get value bets
/historical/closing-lines
Get historical closing lines
/settlements/grade
Grade bet selections
/events
Get events for a sport
/odds
Get odds for an event
/odds/multi
Get odds for multiple events
/odds/movements
Get odds movements for a market line
/arbitrage-bets
Get arbitrage opportunities
/value-bets
Get value bets
/historical/closing-lines
Get historical closing lines
/settlements/grade
Grade bet selections
What agents get from Jentic-routed access to this vendor.
Setup
Wiring Odds-API.io by hand means appending the apiKey query parameter to each authenticated call, resolving event ids before fetching odds, and choosing between delta polling and full odds pulls. Through Jentic you install once, import Odds-API.io from the API Directory, store the key once, and your agent calls it.
Permission scoping
Odds-API.io carries the event and bookmaker in query parameters rather than the URL path, so a rule bounds which operations your agent may call, such as reading odds, rather than which event. You choose the allowed operations, so account changes like bookmaker selection are not included unless you add them.
Credential isolation
Your Odds-API.io API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'compare betting odds for an event' or 'find arbitrage bets', and Jentic returns the matching Odds-API.io operation with its input schema, including required parameters like eventId and bookmakers, so the agent calls the right endpoint directly.
Alternatives and complements available in the Jentic catalogue.
Specific to using Odds-API.io - Real-Time Sports Betting Odds API (v3) API through Jentic.
What authentication does the Odds-API.io API use?
Per its OpenAPI spec, Odds-API.io authenticates with an API key sent as the apiKey query parameter. GET /sports, GET /bookmakers, and GET /markets are open and need no key, while the event, odds, opportunity, history, and settlement operations expect it. Through Jentic the key is held by your own instance and added to the request at call time, so it never appears in the agent's context.
Can I find arbitrage opportunities with the Odds-API.io API?
Yes. GET /arbitrage-bets requires a bookmakers list and returns pre-match opportunities where each leg uses one of those bookmakers, sorted by profit margin, highest first. Filter with sport, league, markets, and minProfit, and set includeEventDetails to get match info with each result.
What are the rate limits for the Odds-API.io API?
The OpenAPI spec does not specify rate limits. Check the Odds-API.io pricing and documentation at https://odds-api.io/pricing for the current limits on each plan.
Can the Odds-API.io API grade my bets?
Yes, on paid plans. POST /settlements/grade takes up to 50 selections, each with the event id, market name, side, and, where the market has one, the line and label as served on /odds, and returns won, lost, void, half_won, half_lost, pending, or ungradeable per selection.
How do I compare odds for a match through Jentic?
Search Jentic for 'compare betting odds for an event', load the Odds-API.io odds operation, and call GET /odds with the eventId and a bookmakers list. Use GET /events/search first if you only have a team name. To run it on your own infrastructure, install Jentic One from its GitHub repo.
Is there an Odds-API.io MCP server?
You do not need an MCP server to give your agent Odds-API.io. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the event, odds, and settlement operations it needs on demand.
Can I limit what my agent is allowed to do with the Odds-API.io API?
Yes. Write a rule that allows the read operations such as GET /events, GET /odds, and GET /value-bets, and the agent can research prices but cannot change your account's bookmaker selection through PUT /bookmakers/selected/select or PUT /bookmakers/selected/clear. The calls it makes are logged for review.
For Agents
Compare sports betting odds across bookmakers for an event, track odds movements and drops, find value bets and arbitrage opportunities, and grade bet selections against final results.
Use for: Compare the odds for tonight's match across three bookmakers, Find arbitrage bets with at least 2 percent profit, Show me value bets on a specific bookmaker, List the live football events right now
Not supported: Does not place bets, hold funds, or manage bookmaker accounts. Use for reading sports betting odds, opportunities, historical prices, and settlement results only.
The Odds-API.io API returns pre-match and in-play sports betting odds compared across bookmakers, together with the sports, leagues, events, and participants they belong to. Beyond raw odds for one or many events, it serves odds movements for a market line, dropping odds, value bets for a chosen bookmaker, and pre-match arbitrage opportunities sorted by profit margin. Historical endpoints return finished events, closing odds, and closing lines, and outright markets have their own odds and results. Settlement endpoints return results for events and grade bet selections as won, lost, void, or other outcomes, and native ID mappings link Odds-API.io events and markets to each bookmaker's own identifiers.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>