Endpoint Playground
Returns pitcher-level pitch movement table rows for the selected season, pitch type, throwing hand, and minimum pitch count. Sorting and pagination are applied locally. The page's X/Z visualization axes and CSV download are separate presentation formats and are not returned by this JSON table contract.
14 Oct 2026: 40 rows; 38 fields had a value in every checked item and 2 varied between items.
Sample value profiles: avg_speed: 88 to 96.9, median 93.7; diff_z: -4.9 to 0.7, median -2.4; diff_z_hidden: -4.9 to 0.7, median -2.4.
curl 'https://api.crawlora.net/api/v1/mlb/statcast-pitch-movement?year=2026&pitch_type=FF&hand=R&min=q&sort=pitcher_name&sort_dir=asc' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| year | string | No | 2026 | Season |
| pitch_type | string | No | FF | Pitch class |
| hand | string | No | R | Pitcher throwing hand; omit for both |
| min | string | No | q | Minimum pitch count |
| sort | string | No | pitcher_name | Local table sort field |
| sort_dir | string | No | asc | Sort direction |
| limit | integer | No | Rows per page (1-500) | |
| offset | integer | No | Zero-based row offset |
{
"code": 200,
"data": {
"board": "pitch-movement",
"year": "2025",
"pitch_type": "SL",
"hand": "L",
"min": "50",
"total": 106,
"rows": [
{
"pitcher_name": "Kikuchi, Yusei",
"pitcher_id": "579328",
"pitch_type": "SL",
"pitch_type_name": "Slider",
"pitch_hand": "L",
"avg_speed": "87",
"pitches_thrown": "1121",
"pitcher_break_x": 2.9,
"pitcher_break_z": 32.4
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.