MLB API endpoint
Returns the game-level play details displayed when expanding a Run, Fld, or Pit player row in the Arm Value leaderboard. Pass the leaderboard filters used to produce the selected row.
/mlb/statcast-arm-value-detailsQuery parameters:
entity_id: required positive player id copied from an Arm Value Run, Fld, or Pit player row.type: Run, Fld, or Pit. Defaults to Fld.game_type: Regular, Playoff, or All. Defaults to Regular.key_base_out: All, r10_to_2b_210, r10_to_3b_210, r11_to_3b_10, r11_to_3b_2, r11_to_hp_10, r11_to_hp_2, r12_to_hp_10, r12_to_hp_2, r13_to_hp_0, or r13_to_hp_1. Defaults to All.minimum_opps: top, 1, 5, 10, 20, 30, 40, 50, 75, 100, 250, 500, or 1000. Defaults to top.start_year, end_year: ordered seasons from the discovery list: 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026 at verification time; the accepted range advances with the current season. Both default to the current season.split: no or yes. Defaults to no.team_id: one of 108, 117, 133, 141, 144, 158, 138, 112, 109, 119, 137, 114, 136, 146, 121, 120, 110, 135, 143, 134, 140, 139, 113, 111, 115, 118, 116, 142, 145, 147; or split. Omit for all teams.with_team_only: 1 or 0. Defaults to 1; applies only with a specific numeric team_id.Pass the same filters used to produce the selected leaderboard row. The response preserves first-party game-level fields, including date, play id, baserunner situation, attempt/result, and run values. Team and league rows do not have expandable player details.
Example:
GET /api/v1/mlb/statcast-arm-value-details?entity_id=677800&type=Fld&game_type=Regular&key_base_out=All&minimum_opps=top&start_year=2026&end_year=2026&team_id=147
| Field | Filled in, of 313 checked | Values in the sample |
|---|---|---|
| base_out_text | 313 | “Batter 1B, Going for 2B” and 8 other values |
| entity_id | 313 | |
| fielder_runs | 313 | -0.25 to 0.88, median 0 |
| game_date | 313 | 2026-03-26 to 2026-09-27 |
| is_att_xb | 313 | 0 to 1, median 0 |
| is_success_xb | 313 | 0 to 1, median 0 |
| play_id | 313 | |
| result | 313 | Hold (220), Safe (88), Out (5) |
| runner_runs | 313 | -0.88 to 0.25, median 0 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| entity_id | string | Yes | Positive player id from an Arm Value player row | 677800 | |
| type | string | No | Player view Allowed values: Run, Fld, Pit. | ||
| game_type | string | No | Game type Allowed values: Regular, Playoff, All. | ||
| key_base_out | string | No | Baserunner situation Allowed values: All, r10_to_2b_210, r10_to_3b_210, r11_to_3b_10, r11_to_3b_2, r11_to_hp_10, r11_to_hp_2, r12_to_hp_10, r12_to_hp_2, r13_to_hp_0, r13_to_hp_1. | ||
| minimum_opps | string | No | Minimum opportunities Allowed values: top, 1, 5, 10, 20, 30, 40, 50, 75, 100, 250, 500, 1000. | ||
| start_year | integer | No | Start season, 2016 through current season Minimum: 2016. | ||
| end_year | integer | No | End season, 2016 through current season; must be >= start_year Minimum: 2016. | ||
| split | string | No | Split leaderboard records by season Allowed values: no, yes. | ||
| team_id | string | No | MLB team id from mlb_discovery, split, or empty Allowed values: 108, 117, 133, 141, 144, 158, 138, 112, 109, 119, 137, 114, 136, 146, 121, 120, 110, 135, 143, 134, 140, 139, 113, 111, 115, 118, 116, 142, 145, 147, split. | ||
| with_team_only | string | No | Team-roster membership for a selected team Allowed values: 1, 0. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/mlb/statcast-arm-value-details?entity_id=677800&type=Run&game_type=Regular&key_base_out=All&minimum_opps=top&split=no&team_id=108&with_team_only=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"entity_id": "677800",
"type": "Fld",
"total": 1,
"source_url": "https://baseballsavant.mlb.com/leaderboard/services/baserunning/677800?game_type=Regular&key_base_out=All&n=top&season_end=2026&season_start=2026&split=no&team=147&type=Fld&with_team_only=1",
"fetched_at": "2026-09-29T00:00:00Z",
"plays": [
{
"game_date": "2026-05-17",
"play_id": "d735add5-675d-378f-a533-d27882eee77e",
"base_out_text": "Batter 1B, Going for 2B",
"fielder_runs": 0.0005,
"runner_runs": -0.0001,
"is_att_xb": 0,
"result": "Hold",
"entity_id": 677800
}
]
}
}Request schema
No body schema
Response schema
#/definitions/mlb.statcastArmValueDetailsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | mlb.StatcastArmValueDetailsResponse | No | ||||
| data.entity_id | string | No | ||||
| data.fetched_at | string | No | ||||
| data.plays | array | No | ||||
| data.source_url | string | No | ||||
| data.total | integer | No | ||||
| data.type | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/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/statcast-arm-value-details?entity_id=677800&type=Run&game_type=Regular&key_base_out=All&minimum_opps=top&split=no&team_id=108&with_team_only=1" \
-H "x-api-key: $CRAWLORA_API_KEY"