MLB API endpoint
Returns game-level Pitch Tempo detail rows for one pitcher or batter. `entity_id` is required, taken from a Pitch Tempo result. `type` is `Pit` (default) or `Bat`, `season_start` and `season_end` run from 2010 to 2026 and default to the current year, and `game_type` is `Regular` (default), `Playoff` or `All`. Rows hold elapsed seconds, counts and frequencies; empty when nothing matches.
/mlb/statcast-pitch-tempo-playerQuery parameters:
entity_id: required numeric Baseball Savant id copied from a mlb_statcast_pitch_tempo row.type: Pit or Bat; defaults to Pit.season_start, season_end: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, or 2026. The range must be ordered; the defaults select the current year.game_type: Regular, Playoff, or All; defaults to Regular.Notable response behavior: returns the upstream player's game-level tempo bins, including elapsed seconds, counts, and frequency fields. The response is an empty array when the selected player has no matching details in that range.
| Field | Filled in, of 38 checked | Values in the sample |
|---|---|---|
| elapsed_seconds | 38 | 9 to 41, median 19 |
| end_year | 38 | 2,026 |
| end_year_upper | 38 | 9,999 |
| entity_choice | 38 | P in all 38 |
| entity_code | 38 | |
| entity_id | 38 | |
| entity_name | 38 | Suter, Brent in all 38 |
| freq_pitches | 38 | 0 to 0.28, median 0.01 |
| key_file_code | 38 | |
| key_game_type | 38 | |
| key_name_abbrev | 38 | |
| key_name_display_club | 38 | |
| key_runners_code | 38 | |
| key_team_id | 38 | |
| median_seconds | 2 | 11.52 to 15.24, median 11.52 |
| n | 38 | 1 to 108, median 4 |
| num_teams | 38 | 2 |
| prev_is_take | 38 | 1 |
| start_year | 38 | 2,026 |
| start_year_lower | 38 | 2,026 |
| team_selection_code | 38 | |
| team_selection_id | 38 | |
| timeframe | 38 | 2,026 |
| tot_n | 38 | 244 to 407, median 407 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| entity_id | string | Yes | Numeric entity id from a Pitch Tempo row | 608718 | |
| type | string | No | Entity type Allowed values: Pit, Bat. | ||
| season_start | string | No | First season Allowed values: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026. | ||
| season_end | string | No | Last season; must be >= season_start Allowed values: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026. | ||
| game_type | string | No | Game type Allowed values: Regular, Playoff, All. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/mlb/statcast-pitch-tempo-player?entity_id=608718&type=Pit&season_start=2010&season_end=2010&game_type=Regular" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"entity_id": "608718",
"type": "Pit",
"season_start": "2026",
"season_end": "2026",
"game_type": "Regular",
"total": 10,
"rows": [
{
"entity_id": "608718",
"entity_name": "Suter Brent",
"elapsed_seconds": 15,
"n": 42,
"freq_pitches": 0.17
}
]
}
}Request schema
No body schema
Response schema
#/definitions/mlb.statcastPitchTempoPlayerResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| entity_id | string | No | 608718 | |||
| game_type | string | No | Regular | |||
| rows | array | No | ||||
| season_end | string | No | 2026 | |||
| season_start | string | No | 2026 | |||
| total | integer | No | 10 | |||
| type | string | No | Pit |
| 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-pitch-tempo-player?entity_id=608718&type=Pit&season_start=2010&season_end=2010&game_type=Regular" \
-H "x-api-key: $CRAWLORA_API_KEY"