/api/public/[slug]JSON payload for any widget V2 slug. Returns latest snapshot, deduplicated by outcome.
curl -H "X-API-Key: pmp_v2_pro_..." \ https://predictionmarketspicks.com/api/public/recession-tracker
Live JSON and CSV access to every widget on PredictionMarketsPicks — Kalshi and Polymarket data, plus The 7 Oracles' Monte Carlo simulations for the World Cup. Free tier needs no signup. Pro and Enterprise unlock per-key rate limits and origin allowlisting.
Fetch the latest US recession probability payload:
curl https://predictionmarketspicks.com/api/public/recession-tracker
Add your API key for the higher Pro / Enterprise limits:
curl -H "X-API-Key: pmp_v2_pro_..." \ https://predictionmarketspicks.com/api/public/recession-tracker
/api/public/[slug]JSON payload for any widget V2 slug. Returns latest snapshot, deduplicated by outcome.
curl -H "X-API-Key: pmp_v2_pro_..." \ https://predictionmarketspicks.com/api/public/recession-tracker
/api/public/[slug]?format=csvSame payload as JSON, encoded as CSV with a Content-Disposition attachment header. Browser-friendly download.
curl -H "X-API-Key: pmp_v2_pro_..." \ "https://predictionmarketspicks.com/api/public/sp500-forecast?format=csv" -o sp500.csv
/embed/[slug]/[variant]HTML embed (iframe-friendly). Supports ?theme=parchment|indigo and ?key=... for tier upgrades.
<iframe src="https://predictionmarketspicks.com/embed/recession-tracker/hero?key=pmp_v2_pro_..." width="560" height="300" loading="lazy"></iframe>
Pass your API key as an X-API-Key header on every request. Query-string keys (?api_key=) are accepted only on the CSV format for browser-download convenience — JSON requests reject them so plaintext keys never end up in shared access logs.
An unrecognized key silently falls back to free-tier IP limits — a typo never breaks a CSV download of public data, but you pay the lower quota. Manage keys at /account/keys.
| Tier | Price | Public API limit | Attribution | Origin allowlist |
|---|---|---|---|---|
| Free | $0 | 60 req/hr per IP | Required | Unlimited |
| Pro | $14.99/mo | 5,000 req/hr per key | Required on embeds | 1 primary |
| Enterprise | $499/mo | 100,000 req/hr per key | Not required | Up to 10 |
Embed limits are separate and higher: free 600/hr per IP + 10k/hr per origin, Pro 50,000/hr per key, Enterprise 500,000/hr per key with a 5M-renders/mo fair-use cap reviewed monthly.
async function getRecessionOdds() {
const res = await fetch('https://predictionmarketspicks.com/api/public/recession-tracker', {
headers: { 'X-API-Key': process.env.PMP_API_KEY },
next: { revalidate: 60 }, // cache server-side for 60s
})
if (!res.ok) throw new Error(`PMP ${res.status}`)
return res.json()
}Lock an Enterprise key to specific hostnames so a leaked key from one site can't be replayed from another. Add up to 10 hostnames in /account/keys; requests from any other origin get a 403. An empty allowlist disables enforcement.
Enforcement key on the embed route: WIDGET_V2_ENFORCE_ORIGINS=1 (operator-controlled). Default-off for 48h post-launch so a misconfigured key never black-holes a customer.
| Status | Meaning | What to do |
|---|---|---|
| 400 | Malformed request — bad slug, query param on JSON path, or invalid origin | Fix the request shape; see the endpoint reference |
| 401 | Not used on the public API (free tier never rejects on auth) | N/A |
| 403 | Origin allowlist mismatch on an Enterprise key with origins set | Add the origin in /account/keys or remove the allowlist |
| 404 | Unknown slug | Check /widgets for the live catalog of supported slugs |
| 429 | Rate limit exceeded | Back off until Retry-After; increase cache TTL; upgrade tier |
| 500 | Server error — payload lookup failed | Retry with exponential backoff; check status if persistent |
Every widget on /widgets is also an API slug.
recession-trackerUS Recession Probability Gauge
sp500-forecastS&P 500 Year-End Forecast
fed-rate-trackerFOMC Rate Decision Tracker
inflation-trackerCPI Inflation Probability Tracker
macro-pulseMacro Pulse — US Economic Health Score
economic-calendarUS Economic Calendar — Macro Events with Market Consensus
shutdown-trackerGovernment Shutdown Probability Tracker
oracle-unpricedOracle Unpriced — Markets the News Hasn’t Caught
election-20282028 Presidential Election Tracker
world-cup-20262026 FIFA World Cup — Champion Odds
wc-mispricingsWorld Cup 2026 — Top Mispricings
tail-edgeLive Longshot Scanner
nfl-edgesNFL Edges — Rotating Model vs Kalshi
nfl-week-1NFL Week 1 Edge — Model vs Kalshi
wc-match-of-dayWorld Cup 2026 — Match of the Day
Kalshi is the primary source across most widgets (recession, Fed rates, inflation, S&P 500, elections, government shutdown). Polymarket provides secondary signal where Kalshi liquidity is thin. World Cup data combines Kalshi outright markets with The 7 Oracles' Monte Carlo simulation.
Subscribe to Pro ($14.99/mo) or Enterprise ($499/mo). Two keys (Primary + Backup) are provisioned automatically and emailed at checkout. Manage them at /account/keys.
Pro lifts you off the free tier (50,000/hr on embeds, 5,000/hr on the JSON+CSV API) but the "Powered by The 7 Oracles" attribution bar stays. Enterprise removes attribution, raises the public-API limit to 100,000/hr, and adds origin allowlisting + priority support.
Most widget payloads refresh every 5 minutes. Macro feeds (Fed, inflation) update at FOMC and BLS release windows. World Cup match data refreshes hourly outside game days, every 5 minutes during the tournament.
Yes — and you should. Responses include public Cache-Control: s-maxage=60. Caching for at least 60 seconds eliminates 90%+ of redundant requests against your quota.
A 429 response with X-RateLimit-Limit, X-RateLimit-Remaining, and a Retry-After header. The current window resets per the sliding-window algorithm — back off until the Retry-After deadline passes.
Aggregate display (charts, tables, dashboards) is permitted on all tiers. Mass re-syndication (selling the raw feed to third parties) requires a separate agreement — email predictionmarketspicks@gmail.com.
Free tier needs no signup. Upgrade when you need per-key limits.