Catalog / Action Network

Action Network API

actionnetwork.com

Read-only live access to Action Network's public sports navigation, league metadata, dated event listings, event details, and bookmaker moneyline, spread, and total odds. Coverage follows the markets the source publishes for each sport; paid picks, account operations, and authenticated features are not served.

  • sports
  • events
  • odds
  • bookmakers
  • action-network
5 endpointsDocs updated

Endpoint health

Loading verification…

Connect your agent

Connect through MCP so your agent can find this API, read its docs, and call its endpoints.

Setup guide

Add the server from your terminal.

Claude Code · terminal
claude mcp add --transport http agent-data https://agent-data.motie.dev/mcp

In Claude Code, run /mcp, select agent-data, then Authenticate. Sign in to your agent-data account in the browser.

Then ask your agent to use the Action Network API for your task.

Call it over HTTP

Get an API key

Sign up free, generate an API key, and set it as AGENT_DATA_API_KEY in your environment. Your first 100 calls each month are free.

List dated events for a league

Action Network league slug

Source scoreboard date in YYYY-MM-DD; use date navigation to request another day

Optional parameters 2

One-based page over the source events returned for the date

Maximum events per response

View call pricing
cURL · Events
curl --request GET --get 'https://api.agent-data.dev/actionnetwork-com/v1/events' \
  --header "Authorization: Bearer $AGENT_DATA_API_KEY" \
  --data-urlencode 'league=mlb' \
  --data-urlencode 'date=2026-09-22'

Endpoints

Inputs and response fields for every endpoint in this API.

GETEvents/v1/events

List dated events for a league

Input

leagueRequiredQuery · string

Action Network league slug

Example: mlb

dateRequiredQuery · string

Source scoreboard date in YYYY-MM-DD; use date navigation to request another day

Example: 2026-09-22

pageOptionalQuery · integer, min: 1, max: 100, default: 1

One-based page over the source events returned for the date

Example: 1

limitOptionalQuery · integer, min: 1, max: 100, default: 20

Maximum events per response

Example: 20

Response

dataobject
data.datestring
data.pageinteger
data.itemsobject[]
data.items[].teamsobject[]
data.items[].teams[].namestring
data.items[].teams[].team_idinteger
data.items[].teams[].location?string | null
data.items[].teams[].abbreviation?string | null
data.items[].leaguestring
data.items[].statusstring
data.items[].event_idinteger
data.items[].start_timestring
data.items[].status_displaystring
data.items[].markets_availablestring[]
data.items[].source_updated_at?string | null
data.limitinteger
data.leaguestring
data.sourcestring
data.next_page?integer | null
data.fetched_atstring
transport?string, default: curl_cffi_residential
request_idstring

Fields marked ? are optional.

GETSports/v1/sports

Return public league odds pages linked by Action Network's navigation.

Input

No input parameters.

Response

dataobject
data.itemsobject[]
data.items[].slugstring
data.items[].nav_label?string | null
data.items[].odds_pathstring
data.sourcestring
data.fetched_atstring
transport?string, default: curl_cffi_residential
request_idstring

Fields marked ? are optional.

GETLeagues by league/v1/leagues/{league}

Read a supported league's metadata

Input

leagueRequiredPath · string

Action Network league slug, for example mlb or nba

Example: mlb

Response

dataobject
data.namestring
data.slugstring
data.sport?string | null
data.league_id?integer | null
data.updated_at?string | null
data.description?string | null
data.source_pathstring
data.current_season?string | integer | null
data.current_season_type?string | null
transport?string, default: curl_cffi_residential
request_idstring

Fields marked ? are optional.

GETEvents by event id/v1/events/{event_id}

Retrieve an event and its public odds

Input

event_idRequiredPath · integer

Event identifier returned by the events endpoint

Example: 296099

leagueRequiredQuery · string

League containing the event

Example: mlb

dateRequiredQuery · string

Date on which Action Network lists the event, in YYYY-MM-DD

Example: 2026-09-22

Response

dataobject
data.oddsobject[]
data.odds[].line?number | null
data.odds[].oddsinteger
data.odds[].market"moneyline" | "spread" | "total"
data.odds[].is_liveboolean
data.odds[].bookmakerstring
data.odds[].selectionstring
data.odds[].outcome_idstring
data.odds[].captured_atstring
data.odds[].odds_formatstring
data.odds[].bookmaker_idinteger
data.odds[].source_updated_at?string | null
data.teamsobject[]
data.teams[].namestring
data.teams[].team_idinteger
data.teams[].location?string | null
data.teams[].abbreviation?string | null
data.leaguestring
data.statusstring
data.event_idinteger
data.start_timestring
data.status_displaystring
data.markets_availablestring[]
data.source_updated_at?string | null
transport?string, default: curl_cffi_residential
request_idstring

Fields marked ? are optional.

GETEvents by event id odds/v1/events/{event_id}/odds

Read bookmaker odds for an event

Input

event_idRequiredPath · integer

Event identifier returned by the events endpoint

Example: 296099

leagueRequiredQuery · string

League containing the event

Example: mlb

dateRequiredQuery · string

Date on which Action Network lists the event, in YYYY-MM-DD

Example: 2026-09-22

marketOptionalQuery · "moneyline" | "spread" | "total" | null

Optional market filter

Example: moneyline

Response

dataobject
data.eventobject
data.event.teamsobject[]
data.event.teams[].namestring
data.event.teams[].team_idinteger
data.event.teams[].location?string | null
data.event.teams[].abbreviation?string | null
data.event.leaguestring
data.event.statusstring
data.event.event_idinteger
data.event.start_timestring
data.event.status_displaystring
data.event.markets_availablestring[]
data.event.source_updated_at?string | null
data.itemsobject[]
data.items[].line?number | null
data.items[].oddsinteger
data.items[].market"moneyline" | "spread" | "total"
data.items[].is_liveboolean
data.items[].bookmakerstring
data.items[].selectionstring
data.items[].outcome_idstring
data.items[].captured_atstring
data.items[].odds_formatstring
data.items[].bookmaker_idinteger
data.items[].source_updated_at?string | null
data.market?string | null
data.sourcestring
data.fetched_atstring
transport?string, default: curl_cffi_residential
request_idstring

Fields marked ? are optional.

Don’t see the endpoint you need?

Ask agent-data to add an endpoint or return more fields. Extensions are free and keep existing endpoints working.