pinnwire
Real-time Pinnacle odds API client. Live + prematch odds for 13 sports, dropping-odds alerts, no-vig fair prices. requests-only, fully typed.
Pinnacle closed its public API in July 2025 — PinnWire is an independent real-time feed. The public demo key works with no signup:
from pinnwire import Client, SPORTS
api = Client("demo") # public demo key — try it right now
board = api.markets(SPORTS["SOCCER"]) # live soccer odds, decimal
drops = api.drops(mode="live", min_drop_pct=5) # what just dropped
print(drops["drops"][0]) # {home, away, market, from, to, drop_pct, nvp, ...}
Streaming drop alerts (paid plans)
api = Client(os.environ["PINNWIRE_KEY"])
for d in api.stream_drops(min_drop=5):
print(d["home"], "v", d["away"], d["from_price"], "->", d["to_price"], "fair:", d["nvp"])
Auto-reconnects with backoff. stream_drops(prematch=True, recheck=30) streams prematch drops re-verified after 30s.
All methods
markets · prematch_fixtures · details · prematch_lines · drops · stream_drops · health
include_specials=1 unlocks player props, exact scores, futures. 429s are retried automatically honoring Retry-After.
Keys & pricing
demo = public key, 10 req/min, REST only. Free personal key (100/day forever, no card) at pinnwire.com. Paid plans from $89/mo. Full docs: pinnwire.com/docs.html · plain-text API reference for LLMs: pinnwire.com/llms-full.txt
18+ · data service, not a bookmaker · not affiliated with Pinnacle.
Metadata
Release files for pinnwire 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pinnwire-0.1.0.tar.gz | 3.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pinnwire-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.1 kB
Release files / pinnwire-0.1.0.tar.gz
| Download URL | pinnwire-0.1.0.tar.gz |
|---|---|
| Size | 3.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e84f6deec30de2f7035cf64b634d7e638fd8492ed1dd2aa98fbd381166508091
|
|
BLAKE2b-256 checksum How to use checksums |
1a93a38fb88f007242fe38fc2148d696d685389d0bc8aab556750043b0b55efe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.2
|
Release files / pinnwire-0.1.0-py3-none-any.whl
| Download URL | pinnwire-0.1.0-py3-none-any.whl |
|---|---|
| Size | 4.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e8b2df9851aaf9ce53bb07ffd14432163df55313bff1eec090d3a11c4ef36f10
|
|
BLAKE2b-256 checksum How to use checksums |
fd4e9a6626091d015275135bc70daed2e1a4815cb88089d0038a6016b533a6f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.2
|