Endpoint Playground
Returns pitcher or batter pitch-level arsenal leaderboards. Season, team, pitch type, minimum PA, and minimum-pitch qualification filters are replayed against the anonymous first-party table; sorting and pagination are applied locally. Use mlb_discovery for the full selector set. Player rows can be expanded with mlb-statcast-pitch-arsenal-details.
14 Oct 2026: 11 rows; 40 fields had a value in every checked item.
Sample value profiles: barrel_batted_rate: 4.6 to 18.9, median 9.6; ba: “.159” and 9 other values; href: median 49 characters.
curl 'https://api.crawlora.net/api/v1/mlb/statcast-pitch-arsenal?type=pitcher&year=2019&pitch_type=FF&min_pa=1&min_pitches=q&sort=player_name&sort_dir=asc' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| type | string | No | pitcher | Row type |
| year | string | No | 2019 | Season |
| team_id | string | No | MLB team id from mlb_teams | |
| pitch_type | string | No | FF | Pitch code; blank means all pitch types |
| min_pa | string | No | 1 | Minimum plate appearances |
| min_pitches | string | No | q | Minimum pitches; q means qualified |
| sort | string | No | player_name | Local sort field |
| sort_dir | string | No | asc | Local sort direction |
| limit | integer | No | Rows per page (1-500) | |
| offset | integer | No | Zero-based row offset |
{
"code": 200,
"msg": "OK",
"data": {
"board": "pitch-arsenal-stats",
"type": "pitcher",
"year": "2026",
"team_id": "119",
"pitch_type": "FF",
"min_pa": "100",
"min_pitches": "250",
"total": 11,
"sort": "run_value_per_100",
"sort_dir": "desc",
"offset": 0,
"limit": 2,
"rows": [
{
"player_name": "Yamamoto, Yoshinobu",
"pitch_type": "FF",
"pitch_name": "4-Seam Fastball",
"run_value_per_100": 2.1
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.