Discover/Ballpark Pal API
live

Ballpark Pal APIballparkpal.com

Access Ballpark Pal's MLB simulation-based predictions via API. Fetch probability scores, betting lines, and outcomes across 22 categories for batters, pitchers, teams, and games.

Endpoint health
verified 14h ago
get_categories
get_available_dates
get_most_likely
3/3 passing latest checkself-healing
Endpoints
3
Updated
26d ago

What is the Ballpark Pal API?

The Ballpark Pal API exposes MLB simulation-based prediction data across 3 endpoints and 22 statistical categories, covering batters, pitchers, teams, and games. The core get_most_likely endpoint returns up to 690 outcome rows per date, each carrying a player or team name, probability score, book price, opponent, venue, and a vs_rating — queryable by tab, category, or date.

Try it
Filter by tab: 'batters', 'pitchers', 'teams', or 'games'.
Date in YYYY-MM-DD format. Defaults to today's date if omitted.
Maximum number of results to return.
Filter by category ID (1-22) or partial name match (e.g. 'HR', 'Quality Start'). Use get_categories endpoint for the full list of IDs and names.
api.parse.bot/scraper/2947b4d9-1c07-4bc2-b79b-0b14a6508e9b/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/2947b4d9-1c07-4bc2-b79b-0b14a6508e9b/get_most_likely?tab=batters&date=2026-07-11&limit=5&category=1' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace ballparkpal-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: BallparkPal SDK — fetch MLB prediction data with probability scores."""
from parse_apis.ballpark_pal_most_likely_outcomes_api import (
    BallparkPal, Tab, CategoryId, OutcomesUnavailable
)

client = BallparkPal()

# List all categories to understand the prediction types available.
for cat in client.categories.list(limit=5):
    print(cat.name, cat.tab)

# Get today's date info for navigation context.
date_info = client.dateinfos.get()
print(date_info.current_date, date_info.last_updated)

# Fetch batter HR predictions — filter by tab and category enum.
for outcome in client.outcomes.list(tab=Tab.BATTERS, category=CategoryId.HR, limit=3):
    print(outcome.name, outcome.team, outcome.probability, outcome.book_price)

# Drill into pitcher outcomes for quality starts.
first_qs = client.outcomes.list(tab=Tab.PITCHERS, category=CategoryId.QUALITY_START, limit=1).first()
if first_qs:
    print(first_qs.name, first_qs.pitcher, first_qs.probability)

# Handle typed errors when the site is unavailable.
try:
    client.dateinfos.get(date="2020-01-01")
except OutcomesUnavailable as exc:
    print(f"unavailable: {exc}")

print("exercised: outcomes.list / categories.list / dateinfos.get")
All endpoints · 3 totalmissing one? ·

Get most likely MLB outcomes for a given date, optionally filtered by tab (batters/pitchers/teams/games) and/or specific category. Returns player/team names, probabilities, betting prices, matchup details, and more. Without filters, returns all 22 categories (~500 rows). Pagination is not supported; use limit to cap results.

Input
ParamTypeDescription
tabstringFilter by tab: 'batters', 'pitchers', 'teams', or 'games'.
datestringDate in YYYY-MM-DD format. Defaults to today's date if omitted.
limitintegerMaximum number of results to return.
categorystringFilter by category ID (1-22) or partial name match (e.g. 'HR', 'Quality Start'). Use get_categories endpoint for the full list of IDs and names.
Response
{
  "type": "object",
  "fields": {
    "date": "string - Display date (e.g. 'June 11, 2026')",
    "items": "array of outcome objects with category_id, category_name, team, time, game_id, name, entity_id, park, venue_id, score, opponent, vs_rating, pitcher, pitcher_id, probability, book_price",
    "total": "integer - Number of items returned",
    "last_updated": "string - Last update time (e.g. '12:57 AM')"
  },
  "sample": {
    "data": {
      "date": "June 11, 2026",
      "items": [
        {
          "name": "Corey Seager",
          "park": "KC",
          "team": "TEX",
          "time": null,
          "score": null,
          "game_id": "824101",
          "pitcher": "Wacha",
          "opponent": "KC",
          "venue_id": "7",
          "entity_id": "608369",
          "vs_rating": "10",
          "book_price": "+233",
          "pitcher_id": "608379",
          "category_id": "1",
          "probability": "30.0%",
          "category_name": "Hit a HR"
        }
      ],
      "total": 3,
      "last_updated": "12:57 AM"
    },
    "status": "success"
  }
}

About the Ballpark Pal API

What the API Returns

The get_most_likely endpoint is the main data surface. For a given date it returns an array of Outcome objects, each containing category_id, category_name, team, game_id, name, entity_id, park, venue_id, score (probability), opponent, and more. The score field represents the simulation-derived probability for that outcome. The book_price field reflects the corresponding betting line. Results span all four tabs — batters, pitchers, teams, and games — and up to 22 distinct prediction categories such as Home Runs, Quality Starts, and team-level totals.

Filtering and Navigation

The tab parameter on get_most_likely narrows results to batters, pitchers, teams, or games. The category parameter accepts either a numeric category ID (1–22) or a partial name string like 'HR' or 'Quality Start'. To discover valid IDs and names before filtering, call get_categories, which returns a static list of all 22 categories with their tab groupings — no additional network call is made for this endpoint. The limit parameter caps the row count when you only need a subset.

Date Navigation

get_available_dates accepts an optional date parameter in YYYY-MM-DD format and returns the current_date display string, previous_date, next_date, and last_updated timestamp. This is useful for building date pickers or sequential polling loops without loading full outcome data. If no date is supplied, all three endpoints default to today's date. The last_updated field on both get_most_likely and get_available_dates shows the most recent time predictions were refreshed, typically intraday.

Reliability & maintenanceVerified

The Ballpark Pal API is a managed, monitored endpoint for ballparkpal.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ballparkpal.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official ballparkpal.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
14h ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a daily MLB betting dashboard that surfaces the highest-probability outcomes by category, sorted by the score field
  • Filter get_most_likely by tab=pitchers and category=Quality Start to track quality-start probability trends across a pitching staff
  • Compare book_price against simulation score to identify implied probability discrepancies for value betting research
  • Use get_available_dates to programmatically paginate through historical prediction dates and build a time-series dataset
  • Populate a fantasy baseball lineup tool with batter HR and RBI probability scores from the batters tab
  • Alert on high-probability team-level outcomes by filtering tab=teams and thresholding the vs_rating field
  • Cross-reference park and venue_id fields with park factor data to contextualize simulation outputs by ballpark
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Ballpark Pal have an official developer API?+
No. Ballpark Pal does not publish a public developer API or documented data feed. This Parse API is the programmatic interface for the prediction data shown on ballparkpal.com.
What does the `get_categories` endpoint return and when should I call it?+
get_categories returns the fixed list of all 22 prediction categories, each with an id, name, and tab field (batters, pitchers, teams, or games). Call it once to map category names to IDs, then use those IDs in the category filter on get_most_likely to narrow results precisely.
How fresh is the prediction data, and how often does it update?+
The last_updated field on get_most_likely and get_available_dates reflects the most recent refresh time, typically shown as a time-of-day string like '12:00 PM'. Updates are intraday but tied to when Ballpark Pal regenerates its simulations. There is no push or webhook mechanism — polling get_available_dates is the recommended way to detect refreshes without fetching the full outcomes table.
Does the API expose individual player prop lines or historical simulation results beyond the current season?+
Not currently. The API covers simulation outcomes for scheduled MLB game dates, with the score probability and book_price line per outcome row. Historical dates can be navigated using get_available_dates, but deep historical archives or individual sportsbook prop breakdowns are not part of the current endpoints. You can fork this API on Parse and revise it to add endpoints targeting additional historical ranges or specific sportsbook prop data if the source exposes them.
Can I retrieve outcomes for a specific pitcher or batter by player ID?+
Direct lookup by player ID is not a standalone endpoint. The entity_id field is included on each Outcome object in get_most_likely results, so you can filter client-side by that value after fetching a date's full results. The tab and category parameters help reduce the result set before filtering. You can fork this API on Parse and revise it to add a player-centric lookup endpoint if your use case requires it.
Page content last updated . Spec covers 3 endpoints from ballparkpal.com.
Related APIs in SportsSee all →
baseball-reference.com API
Access comprehensive MLB and college baseball (NCAA Division I) statistics from Baseball-Reference. Retrieve player career and season stats, team rosters and performance data, game box scores, season schedules, league leaders, and college conference standings — all from a single API.
oddsjam.com API
Access real-time and upcoming MLB game odds across multiple sportsbooks, along with detailed moneyline information, schedules, and futures betting data. Compare odds by market, view team-specific odds, and stay updated on all available betting options for MLB games.
vegasinsider.com API
Retrieve MLB betting odds from major sportsbooks including bet365, FanDuel, and DraftKings, covering Moneyline, Total, and Runline markets for any supported date. Easily compare odds across books to identify the best available lines.
rotowire.com API
Access MLB player news, statistics, projected lineups, and betting props from RotoWire. Search for players by name, retrieve season stats and performance projections, browse weekly lineup predictions, and explore player prop odds across multiple sportsbooks.
mykbostats.com API
Access comprehensive KBO league data including team standings, schedules, rosters, player profiles, and game details to track Korean baseball statistics and performance metrics. Search for players, view depth charts, get foreign player information, and analyze win matrices to stay informed about the Korean Baseball Organization.
cpbl.com.tw API
Access comprehensive CPBL baseball data including live game schedules, detailed box scores, player statistics, and play-by-play game feeds to stay updated on the Chinese Professional Baseball League. Build applications that display team standings, player rosters, news updates, and advanced performance metrics for all CPBL games and athletes.
bleacherreport.com API
Access sports news articles, live scores, and detailed game statistics from Bleacher Report across all major leagues including the NBA, NFL, MLB, and NHL. Retrieve full article content, expert analysis, and box-score data for any supported sport and date.
predicd.com API
Get real-time football match predictions, live scores, fixtures, and league standings across multiple competitions including Bundesliga. Access detailed match insights, upcoming games, and current league tables to stay informed about football events and predictions.