Skip to content

Data

MLB pitch-by-pitch data

MLB pitch-by-pitch since 2015, every pitch from 2018: pitch type, velocity, location and the count, with the plate appearance. REST or MCP.

FastballAPI serves MLB pitch-by-pitch data: for each pitch the count it came in, the pitch type, its velocity, its location and the result, joined to the pitcher, the batter and the plate appearance.

get_pitches returns a game's pitches in order or a pitcher's or batter's season, and get_pitch_mix rolls a pitcher's season into an arsenal: usage, velocity, whiff rate and ball rate per pitch type. The table below is read from the database.

Coverage by season

Counted from the database on October 8, 2026: finished regular-season and playoff games.

SeasonGamesCoveredPitches
20262,448100%720,229
20252,477100%724,254
20242,472100%722,359
20232,471100%729,728
20222,470100%720,142
20212,466100%720,573
2020951100%279,661
20192,465100%743,237
20182,449100%726,333
20172,47199%723,690
20162,46498%711,823
20152,48699%713,008

How to get it

get_pitches, 10 credits a call. A full 2026 season is 2,448 calls and 24,480 credits, which fits in one month of Pro ($49/mo).

curl -X POST https://mcp.fastballapi.com/v1/get_pitches \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
  "game_id": "401569531",
  "limit": 2000
}'

What comes back

pitches[]List of objects
pitches[].game_id
pitches[].at_bat_id
pitches[].pitch_number
pitches[].inning
pitches[].half
pitches[].pitcher_id
pitches[].batter_id
pitches[].balls
pitches[].strikes
pitches[].pitch_type
pitches[].pitch_type_name
pitches[].velocity
pitches[].px

Every field and a real response: get_pitches docs.

Questions

How far back does the pitch data go?

To 2015, every season in the table below. Each season's pitch rows are counted against the box-score pitch counts: from 2018 they match to within 0.05%, and 2015 to 2017 are included too, with about 98 to 99% of each season's pitches. Pitch type and velocity are on 96% or more of each season's pitches, and 99.8% or more from 2020. Automatic balls and strikes (intentional walks, pitch-timer violations) are not pitches.

Is this Statcast?

No. It is public ESPN data: type, velocity, location and count, not spin rate or movement.

Can I get a pitcher's arsenal in one call?

Yes. get_pitch_mix returns each pitch type's usage, average and top velocity, whiff rate per swing and ball rate for a season.

Is it free?

Every account starts with 500 free credits and no card. A game's pitches are 10 credits.

What it will not do

  • No spin rate, movement or release point.
  • Pitch locations are in ESPN's diagram frame, as sent.
  • Updated the morning after a game, not live.

Works with

Start with 500 free credits

No card. REST or MCP.