---
title: "Get Baseball Savant Catcher Stance rows"
method: GET
path: "/mlb/statcast-catcher-stance"
tags: ["MLB"]
---

# Get Baseball Savant Catcher Stance rows

`GET /mlb/statcast-catcher-stance`

## Request

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

Returns the public Catcher Stance table for catchers, catching teams, batters, batting teams, pitchers, or league totals. Supports the live year, game, date, threshold, team, pitch type, batter/pitcher hand, knee posture, grouping, sorting, and pagination controls. Grouping accepts up to four values. Use mlb_discovery for exact value sets. Chart series and page-local search/column toggles are not included.

## Query parameters

- `type` 'catcher' | 'catching-team' | 'batter' | 'batting-team' | 'pitcher' | 'league'
- `season_start` '2020' | '2021' | '2022' | '2023' | '2024' | '2025' | '2026'
- `season_end` '2020' | '2021' | '2022' | '2023' | '2024' | '2025' | '2026'
- `game_type` 'Any' | 'Playoff' | 'Regular'
- `min_pitches` 'q' | '100' | '250' | '500' | '750' | '1000' | '2500' | '5000' | '7500' | '10000' | '15000' | '20000'
- `min_results` '1' | '25' | '50' | '100' | '250' | '500' | '750' | '1000' | '2500' | '5000' | '7500' | '10000' | '15000' | '20000'
- `date_start` string
- `date_end` string
- `bat_side` 'L' | 'R'
- `pitch_hand` 'L' | 'R'
- `knee_code` '9999' | '4' | '1' | '2' | '3'
- `teams` string[]
- `pitch_types` string[]
- `group_by` string[]
- `sort` 'name' | 'id' | 'team_id' | 'team_name' | 'year' | 'pitches' | 'skeletal_pitches' | 'n_both_down' | 'n_both_up' | 'n_inside_down' | 'n_l_down' | 'n_leg_extended' | 'n_one_down' | 'n_outside_down' | 'n_r_down' | 'n_teams' | 'pct_both_down' | 'pct_both_up' | 'pct_inside_down' | 'pct_l_down' | 'pct_leg_extended' | 'pct_one_down' | 'pct_outside_down' | 'pct_r_down' | 'one_knee_blocking' | 'one_knee_blocking_162' | 'one_knee_csaa' | 'one_knee_csp' | 'one_knee_framing' | 'one_knee_framing_162' | 'one_knee_pbwp' | 'one_knee_pitching' | 'one_knee_pitching_162' | 'one_knee_ron_num' | 'one_knee_ron_pbwp' | 'one_knee_sba_csaa' | 'one_knee_sba_num' | 'one_knee_shadow_cs' | 'one_knee_shadow_num' | 'one_knee_throwing' | 'one_knee_throwing_162' | 'other_blocking' | 'other_blocking_162' | 'other_csaa' | 'other_csp' | 'other_framing' | 'other_framing_162' | 'other_pbwp' | 'other_pitching' | 'other_pitching_162' | 'other_ron_num' | 'other_ron_pbwp' | 'other_sba_csaa' | 'other_sba_num' | 'other_shadow_cs' | 'other_shadow_num' | 'other_throwing' | 'other_throwing_162' | 'total_blocking' | 'total_framing' | 'total_frv' | 'total_throwing' | 'total_untracked'
- `sort_dir` 'asc' | 'desc'
- `limit` integer
- `offset` integer

## Headers

- `x-api-key` string, required

## Response `200`

OK

- MlbStatcastCatcherStanceResponseDoc
  - `code` integer
  - `data` MlbStatcastCatcherStanceResponse
    - `board` string
    - `fetched_at` string
    - `game_type` string
    - `group_by` string[]
    - `limit` integer
    - `min_pitches` string
    - `min_results` string
    - `offset` integer
    - `rows` object[]
    - `season_end` string
    - `season_start` string
    - `sort` string
    - `sort_dir` string
    - `source_url` string
    - `total` integer
    - `type` string
  - `msg` string

## Other responses

- `400`: Bad Request
- `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)
