Endpoint Playground
Returns Baseball Savant's ABS challenge table with repeated season, game type, split, challenging-team, opponent-team, pitch-type, and shadow-zone filters, plus challenger type, level, thresholds, leverage, pitch location, breakeven, and split-year controls. Filter values are live-verified and listed by /mlb/discovery. The entire filtered table is returned; UI-only drawer details and client-side sorting are not separate source filters.
14 Oct 2026: 526 rows; 0 fields had a value in every checked item and 40 varied between items.
Sample value profiles: cost_vs_exp: -0.68 to 0.29, median 0.02; cost_vs_exp_against: -0.31 to 0.25, median 0; exp_chal: 0.34 to 26.83, median 7.51.
curl 'https://api.crawlora.net/api/v1/mlb/statcast-abs-challenges?challenge_type=batter&data_mode=for&data_count=chal&min_challenges=0&min_opponent_challenges=0&level=mlb&leverage=vlow&ball_strike=in&breakeven=low&split_year=0' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| challenge_type | string | No | batter | Challenge board group |
| seasons | array | No | Season values | |
| game_types | array | No | Game type codes | |
| data_mode | string | No | for | Challenges made or against |
| data_count | string | No | chal | Challenge count or run value |
| min_challenges | string | No | 0 | Minimum challenges made |
| min_opponent_challenges | string | No | 0 | Minimum challenges against |
| level | string | No | mlb | Competition level |
| leverage | string | No | vlow | Leverage bucket; empty selects All |
| ball_strike | string | No | in | Pitch location; empty selects All |
| breakeven | string | No | low | Challenge breakeven band; empty selects All |
| split_year | string | No | 0 | Separate year groups |
| splits | array | No | Split dimensions | |
| challenge_team_ids | array | No | Challenging MLB team ids | |
| opponent_team_ids | array | No | Opponent MLB team ids | |
| pitch_types | array | No | Pitch type codes | |
| shadow_zones | array | No | Shadow zone codes |
{
"code": 200,
"msg": "OK",
"data": {
"board": "ABS Challenges",
"filters": {
"challenge_type": "batter",
"data_mode": "for",
"data_count": "chal",
"min_challenges": "1",
"min_opponent_challenges": "0",
"level": "mlb",
"split_year": "1"
},
"total": 1,
"source_url": "https://baseballsavant.mlb.com/leaderboard/abs-challenges",
"fetched_at": "2026-10-01T00:00:00Z",
"rows": [
{
"year": 2026,
"player_name": "Example Player",
"n_challenges": 14,
"n_overturns": 12,
"rate_overturns": 0.857
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.