Roadmap

What's shipped, what we're working on, and what's queued. Refreshed manually after each deploy; the machine-readable companion is /v1/meta/changelog (shipped) and /v1/meta/incidents (incidents). Vote at the bottom on what should move up.

As of 2026-05-19. Last refresh after commit 346693a.

Shipped recently

Table tennis as a first-class sport

livecoverage

Bovada TT lobby at 0.5s cadence. ML, spreads, totals plus alts. Optional market-implied ELO via /v1/sports/table_tennis/player-ratings.

WNBA game lines

livecoverage

Bovada WNBA at 2s cadence. ML, spread, total, alt-lines, team totals, SGP-correlated markets (108+ per event). Player props is the next step (event-detail page, separate ingest).

Probable starting pitchers in MLB /odds

livecoverage

Every MLB event in /v1/sports/baseball_mlb/odds now carries home + away pitcher name, MLB Stats API canonical Person ID, venue, game status. Constant-time lookup, zero DB cost.

Daily closing-line CSV downloads

livehistorical

GET /v1/historical/closing-lines.csv?date=YYYY-MM-DD. Cached 6h. 1 credit per request. Backed by the dedup'd prop_closing_lines archive (38.8M -> 2.97M rows).

/try playground (no signup)

livedeveloper-experience

Public live odds preview with sport selector. Backed by the rate-limited /v1/try/{sport_key}/odds endpoint. No API key required.

Status history + HTML timeline

livetransparency

/v1/status/history returns trailing-window per-source SLA classifications. Public HTML at /status/history renders a colored timeline per book.

SLA + per-book thresholds publicly published

livetransparency

/v1/meta/source-quality + /v1/meta/per-book-sla. Every source's freshness classification and the threshold map used to classify them. No auth.

Parser-coverage matrix

livetransparency

/v1/meta/parser-coverage returns the actual per-book per-sport market_keys observed in our ingest pipeline. No vendor handwaving.

MCP server 0.3 with analysis tools

liveai-agent

CLV grader, SGP pricer, +EV finder, source-quality, probable pitchers, changelog feed all as typed Claude/Cursor/Continue/Codex tools.

Reverse-tunnel watchdog hardened

livereliability

Post-mortem follow-up from 2026-05-19. Worst-case gateway downtime cut from ~15min to ~30-60s. /v1/status now carries poller_health.upstream_tunnel when the gateway is the failover tier.

In progress

WNBA player props

in progresscoverage

Bovada surfaces player props at event-detail pages, not the lobby. Needs the deep-events ingest pattern. The Caesars deep sidecar code is the template; WNBA-specific selectors next.

Soccer 2nd-half + corners + cards markets

in progresscoverage

Existing soccer surface covers ML, spreads, totals across 51 leagues. 2H, corners, and cards markets exist in the upstream bookmaker APIs and need parser additions.

Source-quality alert webhook (operator self-serve)

in progressreliability

Webhook routing built (SOURCE_QUALITY_ALERTS_ENABLED=1) with Slack/Discord integration docs. Customer-side self-serve (specify your own webhook URL per source) is the next step.

Investigating

Pinnacle MLB residential ingest (Path A)

investigatingfreshness

Pinnacle's WAF blocks our primary egress IPs. Residential mesh node runner is built (scripts/nodes/pinnacle_mlb_runner.py), ready to deploy on Pixel-4a-01. Restores MLB pre-game freshness from drift-prone to 10-15s.

DraftKings alt-line Unders

investigatingcoverage

Parser exists. DK 403s our datacenter egress. Same residential-node path as Pinnacle MLB applies.

Caesars deep player props

investigatingcoverage

Sidecar built. Caesars NJ geofences our German-hosted egress. Needs a NJ-region origin (residential or NJ datacenter).

Queued (vote at the bottom to bump)

WebSocket reconnect reference client

queueddeveloper-experience

Already exists at examples/ws_reference_client.py and examples/ws_reference_client.js. Productizing as a published npm/PyPI package is the next step.

Postman / Insomnia / Bruno collections

queueddeveloper-experience

Auto-generated from OpenAPI. Onboards customers in minutes instead of hours.

SDK auto-gen for Go, Ruby, Java, Rust

queueddeveloper-experience

Python + JS clients exist. OpenAPI spec is clean enough to drive Stainless/Speakeasy generators for the rest.

Open Postgres replica for researchers

queuedhistorical

Read-only credentials for academic and quant researchers. Bigger backtest window than the closing-lines CSV. Subject to a published acceptable-use policy.

Per-book settlement tracking

queuedanalysis

Settled-bet history per book, with grade times and dispute rates. Useful for bettors choosing where to put serious money.

Sub-1s WebSocket on Bovada

queuedfreshness

Currently 1-3s effective freshness on shared targets via the 4-node ingest mesh. Sub-1s requires either an upstream WS path or a tighter polling round-robin. Tracking customer demand before committing.

Gated on external constraints

Pinnacle authenticated WS

gatedlegal

Permanently quarantined per docs/LEGAL_SCOPE.md. The code exists; we don't deploy it. Public guest path is the only Pinnacle ingest we will run.

Pick6 (DraftKings DFS app)

gatedlegal

Requires a logged-in session per the app's terms. We do not ingest credential-gated paths. Not on the roadmap.

Vote on what we build next.

Reply on r/parlayapi with the title of any item above, or email support@parlay-api.com with your tier + the specific feature. Customer requests visibly move items between sections.