---
title: "Get Baseball Savant Percentile Rankings"
method: GET
path: "/mlb/statcast-percentile"
tags: ["MLB"]
---

# Get Baseball Savant Percentile Rankings

`GET /mlb/statcast-percentile`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/mlb/statcast-percentile`
- Auth: API key in header `x-api-key`

Returns batter or pitcher percentile rankings. Type, season, and team are first-party table filters. Repeated pctl filters, table sorting, and pagination are applied locally to the embedded rows. Use mlb_discovery for exact type-specific fields, comparators, seasons, and team ids. CSV is a separate download.

## Query parameters

- `type` 'batter' | 'pitcher'
- `year` '2015' | '2016' | '2017' | '2018' | '2019' | '2020' | '2021' | '2022' | '2023' | '2024' | '2025' | '2026'
- `team` '108' | '109' | '110' | '111' | '112' | '113' | '114' | '115' | '116' | '117' | '118' | '119' | '120' | '121' | '133' | '134' | '135' | '136' | '137' | '138' | '139' | '140' | '141' | '142' | '143' | '144' | '145' | '146' | '147' | '158'
- `pctl` string[]
- `sort` string
- `sort_dir` 'asc' | 'desc'
- `limit` integer
- `offset` integer

## Headers

- `x-api-key` string, required

## Response `200`

OK

- MlbStatcastPercentileResponseDoc
  - `board` string
  - `fetched_at` string
  - `filters` MlbStatcastPercentileFilter[]
    - `comparator` string
    - `field` string
    - `value` number
  - `limit` integer
  - `offset` integer
  - `rows` object[]
  - `sort` string
  - `sort_dir` string
  - `source_url` string
  - `team` string
  - `total` integer
  - `type` string
  - `year` string

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/0497899e2016?raw)
