---
title: "Get Baseball Savant Swing Path and Attack Angle rows"
method: GET
path: "/mlb/statcast-swing-path"
tags: ["MLB"]
---

# Get Baseball Savant Swing Path and Attack Angle rows

`GET /mlb/statcast-swing-path`

## Request

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

Returns batter, batting-team, or league Swing Path and Attack Angle rows with the first-party season, game, swing, team, date, side, contact, hard-hit, attack-zone, and pitcher-hand filters. Use mlb_discovery for exact values.

## Query parameters

- `type` 'batter' | 'batting-team' | 'league'
- `season_start` '2023' | '2024' | '2025' | '2026'
- `season_end` '2023' | '2024' | '2025' | '2026'
- `game_type` 'Any' | 'Exhibition' | 'Playoff' | 'Regular'
- `min_swings` 'q' | '1' | '5' | '10' | '25' | '50' | '100' | '200' | '500' | '1000'
- `min_group_swings` '1' | '5' | '10' | '25' | '50' | '100' | '200' | '500' | '1000'
- `team_id` '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'
- `date_start` string
- `date_end` string
- `bat_side` 'L' | 'R'
- `contact_type` '2' | '4' | '9'
- `is_hard_hit` '1' | '0'
- `attack_zone` '0' | '1' | '1.1' | '2' | '3'
- `pitch_hand` 'L' | 'R'
- `sort` 'name' | 'team_name' | 'avg_sweetspot_speed_mph' | 'avg_plane_vertical_angle' | 'attack_angle' | 'attack_direction_pullopp' | 'rate_ideal_attack_angle' | 'avg_intercept_y_vs_plate' | 'avg_intercept_y_vs_batter' | 'avg_batter_y_position' | 'avg_batter_x_position' | 'avg_foot_sep0' | 'avg_foot_angle0' | 'n_swings'
- `sort_dir` 'asc' | 'desc'
- `limit` integer
- `offset` integer

## Headers

- `x-api-key` string, required

## Response `200`

OK

- MlbStatcastSwingPathResponseDoc
  - `board` string
  - `game_type` string
  - `rows` object[]
  - `season_end` string
  - `season_start` string
  - `total` integer
  - `type` 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)
