MLB API endpoint
Returns American League and National League standings, including source-provided expected, home/away, last-ten, ranking, and elimination fields when available, using any supported standings type returned by mlb_discovery.
/mlb/standingsseason defaults to the current year. type defaults to regularSeason and accepts: regularSeason, wildCard, divisionLeaders, wildCardWithLeaders, firstHalf, secondHalf, springTraining, postseason, byDivision, byConference, byLeague, byOrganization, currentHalf. Results cover the American and National Leagues and are grouped according to the selected standings type. See /mlb/discovery for current MLB metadata.
Optional date uses YYYY-MM-DD and returns the snapshot as of that date. If omitted, the upstream returns its current standings snapshot.
Each team includes the standard standings fields and source-provided expanded fields when present: games played, elimination and magic numbers, expected W-L record, home record, away record, and last-ten record. Records may be absent for standings types or snapshots where MLB does not return them. Next-game scheduling and the screenshot's ≥.500 split are not included.
| Field | Filled in, of 6 checked | Values in the sample |
|---|---|---|
| league | 6 | |
| division | 6 | |
| type | 6 | regularSeason in all 6 |
| teams | 6 | median 5 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| season | integer | No | current year | Four-digit season; defaults to current year | 2026 |
| type | string | No | Standings type Allowed values: regularSeason, wildCard, divisionLeaders, wildCardWithLeaders, firstHalf, secondHalf, springTraining, postseason, byDivision, byConference, byLeague, byOrganization, currentHalf. | ||
| date | string | No | Snapshot date in YYYY-MM-DD format; returns standings as of that date | 2026-09-27 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/mlb/standings?type=regularSeason" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"season": 2026,
"type": "regularSeason",
"date": "2026-09-27",
"groups": [
{
"division": {
"id": 201,
"name": "AL East"
},
"teams": [
{
"team": {
"id": 139,
"name": "Tampa Bay Rays"
},
"wins": 98,
"losses": 64,
"games_played": 162,
"winning_percentage": ".605",
"expected_record": {
"wins": 90,
"losses": 72,
"pct": ".556"
},
"home_record": {
"wins": 55,
"losses": 26,
"pct": ".679"
},
"away_record": {
"wins": 43,
"losses": 38,
"pct": ".531"
},
"last_ten_record": {
"wins": 5,
"losses": 5,
"pct": ".500"
},
"streak": "L1"
}
]
}
]
}
}Request schema
No body schema
Response schema
#/definitions/mlb.standingsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | mlb.StandingsResponse | No | ||||
| data.date | string | No | ||||
| data.fetched_at | string | No | ||||
| data.groups | array | No | ||||
| data.groups[].division | mlb.NamedRef | No | ||||
| data.groups[].division.id | integer | No | MLB id of the player or league. | |||
| data.groups[].division.name | string | No | Name of the player or league. | |||
| data.groups[].league | mlb.NamedRef | No | ||||
| data.groups[].league.id | integer | No | MLB id of the player or league. | |||
| data.groups[].league.name | string | No | Name of the player or league. | |||
| data.groups[].teams | array | No | ||||
| data.groups[].teams[].away_record | mlb.Record | No | ||||
| data.groups[].teams[].away_record.losses | integer | No | ||||
| data.groups[].teams[].away_record.pct | string | No | ||||
| data.groups[].teams[].away_record.wins | integer | No | ||||
| data.groups[].teams[].clinched | boolean | No | ||||
| data.groups[].teams[].division_leader | boolean | No | ||||
| data.groups[].teams[].division_rank | string | No | ||||
| data.groups[].teams[].elimination_number | string | No | ||||
| data.groups[].teams[].expected_record | mlb.Record | No | ||||
| data.groups[].teams[].expected_record.losses | integer | No | ||||
| data.groups[].teams[].expected_record.pct | string | No | ||||
| data.groups[].teams[].expected_record.wins | integer | No | ||||
| data.groups[].teams[].games_back | string | No | ||||
| data.groups[].teams[].games_played | integer | No | ||||
| data.groups[].teams[].home_record | mlb.Record | No | ||||
| data.groups[].teams[].home_record.losses | integer | No | ||||
| data.groups[].teams[].home_record.pct | string | No | ||||
| data.groups[].teams[].home_record.wins | integer | No | ||||
| data.groups[].teams[].last_ten_record | mlb.Record | No | ||||
| data.groups[].teams[].last_ten_record.losses | integer | No | ||||
| data.groups[].teams[].last_ten_record.pct | string | No | ||||
| data.groups[].teams[].last_ten_record.wins | integer | No | ||||
| data.groups[].teams[].league_rank | string | No | ||||
| data.groups[].teams[].losses | integer | No | ||||
| data.groups[].teams[].magic_number | string | No | ||||
| data.groups[].teams[].run_differential | integer | No | ||||
| data.groups[].teams[].runs_allowed | integer | No | ||||
| data.groups[].teams[].runs_scored | integer | No | ||||
| data.groups[].teams[].streak | string | No | ||||
| data.groups[].teams[].team | mlb.TeamRef | No | ||||
| data.groups[].teams[].team.abbreviation | string | No | Short team abbreviation, for example `NYY`. Omitted when not available. | |||
| data.groups[].teams[].team.id | integer | No | MLB team id. | |||
| data.groups[].teams[].team.name | string | No | Full team name. | |||
| data.groups[].teams[].wild_card_games_back | string | No | ||||
| data.groups[].teams[].winning_percentage | string | No | ||||
| data.groups[].teams[].wins | integer | No | ||||
| data.groups[].type | string | No | ||||
| data.season | integer | No | ||||
| data.source_url | string | No | ||||
| data.type | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/mlb/standings?type=regularSeason" \
-H "x-api-key: $CRAWLORA_API_KEY"