---
title: "List play_by_plays for MLB"
method: GET
path: "/api/v1/mlb/play_by_plays"
tags: ["MLB"]
---

# List play_by_plays for MLB

`GET /api/v1/mlb/play_by_plays`

## Request

- Base URL: `https://api.stat-api.com`
- URL: `https://api.stat-api.com/api/v1/mlb/play_by_plays`
- Auth: HTTP bearer

## Query parameters

- `game_id` integer
- `limit` integer
- `from_id` integer
- `format` 'json' | 'csv'

## Response `200`

play_by_plays rows matching the declared filter set.

- MLBPlayByPlaysListResponse
  - `has_more` boolean, required: True when a full page came back, so more rows can exist.
  - `limit` integer, required: Page size used for this response.
  - `next_from_id` integer, nullable, required: Pass this as `from_id` on the next request to page forward. `null` on the terminal page, and on a first page requested without `from_id` (that page uses the default sort): to walk every row, start with `from_id=0`.
  - `play_by_plays` MLBPlayByPlays[], required
    - `at_bat_id` integer, nullable
    - `away_score` integer, nullable
    - `batter_id` integer, nullable
    - `catcher_id` integer, nullable
    - `count_balls` integer, required
    - `count_strikes` integer, required
    - `end_time` string, date-time, nullable: Wall-clock end of the play, as the league records it
    - `event_sub_type` integer, required
    - `event_type` integer, required
    - `first_base_runner_id` integer, nullable
    - `game_id` integer, required
    - `hit_location` string, nullable
    - `hit_type` string, nullable
    - `home_score` integer, nullable
    - `id` integer, required: Primary Key
    - `inning_id` integer, required
    - `mlb_event_num` integer, required
    - `outs` integer, required
    - `pitcher_id` integer, nullable
    - `play_id` integer, required
    - `player_id` integer, nullable
    - `runners_on_base` integer, required
    - `second_base_runner_id` integer, nullable
    - `start_time` string, date-time, nullable: Wall-clock start of the play, as the league records it
    - `team_id` integer, required
    - `third_base_runner_id` integer, nullable

## Other responses

- `400`: No declared filter set was satisfied by the request — see `accepted` in the body for the valid combinations.

---

[API](https://skmtc.dev/stat-api/apis/sports-db-public-api.md) · [All operations](https://skmtc.dev/stat-api/apis/sports-db-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/stat-api/apis/sports-db-public-api/revisions/23b66b957723?raw)
