Endpoint Playground
Returns per-attempt play records expanded from a Catcher Throwing catcher row. Supply the entity_id from a Cat row and the row's year/team when it represents a season or team stint. Details are ungrouped source attempts, paginated locally.
14 Oct 2026: 20 rows; 29 fields had a value in every checked item and 10 varied between items; 1 field was empty in this sample.
Sample value profiles: game_date: 2026-03-27 to 2026-08-12; fielder_name: Witt Jr., Bobby (7), Massey, Michael (4), Loftin, Nick (2) and 2 more; accuracy_cd: -1 to 1, median 0.
curl 'https://api.crawlora.net/api/v1/mlb/statcast-catcher-throwing-details?entity_id=521692&year=2016&game_type=Regular&minimum=q&target_base=2B&split=yes&team=108' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| entity_id | integer | Yes | 521692 | Positive catcher id from a Cat row |
| year | integer | No | 2016 | Season |
| game_type | string | No | Regular | Game type |
| minimum | string | No | q | Minimum steal attempts |
| target_base | string | No | 2B | Throw target |
| split | string | No | yes | Split rows by season |
| team | string | No | 108 | Empty, split, or team id from the corresponding leaderboard row |
| with_team_only | boolean | No | Team roster membership filter | |
| limit | integer | No | Rows per page (1-500) | |
| offset | integer | No | Zero-based row offset |
{
"code": 200,
"msg": "OK",
"data": {
"entity_id": 521692,
"total": 20,
"offset": 0,
"limit": 100,
"rows": [
{
"entity_id": 521692,
"entity_name": "Perez, Salvador",
"play_id": "bb29072b-9b9b-3e08-8724-84cf891ac163",
"game_date": "2026-06-16T00:00:00.000Z",
"target_base": "3B",
"throw_type": "Held",
"is_runner_sb": 1,
"is_runner_cs": 0,
"cs_raa": -0.0105
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.