OpticOdds is a B2B sports betting data provider whose v3 REST API delivers real-time and historical odds aggregated from 200+ sportsbooks, covering main lines, player props, alternate markets, futures, injuries and injury predictions, fixtures, results, and same-game-parlay pricing. The platform serves sportsbook operators and traders, prediction markets, platform providers, DFS operators, betting apps, and media and affiliate businesses. Alongside the polling API it publishes Server-Sent Events streaming endpoints and RabbitMQ push queues, a bet-settlement grader, and a first-party Model Context Protocol server available both as a hosted endpoint and as an npm package. OpticOdds is part of Gambling.com Group.
OpticOdds publishes 20 API contracts indexed on the APIs.io network, including Fixtures API, Futures API, Injuries API, and 17 more. Tagged areas include Odds, Sports Betting, Sports Data, Real-Time Data, and Streaming.
The OpticOdds catalog on APIs.io includes 1 Spectral governance ruleset.
OpticOdds’ developer surface includes authentication, engineering blog, documentation, API reference, getting-started guide, support, changelog, and 30 more developer resources.
Regulatory Posture applies to this provider. Its tags matched the
Horizontal (data, software, accessibility, platform) regime, so
Regulatory Posture carries 15 points of the composite.
If this regime is wrong for your business, say so on your
provider repo — the
applicability map is public and we will correct it.
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it
carries 10 points of the composite. It is scored from the published contracts
themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already
holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in
front of it, and the first time that check is skipped a duplicate record is created.
Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet,
not penalised by it.
The six quality facets above are damped to 75 points between them,
because the conditional facet above carries the other
25. That is why each facet's contribution is shown against a damped
maximum: raising a quality facet moves the composite by 75% of its nominal
weight, not 100%. The full arithmetic is at apis.io/rating/.
Show this score on your site.
It updates itself when the score changes. Paste this where you link to your API docs:
<a href="https://apis.io/providers/opticodds/"><img src="https://apis.io/badge/opticodds/card.svg" alt="OpticOdds on APIs.io — Kin Score by API Evangelist"></a>
Other styles, a README pill and a shields.io endpoint are on the badge page.
Raise your score.
Agent readiness — checks not met, largest first (exact, from this profile):
Idempotency+9 pts — OpenAPI mutating operations declare an idempotency key — a header, a request-body property, or a named de-duplication token whose own description says so (verified); else common[].type matches /idempoten/i (documented) Ask about this →
Delegated User Identity+6 pts — a served discovery document listing authorization_code in grant_types_supported (served), else an oauth2 authorizationCode flow or openIdConnect declared in an OpenAPI (documented) Ask about this →
Typed Event Surface+6 pts — AsyncAPI document, OR webhooks/callbacks objects in the as-published OpenAPI, OR common[].type includes Webhooks Ask about this →
7 more unmet checks in the Agent Readiness table above.
Kin Score — facets with the most composite points still available (weight × headroom):
Each check links to what satisfies it. Publish the artifact, or tell us where it already lives, and the score moves on the next scoring run.
Not sure how this applies to your stack? Ask about any one item. Kin Lane reads every question, looks at your profile and your situation, and replies with what a fix would take — scoped to that one area, priced up front, yours whether you ship it or not. Ask a question →
The Kin Score Market layer reads a provider inside its market:
its position, and how deep its integrations go. Depth is only comparable within a position. Provisional and unweighted:
not part of the Kin Score or agent readiness.
Registered MCP server and declares compatibility are report only — not weighted.
Undeclared means we found nothing we can read, so there is no number: we never infer integrations.
Standards this provider implements or carries. De facto ones are profiled and measured by the API Commons; formal ones come from the standards directory and are linked by the provider's own tags. The evidence column says how each claim was established — not that it was made.
First-party Model Context Protocol server exposing 16 read-only OpticOdds tools — odds, fixtures, player props, injuries, results, line history, best-price and outlier detection...
OpticOdds ships a first-party Model Context Protocol server in BOTH deployment shapes: a hosted remote endpoint an MCP client can POST to today, and an npm-distributed local std...
Overlays applied on top of this provider's contracts. Each card says who wrote it: a document the provider publishes, or one API Evangelist derived or generated.
aid: opticodds
name: OpticOdds
description: OpticOdds is a B2B sports betting data provider whose v3 REST API delivers real-time and historical odds aggregated
from 200+ sportsbooks, covering main lines, player props, alternate markets, futures, injuries and injury predictions, fixtures,
results, and same-game-parlay pricing. The platform serves sportsbook operators and traders, prediction markets, platform
providers, DFS operators, betting apps, and media and affiliate businesses. Alongside the polling API it publishes Server-Sent
Events streaming endpoints and RabbitMQ push queues, a bet-settlement grader, and a first-party Model Context Protocol server
available both as a hosted endpoint and as an npm package. OpticOdds is part of Gambling.com Group.
type: Index
deliveryModel:
model: saas
open_source: false
commercial: true
callable_host: true
label: Hosted service · you call their endpoint
confidence: high
source:
- openapi
- pricing
generated: '2026-08-28'
method: derived
accessModel:
pricing: contact-sales
onboarding: sales-assisted
trial: true
try_now: false
public: false
label: Contact sales · Sales-assisted onboarding
confidence: high
source:
- plans
- authentication
generated: '2026-08-27'
method: searched
note: Corrected 2026-08-27. The prior freemium/self-serve label was derived from a 2026-05-04 scaffold. OpticOdds publishes
no plans or prices; opticodds.com/pricing is a lead-capture form, opticodds.com/sign-up and /login both return 404, and
the only account surface is the existing-customer dashboard at app.opticodds.com. A free trial exists but is arranged
through a sales representative.
position: Consuming
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/opticodds.png
x-docs-platform: readme
x-docs-platform-confidence: high
x-docs-platform-checked: 2026-10-04
tags:
- Odds
- Sports Betting
- Sports Data
- Real-Time Data
- Streaming
- Fixtures
- Injuries
- Prediction Markets
- MCP
tags_raw:
- Odds
- Sports Betting
- Sports Data
- Real-Time Data
- Streaming
- Fixtures
- Injuries
- Prediction Markets
- Model Context Protocol
created: '2025-02-08'
modified: '2026-08-27'
url: https://raw.githubusercontent.com/api-evangelist/opticodds/refs/heads/main/apis.yml
specificationVersion: '0.23'
common:
- type: CapabilityMap
url: capabilities/opticodds-capability-edges.yml
name: OpticOdds Business Capability Map
- type: Website
url: https://opticodds.com/
- type: AgenticAccess
url: agentic-access/opticodds-agentic-access.yml
- type: DomainSecurity
url: security/opticodds-domain-security.yml
- type: Authentication
url: authentication/opticodds-authentication.yml
- type: GitHubOrganization
url: https://github.com/OpticOdds
- type: LinkedIn
url: https://www.linkedin.com/company/opticodds
- type: LlmsText
url: https://opticodds.com/llms.txt
- type: LLMsTxt
url: llms/opticodds-llms.txt
- url: https://opticodds.com/blog
type: Blog
- type: DeveloperPortal
url: https://developer.opticodds.com/
- type: Documentation
url: https://developer.opticodds.com/reference/getting-started
- type: APIReference
url: https://developer.opticodds.com/reference/get_fixtures-odds
- type: GettingStarted
url: https://developer.opticodds.com/docs/odds-api-getting-started-guide
- type: Support
url: https://opticodds.com/contact
- type: Community
url: https://developer.opticodds.com/discuss
- type: TermsOfService
url: https://opticodds.com/terms-of-service
- type: PrivacyPolicy
url: https://opticodds.com/privacy-policy
- type: StatusPage
url: https://status.opticodds.com/
- type: Lifecycle
url: lifecycle/opticodds-lifecycle.yml
- type: ChangeLog
url: changelog/opticodds-changelog.yml
- type: Conventions
url: conventions/opticodds-conventions.yml
- type: ErrorCatalog
url: errors/opticodds-problem-types.yml
- type: DataModel
url: data-model/opticodds-data-model.yml
- type: Conformance
url: conformance/opticodds-conformance.yml
- type: Packages
url: packages/opticodds-packages.yml
- type: MCPServer
url: mcp/opticodds-mcp.yml
- type: ToolCrosswalk
url: mcp/opticodds-tool-crosswalk.yml
- type: AgentSkill
url: skills/_index.yml
- type: Overlay
url: overlays/opticodds-api-v3-overlay.yaml
- type: Plans
url: plans/opticodds-plans-pricing.yml
- type: RateLimits
url: rate-limits/opticodds-rate-limits.yml
- type: FinOps
url: finops/opticodds-finops.yml
- type: WellKnownProbe
url: well-known/opticodds-well-known.yml
- type: UsageTerms
url: terms/opticodds-terms-of-service.yml
- type: DataProcessing
url: privacy/opticodds-privacy-policy.yml
- type: Eligibility
url: eligibility/opticodds-eligibility.yml
apis:
- aid: opticodds:opticodds-mcp
name: OpticOdds MCP Server
description: 'First-party Model Context Protocol server exposing 16 read-only OpticOdds tools — odds, fixtures, player props,
injuries, results, line history, best-price and outlier detection, line comparison and bet grading. Shipped in both deployment
shapes: a hosted remote endpoint at https://api.opticodds.com/mcp and a local stdio server published to npm as opticodds-mcp.
Marketed as Sportsbook AI.'
humanURL: https://developer.opticodds.com/docs/opticodds-mcp-integration-guide
baseURL: https://api.opticodds.com/mcp
tags:
- MCP
- Agents
- Odds
tags_raw:
- Model Context Protocol
- Agents
- Odds
properties:
- type: MCPServer
url: mcp/opticodds-mcp.yml
- type: ToolCrosswalk
url: mcp/opticodds-tool-crosswalk.yml
- type: Documentation
url: https://developer.opticodds.com/docs/opticodds-mcp-integration-guide
- aid: opticodds:opticodds-fixtures-api
name: OpticOdds Fixtures API
description: Fixtures and odds.
humanURL: https://developer.opticodds.com/reference/get_fixtures
baseURL: https://api.opticodds.com/api/v3
tags:
- Fixtures
properties:
- type: OpenAPI
url: openapi/opticodds-fixtures-api-openapi.yml
- aid: opticodds:opticodds-futures-api
name: OpticOdds Futures API
description: Futures markets and odds.
humanURL: https://developer.opticodds.com/reference/get_futures
baseURL: https://api.opticodds.com/api/v3
tags:
- Futures
properties:
- type: OpenAPI
url: openapi/opticodds-futures-api-openapi.yml
- aid: opticodds:opticodds-injuries-api
name: OpticOdds Injuries API
description: Injuries and injury predictions.
humanURL: https://developer.opticodds.com/reference/get_injuries
baseURL: https://api.opticodds.com/api/v3
tags:
- Injuries
properties:
- type: OpenAPI
url: openapi/opticodds-injuries-api-openapi.yml
- aid: opticodds:opticodds-results-api
name: OpticOdds Results API
description: Game and player results.
humanURL: https://developer.opticodds.com/reference/get_fixtures-results
baseURL: https://api.opticodds.com/api/v3
tags:
- Results
properties:
- type: OpenAPI
url: openapi/opticodds-results-api-openapi.yml
- aid: opticodds:opticodds-conferences-api
name: OpticOdds Conferences API
description: The conferences API from OpticOdds — 1 operation(s) for conferences.
humanURL: https://developer.opticodds.com/reference/getting-started
baseURL: https://api.opticodds.com/api/v3
tags:
- Conferences
tags_raw:
- conferences
properties:
- type: OpenAPI
url: openapi/opticodds-conferences-api-openapi.yml
- type: Documentation
url: https://developer.opticodds.com/reference/getting-started
- aid: opticodds:opticodds-copilot-api
name: OpticOdds Copilot API
description: The copilot API from OpticOdds — 5 operation(s) for copilot.
humanURL: https://developer.opticodds.com/reference/getting-started
baseURL: https://api.opticodds.com/api/v3
tags:
- Copilot
tags_raw:
- copilot
properties:
- type: OpenAPI
url: openapi/opticodds-copilot-api-openapi.yml
- type: Documentation
url: https://developer.opticodds.com/reference/getting-started
- aid: opticodds:opticodds-divisions-api
name: OpticOdds Divisions API
description: The divisions API from OpticOdds — 1 operation(s) for divisions.
humanURL: https://developer.opticodds.com/reference/getting-started
baseURL: https://api.opticodds.com/api/v3
tags:
- Divisions
tags_raw:
- divisions
properties:
- type: OpenAPI
url: openapi/opticodds-divisions-api-openapi.yml
- type: Documentation
url: https://developer.opticodds.com/reference/getting-started
- aid: opticodds:opticodds-grader-api
name: OpticOdds Grader API
description: The grader API from OpticOdds — 2 operation(s) for grader.
humanURL: https://developer.opticodds.com/reference/getting-started
baseURL: https://api.opticodds.com/api/v3
tags:
- Grader
tags_raw:
- grader
properties:
- type: OpenAPI
url: openapi/opticodds-grader-api-openapi.yml
- type: Documentation
url: https://developer.opticodds.com/reference/getting-started
- aid: opticodds:opticodds-leagues-api
name: OpticOdds Leagues API
description: The leagues API from OpticOdds — 2 operation(s) for leagues.
humanURL: https://developer.opticodds.com/reference/getting-started
baseURL: https://api.opticodds.com/api/v3
tags:
- League
tags_raw:
- leagues
properties:
- type: OpenAPI
url: openapi/opticodds-leagues-api-openapi.yml
- type: Documentation
url: https://developer.opticodds.com/reference/getting-started
- aid: opticodds:opticodds-market-types-api
name: OpticOdds Market Types API
description: The market-types API from OpticOdds — 1 operation(s) for market-types.
humanURL: https://developer.opticodds.com/reference/getting-started
baseURL: https://api.opticodds.com/api/v3
tags:
- market-types
properties:
- type: OpenAPI
url: openapi/opticodds-market-types-api-openapi.yml
- type: Documentation
url: https://developer.opticodds.com/reference/getting-started
- aid: opticodds:opticodds-markets-api
name: OpticOdds Markets API
description: The markets API from OpticOdds — 2 operation(s) for markets.
humanURL: https://developer.opticodds.com/reference/getting-started
baseURL: https://api.opticodds.com/api/v3
tags:
- Markets
tags_raw:
- markets
properties:
- type: OpenAPI
url: openapi/opticodds-markets-api-openapi.yml
- type: Documentation
url: https://developer.opticodds.com/reference/getting-started
- aid: opticodds:opticodds-odds-api
name: OpticOdds Odds API
description: The odds API from OpticOdds — 3 operation(s) for odds.
humanURL: https://developer.opticodds.com/reference/getting-started
baseURL: https://api.opticodds.com/api/v3
tags:
- Odds
tags_raw:
- odds
properties:
- type: OpenAPI
url: openapi/opticodds-odds-api-openapi.yml
- type: Documentation
url: https://developer.opticodds.com/reference/getting-started
- aid: opticodds:opticodds-parlay-api
name: OpticOdds Parlay API
description: The parlay API from OpticOdds — 3 operation(s) for parlay.
humanURL: https://developer.opticodds.com/reference/getting-started
baseURL: https://api.opticodds.com/api/v3
tags:
- parlay
properties:
- type: OpenAPI
url: openapi/opticodds-parlay-api-openapi.yml
- type: Documentation
url: https://developer.opticodds.com/reference/getting-started
- aid: opticodds:opticodds-players-api
name: OpticOdds Players API
description: The players API from OpticOdds — 1 operation(s) for players.
humanURL: https://developer.opticodds.com/reference/getting-started
baseURL: https://api.opticodds.com/api/v3
tags:
- Player
tags_raw:
- players
properties:
- type: OpenAPI
url: openapi/opticodds-players-api-openapi.yml
- type: Documentation
url: https://developer.opticodds.com/reference/getting-started
- aid: opticodds:opticodds-queue-api
name: OpticOdds Queue API
description: The queue API from OpticOdds — 10 operation(s) for queue.
humanURL: https://developer.opticodds.com/reference/getting-started
baseURL: https://api.opticodds.com/api/v3
tags:
- Queues
tags_raw:
- queue
properties:
- type: OpenAPI
url: openapi/opticodds-queue-api-openapi.yml
- type: Documentation
url: https://developer.opticodds.com/reference/getting-started
- aid: opticodds:opticodds-sports-api
name: OpticOdds Sports API
description: The sports API from OpticOdds — 2 operation(s) for sports.
humanURL: https://developer.opticodds.com/reference/getting-started
baseURL: https://api.opticodds.com/api/v3
tags:
- Sports
tags_raw:
- sports
properties:
- type: OpenAPI
url: openapi/opticodds-sports-api-openapi.yml
- type: Documentation
url: https://developer.opticodds.com/reference/getting-started
- aid: opticodds:opticodds-sportsbooks-api
name: OpticOdds Sportsbooks API
description: The sportsbooks API from OpticOdds — 3 operation(s) for sportsbooks.
humanURL: https://developer.opticodds.com/reference/getting-started
baseURL: https://api.opticodds.com/api/v3
tags:
- Sportsbook
tags_raw:
- sportsbooks
properties:
- type: OpenAPI
url: openapi/opticodds-sportsbooks-api-openapi.yml
- type: Documentation
url: https://developer.opticodds.com/reference/getting-started
- aid: opticodds:opticodds-teams-api
name: OpticOdds Teams API
description: The teams API from OpticOdds — 1 operation(s) for teams.
humanURL: https://developer.opticodds.com/reference/getting-started
baseURL: https://api.opticodds.com/api/v3
tags:
- Team
tags_raw:
- teams
properties:
- type: OpenAPI
url: openapi/opticodds-teams-api-openapi.yml
- type: Documentation
url: https://developer.opticodds.com/reference/getting-started
- aid: opticodds:opticodds-tournaments-api
name: OpticOdds Tournaments API
description: The tournaments API from OpticOdds — 2 operation(s) for tournaments.
humanURL: https://developer.opticodds.com/reference/getting-started
baseURL: https://api.opticodds.com/api/v3
tags:
- Tournaments
tags_raw:
- tournaments
properties:
- type: OpenAPI
url: openapi/opticodds-tournaments-api-openapi.yml
- type: Documentation
url: https://developer.opticodds.com/reference/getting-started
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
x-pointer-notes:
no_pricing_pointer: opticodds.com/pricing returns HTTP 200 but is a three-step lead-capture form with no price, tier, quota
or currency on it. The pricing_link check reads public pricing, and "contact us" is not that, so no Pricing pointer is
emitted. See plans/opticodds-plans-pricing.yml.
no_signup_pointer: opticodds.com/sign-up and opticodds.com/login both return 404. app.opticodds.com is an existing-customer
dashboard login, not a self-service registration path, so no SignUp or Login pointer is emitted.
no_wellknown_pointer: Every /.well-known/ path probed 404 on all three hosts. The probe record is wired as WellKnownProbe
so the measurement is not lost, deliberately NOT as WellKnown, which would assert a served surface.
no_webhooks_pointer: OpticOdds states in its API FAQ that it offers neither webhooks nor WebSockets. The event surface is
SSE and RabbitMQ, captured in conventions/opticodds-conventions.yml.
no_deprecation_pointer: Removals are announced in the changelog and the v2-to-v3 migration guide, but no deprecation policy,
notice period, or Sunset/Deprecation header is published.
no_security_or_compliance_pointer: No security.txt, no vulnerability-disclosure page, no bug bounty, and no trust center
or published certification were found. trust.opticodds.com does not resolve; opticodds.com/security returns 404.
no_sdks_pointer: OpticOdds publishes no first-party REST client library in any registry. The one first-party npm package,
opticodds-mcp, is an MCP server rather than an SDK, and the only REST client on npm is a community package under the third-party
@sports-sdk scope.
x-enrichment:
date: '2026-08-27'
status: enriched
artifacts_added: 18
pass: local-v1
OpticOdds API — frequently asked questions
Does OpticOdds have an API?
Yes. APIs.io lists 20 APIs from OpticOdds, including OpticOdds MCP Server, OpticOdds Fixtures API and OpticOdds Futures API, and 17 more.
Is there an OpenAPI specification for the OpticOdds API?
Yes. APIs.io indexes 19 OpenAPI specifications for OpticOdds, each linked for download from this page.
How do I authenticate with the OpticOdds API?
OpticOdds uses bearer-token authentication (apiKey · 3 schemes). The details are profiled on APIs.io as OpticOdds Authentication.
Does OpticOdds have an MCP server?
Yes. APIs.io lists 1 MCP server for OpticOdds: OpticOdds ships a first-party Model Context Protocol server in BOTH deployment shapes: a hosted remote endpoint an MCP client can POST to today, and an npm-distributed local stdio server launched with
Is the OpticOdds API ready for AI agents?
OpticOdds has a Kin Score of 46.4 out of 100 (developing) and an Agent Readiness score of 30.3 (agent-ready), scored by API Evangelist on 2026-11-13.
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.