Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/opticodds-futures-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Opticodds Futures API
version: '1.0'
description: 'Operations tagged futures across 2 of this provider''s published API definitions: opticodds-api-v3-openapi.json, opticodds-futures-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.opticodds.com/v3
- url: https://api.opticodds.com/api/v3
description: OpticOdds API v3 base
tags:
- name: futures
paths:
/futures:
get:
security:
- ApiKeyHeader: []
- ApiKeyQuery: []
description: Returns available future markets filtered by league or tournament
tags:
- futures
summary: List future markets
parameters:
- description: 'League IDs (use GET /leagues for valid values). Example: ''nba'''
name: league
in: query
style: form
explode: false
schema:
type: array
items:
type: string
- description: 'Tournament IDs (use GET /tournaments for valid values). Example: ''pga-masters-2025'''
name: tournament_id
in: query
style: form
explode: false
schema:
type: array
items:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.FuturesEnvelope'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.ErrorResponse'
servers:
- url: https://api.opticodds.com/v3
/futures/odds:
get:
security:
- ApiKeyHeader: []
- ApiKeyQuery: []
description: Returns future odds filtered by league, sportsbook, future market, player, or team
tags:
- futures
summary: Get future odds
parameters:
- description: 'Sportsbook IDs (1-5 required, use GET /sportsbooks for valid values). Example: ''draftkings'''
name: sportsbook
in: query
required: true
style: form
explode: false
schema:
type: array
items:
type: string
- description: 'League IDs (use GET /leagues for valid values). Example: ''nba'''
name: league
in: query
style: form
explode: false
schema:
type: array
items:
type: string
- description: 'Future IDs (from GET /futures). Example: ''type_mvp-sport_basketball-league_nba'''
name: future_id
in: query
style: form
explode: false
schema:
type: array
items:
type: string
- description: 'Future market names to filter by. Example: ''mvp'''
name: future
in: query
style: form
explode: false
schema:
type: array
items:
type: string
- description: Player IDs (use GET /players for valid values)
name: player_id
in: query
style: form
explode: false
schema:
type: array
items:
type: string
- description: Team IDs (use GET /teams for valid values)
name: team_id
in: query
style: form
explode: false
schema:
type: array
items:
type: string
- description: Selection names to filter by (requires future param)
name: name
in: query
style: form
explode: false
schema:
type: array
items:
type: string
- description: Filter by main line status
name: is_main
in: query
schema:
type: boolean
- description: Odds format
name: odds_format
in: query
schema:
type: string
enum:
- american
- decimal
- probability
- malay
- hong_kong
- indonesian
default: american
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.FutureOddsEnvelope'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.ErrorResponse'
servers:
- url: https://api.opticodds.com/v3
components:
schemas:
github_com_opticodds_api-go_internal_v3_response.Tournament:
type: object
properties:
end_date:
type: string
example: '2025-06-20T00:00:00Z'
id:
type: string
example: nba-playoffs-2025
name:
type: string
example: NBA Playoffs 2025
numerical_id:
type: integer
example: 50
start_date:
type: string
example: '2025-04-15T00:00:00Z'
github_com_opticodds_api-go_internal_v3_response.FutureMarketResponse:
type: object
properties:
future_type:
type: string
id:
type: string
league:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.BaseLeague'
name:
type: string
sport:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.BaseSport'
start_date:
type: string
tournament:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.Tournament'
github_com_opticodds_api-go_internal_v3_response.FutureWithOdds:
type: object
properties:
future_type:
type: string
id:
type: string
league:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.BaseLeague'
name:
type: string
odds:
type: array
items:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.FutureOdd'
sport:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.BaseSport'
start_date:
type: string
tournament:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.Tournament'
github_com_opticodds_api-go_internal_v3_response.BaseLeague:
type: object
properties:
id:
type: string
example: nba
name:
type: string
example: NBA
numerical_id:
type: integer
example: 3
github_com_opticodds_api-go_internal_v3_response.FuturesEnvelope:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.FutureMarketResponse'
github_com_opticodds_api-go_internal_v3_response.ErrorResponse:
type: object
properties:
error:
type: string
example: Invalid API key
github_com_opticodds_api-go_internal_v3_response.FutureOdd:
type: object
properties:
id:
type: string
is_main:
type: boolean
market:
type: string
market_id:
type: string
name:
type: string
normalized_selection:
type: string
player_id:
type: string
points:
type: number
price:
type: number
selection:
type: string
selection_line:
type: string
sportsbook:
type: string
team_id:
type: string
timestamp:
type: number
github_com_opticodds_api-go_internal_v3_response.BaseSport:
type: object
properties:
id:
type: string
example: basketball
name:
type: string
example: Basketball
numerical_id:
type: integer
example: 2
github_com_opticodds_api-go_internal_v3_response.FutureOddsEnvelope:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.FutureWithOdds'
Collection:
type: object
properties:
data:
type: array
items:
type: object
additionalProperties: true
securitySchemes:
ApiKeyHeader:
description: API key passed via X-Api-Key header
type: apiKey
name: X-Api-Key
in: header
ApiKeyQuery:
description: API key passed via query parameter
type: apiKey
name: key
in: query
apiKeyHeader:
type: apiKey
in: header
name: X-Api-Key
description: OpticOdds API key supplied in the X-Api-Key header.
apiKeyQuery:
type: apiKey
in: query
name: key
description: OpticOdds API key supplied via the `key` query parameter.
externalDocs:
description: OpticOdds API Reference
url: https://developer.opticodds.com
x-refined-from:
- opticodds-api-v3-openapi.json
- opticodds-futures-api-openapi.yml