Base URL: https://pinnwire.com. Auth: put your key in the x-api-key header or ?key=. Get a free key on the homepage — no card.
curl "https://pinnwire.com/kit/v1/markets?sport_id=1&key=YOUR_KEY"
AI agent? Feed it pinnwire.com/agent-setup/prompt.md and it sets itself up.
| Endpoint | What it returns |
|---|---|
GET /kit/v1/markets?sport_id=N | Every live event for a sport: moneyline, spreads, totals, team totals per period. Add &event_type=prematch for upcoming games. |
GET /kit/v1/prematch/fixtures?sport_id=N | All upcoming fixtures with full odds. |
GET /kit/v1/details?event_id=N | One event, full markets. |
GET /api/drops?mode=live&min_drop_pct=5 | Recent price drops, filterable (mode, sport_id, min_drop_pct, max_age_sec, limit). Includes no-vig price nvp. |
SSE /odds-drop?min_drop=5 | Live drop alerts pushed the moment they happen. min_drop floor 1%. |
SSE /odds-drop-prematch | Same, prematch lines only. |
WS /ws | Raw real-time firehose: every price change on every subscribed sport. Add-on plan. |
GET /v1/health | Feed status + event counts. |
GET /ping | Public liveness (no key). |
sport_id: 1 Soccer · 2 Tennis · 3 Basketball · 4 Hockey · 5 Football · 6 Baseball · 7 Rugby · 8 MMA · 9 Boxing · 10 Volleyball/Handball · 11 Esports · 12 Golf · 13 Cricket
{
"event_id": 1628594960,
"sport_id": 1,
"league_name": "China - Super League",
"home": "Yunnan Yukun",
"away": "Tianjin Jinmen Tiger",
"starts": "2026-04-17T12:00:00Z",
"event_type": "live",
"periods": {
"num_0": {
"money_line": { "home": 2.45, "draw": 3.30, "away": 2.90 },
"spreads": { "-0.5": { "hdp": -0.5, "home": 2.06, "away": 1.82 } },
"totals": { "2.5": { "points": 2.5, "over": 1.90, "under": 1.98 } },
"team_total": { "home": { "points": 1.5, "over": 1.86, "under": 2.00 } }
}
}
}
Decimal odds everywhere. Compatible with common third-party Pinnacle API response shapes — most existing clients work after swapping the base URL.
curl -N "https://pinnwire.com/odds-drop?key=YOUR_KEY&min_drop=5"
data: {"type":"connected","id":"..."}
data: [{"home":"Aryan","away":"ASOS Rainbow AC","sect":"Spread","period":0,
"from_price":2.24,"to_price":2.21,"drop_pct":1.34,"nvp":2.385,
"sport":"Soccer","is_live":true,...}]
nvp is the no-vig fair price — compare to_price / nvp to spot value. Available on Pro + Drops and Scale plans.
wss://pinnwire.com/ws?key=YOUR_KEY
// receives every odds update in real time as JSON frames
Raw WebSocket add-on plan required. One connection per key.
| Plan | Limit | SSE drops | Raw WS |
|---|---|---|---|
| Trial | 20/min, 100/day | — | — |
| Pro | 10 req/s, unlimited | — | add-on |
| Pro + Drops | 10 req/s, unlimited | ✓ | add-on |
| Scale | 30 req/s, unlimited | ✓ | add-on |
Over the limit → 429 with Retry-After header. Honor it.