Endpoint Playground
Returns season, venue, distance, distance-all, raw, or dimensions rows from Baseball Savant. Query filters are conditional on type and are live-echo validated; local sorting and pagination are applied to returned rows. The fence-stat and allDiffs controls only change display columns and do not change row data; CSV and linked venue detail pages are separate surfaces.
14 Oct 2026: 29 rows; 30 fields had a value in every checked item.
Sample value profiles: n_pa: 37,433 to 58,810, median 56,135; name_display_club: “Giants” and 28 other values; venue_name: “Oracle Park” and 28 other values.
curl 'https://api.crawlora.net/api/v1/mlb/statcast-park-factors?type=year&bat_side=R&condition=All&rolling=1&stat=index_wOBA&parks=mlb&sort_dir=asc' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| type | string | No | year | Park Factors table mode |
| year | string | No | Mode-specific season; see endpoint markdown and mlb_discovery for exact values | |
| bat_side | string | No | R | Optional batter side for year, venue, or raw mode |
| condition | string | No | All | Park condition for year and venue modes |
| rolling | string | No | 1 | Rolling year count for year and venue modes |
| stat | string | No | index_wOBA | Venue mode metric |
| parks | string | No | mlb | Park population selector |
| sort | string | No | Local row field present in the selected mode's data | |
| 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": "statcast-park-factors",
"type": "year",
"year": "2026",
"condition": "All",
"rolling": "3",
"parks": "mlb",
"total": 29,
"offset": 0,
"limit": 1,
"rows": [
{
"venue_id": "17",
"venue_name": "Wrigley Field",
"main_team_id": "112",
"index_wOBA": "98"
}
],
"source_url": "https://baseballsavant.mlb.com/leaderboard/statcast-park-factors?...",
"fetched_at": "2026-09-30T00:00:00Z"
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.