/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>
A Pro-gated JSON feed of the edge alerts our models generate — weather, bitcoin/silver/gold/oil, and mispricings today; NFL and more to come. We are a signal publisher: every subscriber receives the identical, impersonal feed at the same time. We never touch, store, or ask for anyone's exchange keys.
A Pro or Enterprise key returns the feed in real time. No key (or a bad one) returns the same feed delayed 24 hours with the thesis stripped — it never errors, it downgrades. Pair the header form with Authorization: Bearer for agent runtimes.
/api/v1/alertsThe alert feed, newest first. Keyset-paginated.
curl -H "X-API-Key: pmp_v2_pro_..." \ "https://predictionmarketspicks.com/api/v1/alerts?feed=weather,mispricing&tier=STRONG&limit=25"
/api/v1/alerts/[id]A single alert by id.
| Param | Description |
|---|---|
| feed | Comma-separated feeds to include: weather, bitcoin, silver, gold, oil, mispricing, sports_arb, nfl. Omit for all. |
| tier | Minimum confidence tier: SPECULATIVE, MODERATE, or STRONG. Returns that tier and above. |
| since | ISO-8601 timestamp — only alerts created after it. Mutually exclusive with cursor. |
| cursor | Opaque keyset token from a previous response’s next_cursor. Pages backward through (created_at, id). |
| limit | Page size, 1–100 (default 25). |
{
"as_of": "2026-07-24T14:02:11Z",
"delayed": false,
"count": 1,
"next_cursor": "MjAyNi4uLnw...",
"alerts": [{
"id": "…", "created_at": "…", "feed": "weather", "tier": "STRONG",
"platform": "Kalshi", "event_ticker": "KXHIGHNY-26JUL25",
"title": "New York high above 92°F — market 34¢, model 51%, edge 17pp",
"side": "YES", "price_cents": 34, "model_prob": 0.51, "edge_pp": 17,
"thesis": "…", "resolves_at": "…", "meta": { "quarter_kelly": 0.04 },
"market_url": "https://kalshi.com/markets/…?referral=…&m=true",
"info_url": "https://predictionmarketspicks.com/tools/weather?utm_source=api&utm_medium=feed&utm_campaign=weather"
}],
"docs": "https://predictionmarketspicks.com/docs/api",
"disclaimer": "…"
}Rate limits: Pro 5,000/hr and Enterprise 100,000/hr per key; the delayed tier is 60/hr per IP. Responses are cacheable (s-maxage=30) — cache on your side and poll no faster than the alerts move.
Impersonal market analysis for informational purposes only. Not investment advice. All subscribers receive identical alerts simultaneously. Trade responsibly.
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
midterms-20262026 Midterms Tracker
midterms-raceTightest 2026 Senate Race — Live Odds
midterms-balance-of-powerBalance of Power 2026 — Congress Control Odds
tail-edgeLive Longshot Scanner
nfl-edgesNFL Edges — Rotating Model vs Kalshi
nfl-week-1NFL Week 1 Edge — Model vs Kalshi
nfl-this-weekNFL This Week: Model vs Market Edge
nfl-power-rankingsNFL Power Rankings — PMP Model
nfl-model-lineNFL Model Line vs Market — PMP Model
nfl-edge-boardWhere the NFL Model Disagrees — PMP vs Market
nfl-gameNFL Game Tile — Model vs Kalshi, per game
nfl-team-cardNFL Team Season Card — projected wins vs Kalshi
nfl-champion-oddsSuper Bowl LXI — Champion Odds
epl-cross-venuePremier League — Kalshi vs Polymarket US
sports-arbKalshi vs Polymarket — Live Sports Gaps
fight-edgeFight Edge — MMA Tale of the Tape vs Market
fight-edge-ufcFight Edge (UFC) — Tale of the Tape vs the Market
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.