Endpoint Playground
Returns paginated pitch events for a Catcher Framing entity_id. Repeat the leaderboard filters used to obtain the entity; league aggregate rows have no detail feed. The upstream detail response may be large, so use limit and offset.
14 Oct 2026: 40 rows; 25 fields had a value in every checked item.
Sample value profiles: game_date: 2026-04-01 to 2026-09-26; api_pitch_type_group03: SI (12), FF (11), ST (5) and 4 more; api_relative_plate_z: -1.29 to 1.3, median -0.3.
curl 'https://api.crawlora.net/api/v1/mlb/statcast-catcher-framing-details?entity_id=663886&type=catcher&game_type=Any&team=108&min_pitches=q&min_results=1&season_start=2018&season_end=2018&bat_side=L&pitch_hand=L&pitch_type=FF&ball_strike=in&call=original' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| entity_id | string | Yes | 663886 | Entity id from a Catcher Framing leaderboard row |
| type | string | No | catcher | Table group; league details are unavailable |
| game_type | string | No | Any | Game type |
| team | string | No | 108 | Optional single MLB team id |
| min_pitches | string | No | q | Minimum pitches |
| min_results | integer | No | 1 | Minimum results |
| season_start | integer | No | 2018 | First season |
| season_end | integer | No | 2018 | Last season |
| date_start | string | No | Inclusive start date | |
| date_end | string | No | Inclusive end date | |
| bat_side | string | No | L | Batter side |
| pitch_hand | string | No | L | Pitcher hand |
| pitch_type | string | No | FF | Single pitch type |
| ball_strike | string | No | in | Pitch location relative to strike zone |
| call | string | No | original | Framing model |
| limit | integer | No | Rows per page (1-500) | |
| offset | integer | No | Zero-based row offset |
{
"code": 200,
"data": {
"board": "catcher-framing-details",
"entity_id": 663886,
"total": 8570,
"offset": 0,
"limit": 1,
"rows": [
{
"play_id": 123,
"catcher_framing_runs": 0.12
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.