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-results-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 Results API
version: '1.0'
description: 'Operations tagged results across 2 of this provider''s published API definitions: opticodds-api-v3-openapi.json, opticodds-results-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: results
paths:
/fixtures/player-results:
get:
security:
- ApiKeyHeader: []
- ApiKeyQuery: []
description: Returns player-level results (stats, market stats) grouped by fixture. At least one of fixture_id, player_id, or team_id is required.
tags:
- results
summary: Get player results by fixture
parameters:
- description: 'Fixture IDs (max 50). Example: ''202604020E7921D1'''
name: fixture_id
in: query
style: form
explode: false
schema:
type: array
items:
type: string
- description: 'Player IDs (max 50, use GET /players for valid values). Example: ''3C093E0F82BD'''
name: player_id
in: query
style: form
explode: false
schema:
type: array
items:
type: string
- description: 'Team IDs (max 50, use GET /teams for valid values). Example: ''73AEB6743EC2'''
name: team_id
in: query
style: form
explode: false
schema:
type: array
items:
type: string
- description: Filter by player status
name: status
in: query
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.FixturePlayerResultsEnvelope'
'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'
'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
/fixtures/player-results/last-x:
get:
security:
- ApiKeyHeader: []
- ApiKeyQuery: []
description: Returns aggregated player stats across recent fixtures. Provide player_id or team_id.
tags:
- results
summary: Get aggregated player stats over last N games
parameters:
- description: 'Player IDs (max 20, use GET /players for valid values). Example: ''3C093E0F82BD'''
name: player_id
in: query
style: form
explode: false
schema:
type: array
items:
type: string
- description: 'Team IDs (max 1, use GET /teams for valid values). Example: ''73AEB6743EC2'''
name: team_id
in: query
style: form
explode: false
schema:
type: array
items:
type: string
- description: Number of recent games (1-30)
name: lookback_num
in: query
schema:
type: integer
- description: 'Filter by season year. Example: ''2025-2026'''
name: season_year
in: query
schema:
type: string
- description: Earliest date (YYYY-MM-DD or RFC3339)
name: earliest_date
in: query
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.PlayerResultsLastXEnvelope'
'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'
'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
/fixtures/results:
get:
security:
- ApiKeyHeader: []
- ApiKeyQuery: []
description: Returns results (scores, stats, events) for completed fixtures. Filter by fixture_id or team_id (not both).
tags:
- results
summary: Get fixture results
parameters:
- description: 'Fixture IDs (max 50). Example: ''202604020E7921D1'''
name: fixture_id
in: query
style: form
explode: false
schema:
type: array
items:
type: string
- description: 'Team IDs (max 50, use GET /teams for valid values). Example: ''73AEB6743EC2'''
name: team_id
in: query
style: form
explode: false
schema:
type: array
items:
type: string
- description: Number of recent results to return (1-25, team_id only)
name: lookback_num
in: query
schema:
type: integer
- description: Include cancelled fixtures
name: include_cancelled
in: query
schema:
type: boolean
default: false
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.FixtureResultsEnvelope'
'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'
'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
/fixtures/results/head-to-head:
get:
security:
- ApiKeyHeader: []
- ApiKeyQuery: []
description: Returns past matchup results between two specific teams
tags:
- results
summary: Get head-to-head fixture results
parameters:
- description: 'First team ID (use GET /teams for valid values). Example: ''73AEB6743EC2'''
name: team1_id
in: query
required: true
schema:
type: string
- description: 'Second team ID. Example: ''9F1B2C3D4E5F'''
name: team2_id
in: query
required: true
schema:
type: string
- description: Number of recent matchups to return (1-25)
name: lookback_num
in: query
schema:
type: integer
default: 5
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.FixtureResultsEnvelope'
'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'
'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.Scores:
type: object
properties:
away:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.Score'
home:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.Score'
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.FixtureResultResponse:
type: object
properties:
events: {}
extra:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.FixtureResultExtra'
fixture:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.FixtureResultDetail'
in_play:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.FullInPlayData'
last_checked_at:
type: string
league:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.BaseLeague'
market_stats:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.TeamMarketStats'
retirement_info:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.RetirementInfo'
scores:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.Scores'
sport:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.BaseSport'
stats:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.TeamStats'
sub_scores: {}
github_com_opticodds_api-go_internal_v3_response.Competitor:
type: object
properties:
abbreviation:
type: string
example: LAL
base_id:
type: integer
example: 100
id:
type: string
example: lakers
logo:
type: string
example: https://cdn.opticodds.com/logos/lakers.png
name:
type: string
example: Los Angeles Lakers
numerical_id:
type: integer
example: 1
github_com_opticodds_api-go_internal_v3_response.TeamMarketStats:
type: object
properties:
away:
type: object
additionalProperties: {}
home:
type: object
additionalProperties: {}
github_com_opticodds_api-go_internal_v3_response.PeriodStats:
type: object
properties:
period:
type: string
stats:
type: object
additionalProperties: {}
github_com_opticodds_api-go_internal_v3_response.GameScore:
type: object
properties:
away:
type: string
home:
type: string
github_com_opticodds_api-go_internal_v3_response.Score:
type: object
properties:
aggregate:
type: number
periods:
type: object
additionalProperties:
type: number
format: float64
total:
type: number
example: 110
github_com_opticodds_api-go_internal_v3_response.PlayerResultLastXEntry:
type: object
properties:
is_starter:
type: array
items:
type: boolean
league:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.BaseLeague'
market_stats:
type: object
additionalProperties: {}
player:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.BasePlayer'
sport:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.BaseSport'
stats:
type: object
additionalProperties: {}
team:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.BaseTeam'
github_com_opticodds_api-go_internal_v3_response.FixtureResultDetail:
type: object
properties:
away_competitors:
type: array
items:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.Competitor'
away_team_display:
type: string
game_id:
type: string
home_competitors:
type: array
items:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.Competitor'
home_team_display:
type: string
id:
type: string
is_live:
type: boolean
numerical_id:
type: integer
season_type:
type: string
season_week:
type: string
season_year:
type: string
start_date:
type: string
status:
type: string
tournament:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.Tournament'
tournament_stage:
type: string
venue_location:
type: string
venue_name:
type: string
venue_neutral:
type: boolean
github_com_opticodds_api-go_internal_v3_response.InPlayPlayer:
type: object
properties:
player_id:
type: string
player_name:
type: string
team_id:
type: string
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.BaseTeam:
type: object
properties:
base_id:
type: integer
example: 100
id:
type: string
example: lakers
name:
type: string
example: Los Angeles Lakers
numerical_id:
type: integer
example: 1
github_com_opticodds_api-go_internal_v3_response.RetirementInfo:
type: object
properties:
walkover:
type: boolean
winner:
type: string
winner_team_id:
type: string
github_com_opticodds_api-go_internal_v3_response.TeamStats:
type: object
properties:
away:
type: array
items:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.PeriodStats'
home:
type: array
items:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.PeriodStats'
github_com_opticodds_api-go_internal_v3_response.FullInPlayData:
type: object
properties:
balls:
type: integer
batter:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.InPlayPlayer'
clock:
type: string
distance_to_go:
type: string
down:
type: integer
field_position:
type: string
game_score:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.GameScore'
is_clock_stopped:
type: boolean
last_play:
type: string
outs:
type: integer
period:
type: string
period_number:
type: integer
pitcher:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.InPlayPlayer'
possession:
type: string
runners:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.InPlayRunners'
strikes:
type: integer
time_min:
type: integer
time_sec:
type: integer
github_com_opticodds_api-go_internal_v3_response.PlayerResultsLastXEnvelope:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.PlayerResultLastXEntry'
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.FixtureResultExtra:
type: object
properties:
attendance:
type: integer
capacity:
type: integer
decision:
type: string
decision_method:
type: string
duration:
type: string
toss_decision:
type: string
github_com_opticodds_api-go_internal_v3_response.BasePlayer:
type: object
properties:
base_id:
type: integer
example: 100
id:
type: string
example: lebron-james
name:
type: string
example: LeBron James
number:
type: integer
example: 23
numerical_id:
type: integer
example: 1
position:
type: string
example: SF
github_com_opticodds_api-go_internal_v3_response.FixturePlayerResultsEnvelope:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.FixturePlayerResultsResponse'
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.FixtureResultsEnvelope:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.FixtureResultResponse'
github_com_opticodds_api-go_internal_v3_response.PlayerResultEntry:
type: object
properties:
is_starter:
type: boolean
market_stats:
type: object
additionalProperties: {}
player:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.BasePlayer'
stats:
type: array
items:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.PeriodStats'
status:
type: string
team:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.BaseTeam'
github_com_opticodds_api-go_internal_v3_response.InPlayRunners:
type: object
properties:
first:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.InPlayPlayer'
second:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.InPlayPlayer'
third:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.InPlayPlayer'
github_com_opticodds_api-go_internal_v3_response.FixturePlayerResultsResponse:
type: object
properties:
fixture:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.FixtureResultDetail'
league:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.BaseLeague'
results:
type: array
items:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.PlayerResultEntry'
sport:
$ref: '#/components/schemas/github_com_opticodds_api-go_internal_v3_response.BaseSport'
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-results-api-openapi.yml