MLB Game Intelligence API avatar

MLB Game Intelligence API

Pricing

from $2.00 / 1,000 mlb data results

Go to Apify Store
MLB Game Intelligence API

MLB Game Intelligence API

Cache-first MLB schedules, standings, highlights, lineups and game intelligence.

Pricing

from $2.00 / 1,000 mlb data results

Rating

0.0

(0)

Developer

Fetch Finch

Fetch Finch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Structured, cache-aware Major League Baseball data for dashboards, newsletters, fantasy tools, analytics pipelines, and AI agents.

This Actor turns a broad MLB data feed into simple, repeatable workflows. Use it to retrieve a game-day briefing, current standings, team information, recent form, head-to-head history, match detail, lineups, box scores, player profiles, and season statistics.

Start here

The default mode is read_cache. It is safe to run repeatedly and returns the latest available cached record. Every response tells you whether the requested record was found, when it was collected, and when it should be refreshed.

{
"mode": "read_cache",
"resource": "game_day"
}

The Actor maintains a shared cache so repeated requests are fast and predictable. If a requested item is not currently available, the Actor returns cacheHit: false instead of returning made-up data.

Capabilities

ResourceWhat it returnsCommon identifiers
game_dayCombined games, standings, and highlights briefingdate, timezone
matchesScheduled and completed MLB games, scores, state, teams, and inning linesdate, season
highlightsAvailable video highlights and match associationsdate
standingsAmerican and National League standings with detailed stat fieldsseason
teamsMLB team directory, abbreviations, logos, and stable IDs
teamA single team profileteamId
team_statisticsTeam totals plus home/away performance splitsteamId, date
last_five_gamesA team’s latest five completed gamesteamId
head_to_headRecent results between two teamsteamIdOne, teamIdTwo
matchMatch detail including venue, forecast, officials, rosters, plays, and statsmatchId
lineupsHome and away lineups for a matchmatchId
box_scoresPer-player batting and pitching performance for a matchmatchId
match_statisticsTeam-level match statisticsmatchId
playerPlayer profile and current team informationplayerId
player_statisticsPer-season player batting and pitching statisticsplayerId

How requests work

Requests use the read_cache mode. It reads the named resource and writes one structured item to the default dataset.

{
"mode": "read_cache",
"resource": "matches",
"date": "2026-08-24",
"timezone": "America/New_York"
}

Responses include:

  • cacheHit: whether a matching record exists.
  • stale: whether the refresh deadline has passed.
  • cachedAt: collection timestamp.
  • refreshAfter: recommended next refresh timestamp.
  • data: the original structured data for the resource.

Input reference

FieldTypeUsed byNotes
modestringallUse read_cache; it is the default
resourcestringallSelect one resource from the capability table
datestringmatches, highlightsYYYY-MM-DD; defaults to the current UTC date
seasonintegermatches, standingsOptional season year
timezonestringmatches, highlightsIANA timezone, default America/New_York
matchIdintegermatch, lineups, box scores, match statisticsStable match ID from matches
teamIdintegerteam, team statistics, last five gamesStable team ID from teams or matches
teamIdOneintegerhead-to-headFirst stable team ID
teamIdTwointegerhead-to-headSecond stable team ID
playerIdintegerplayer, player statisticsStable player ID from box scores or player data

Customer examples

Today’s game-day briefing

{ "mode": "read_cache", "resource": "game_day" }

Games on a specific date

{
"mode": "read_cache",
"resource": "matches",
"date": "2026-08-24",
"timezone": "America/New_York"
}

Current standings

{ "mode": "read_cache", "resource": "standings" }

Video highlights

{
"mode": "read_cache",
"resource": "highlights",
"date": "2026-08-24"
}

Team profile and form

{ "mode": "read_cache", "resource": "team", "teamId": 10291183 }
{ "mode": "read_cache", "resource": "last_five_games", "teamId": 10291183 }

Head-to-head comparison

{
"mode": "read_cache",
"resource": "head_to_head",
"teamIdOne": 10291183,
"teamIdTwo": 10291186
}

Match intelligence

{ "mode": "read_cache", "resource": "match", "matchId": 1598849 }

Lineups and box scores

{ "mode": "read_cache", "resource": "lineups", "matchId": 1598849 }
{ "mode": "read_cache", "resource": "box_scores", "matchId": 1598050 }

Player card and season statistics

{ "mode": "read_cache", "resource": "player", "playerId": 73769102 }
{ "mode": "read_cache", "resource": "player_statistics", "playerId": 73769102 }

Data freshness

The Actor serves shared cached records and includes freshness metadata with every response. This keeps customer runs fast and predictable while making it easy to display a “last updated” label or retry when a record is not yet available.

Finding IDs

  1. Run teams once to build a team lookup table.
  2. Run matches for a date to obtain match IDs and both team IDs.
  3. Use a match box score to discover player IDs for player profile and season-stat lookups.
  4. Pass those stable IDs to the detail resources.

Output and downstream use

The Actor writes JSON items to the default dataset. Nested structures are preserved so no statistical detail is discarded. Dataset output can be exported from Apify as JSON, CSV, Excel, XML, or consumed through the Apify API and MCP integrations.

Cache metadata is intentionally included with every item. Applications can accept fresh records, display a “last updated” label, or queue a refresh when stale is true.

Saved task catalog

The Actor includes twelve ready-to-run saved read tasks:

The first four tasks use the default game-day cache. Identifier-based examples depend on the requested match, team, and player records being available in the shared cache.

Troubleshooting

cacheHit: false — The requested record is not currently available, or the requested date/ID combination differs from the cached key. Retry later or try another date or identifier.

A detail resource is empty — Some records are naturally unavailable before a game starts. Try a completed match for box scores and match statistics, and query lineups close to game time.

Wrong date or timezone — Dates are interpreted with the selected IANA timezone for date-based resources. Use an explicit timezone when building a daily dashboard.

Need a new resource — The Actor is designed to add cacheable resources without changing the customer-facing read pattern. Request the resource and include the expected IDs and freshness requirements.

Important notes

  • This Actor is for MLB data workflows and does not currently expose betting-odds resources.
  • Cache freshness depends on the refresh cadence for the requested resource.
  • A cache miss is reported honestly; the Actor never fabricates a result or silently performs an unplanned live request.