POSTERIOR · DEVELOPERS DESK
API OPEN
The API · v1

Calibrated MLB probabilities, piped straight into your stack.

Three REST endpoints for the market model that powers posterior.pro. Bearer-token auth, 100 req/min per key, JSON shape stable across the v1 lifecycle. A public MLB model API with a live calibration curve — the receipt for every probability you call.

Subscribe
Pro
$29/mo

per month · base subscription

+ API Beta
+$99/mo

per month · this add-on

Total
$128/mo

per month · API tier

Sign up for Pro →

Pro subscription required. Create the account and activate Pro first; then return here or use the account page to add API access.

Endpoints · v1
MethodPathCache
GET
/api/v1/picks/today

Tonight's STRONG/LEAN slate + v0 NRFI + pitcher-K predictions, with signal breakdown.

30s cache
GET
/api/v1/accuracy

Live Brier score, win-rate by tier, model EV at close. Same numbers the public dashboard renders.

2m cache
GET
/api/v1/calibration

Calibration buckets — predicted-vs-actual rates per probability bin. Plot it however you want.

5m cache

OpenAPI 3.1 spec at /api/v1/openapi.json. More endpoints will be documented here only after they are live in the versioned API.

Quickstart

Issue a key at /mlb/account, then pipe the secret into a Bearer header. The same request, three idioms:

curl
$ curl -H "Authorization: Bearer pk_live_..." \    https://posterior.pro/api/v1/picks/today
typescript
const res = await fetch(
  "https://posterior.pro/api/v1/picks/today",
  { headers: { Authorization: `Bearer ${process.env.POSTERIOR_KEY}` } }
);
const { picks, ext_markets } = await res.json();
python
import os, httpx
r = httpx.get(
    "https://posterior.pro/api/v1/picks/today",
    headers={"Authorization": f"Bearer {os.environ['POSTERIOR_KEY']}"},
)
slate = r.json()

Response shape (truncated):

json
{
  "api_version": "v1",
  "generated_at": "2026-05-26T17:42:11.103Z",
  "game_date_et": "2026-05-26",
  "picks": [
    {
      "prediction_id": "pred_01HXJ6V…",
      "batter_name": "Aaron Judge",
      "team_name": "New York Yankees",
      "market": "1plus_hits",
      "p_predicted": 0.7124,
      "sharp_consensus_prob": 0.6680,
      "sharp_book_american_odds": -210,
      "tier": "STRONG",
      "signals": { "park_adj": 1.04, "pitcher_adj": 0.96 }
    }
  ],
  "ext_markets": { "nrfi": [ ... ], "strikeouts": [ ... ] }
}
AI-native

Wire Posterior into an agent, Discord bot, notebook, or internal dashboard with ordinary HTTPS fetches. Your tool asks what Posterior says about tonight's slate; the API returns model probabilities with the calibration receipt attached.

Note: Packaged SDKs and agent integrations are not advertised as live until their packages, manifests, and install paths are published. For launch, the supported contract is the REST v1 surface and OpenAPI schema.
What you get

The same model that runs the public dashboard. Same calibration scaler, same sharp-consensus de-vig, same conservative risk reference sizing. No hidden entries, no premium-only model layer, no certainty framing behind the API that isn't visible on the site.

The API tier is the same data in machine form, for builders who want to wire it into their stack. The calibration receipt at /mlb/accuracy is the load-bearing claim on both sides.

Stay current

Optional changelog list — one email per major endpoint release. Not required to subscribe; the existing API works today without it.

Developers — Posterior API