Metadata-Version: 2.5
Name: pinnwire
Version: 0.1.0
Summary: Real-time Pinnacle odds API client — live + prematch odds, dropping-odds alerts (SSE). Free demo key: 'demo'.
Project-URL: Homepage, https://pinnwire.com
Project-URL: Documentation, https://pinnwire.com/docs.html
Project-URL: Repository, https://github.com/PinnWire/pinnwire-sdk
Author-email: PinnWire <sales@pinnwire.com>
License-Expression: MIT
Keywords: arbitrage betting,dropping odds,fair odds,live odds api,no-vig,odds api,odds drop alerts,pinnacle,pinnacle api,pinnacle api alternative,pinnacle odds,pinnacle websocket,prematch odds,real-time odds,sharp odds,sports betting,sse,websocket
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Requires-Dist: requests>=2.25
Description-Content-Type: text/markdown

# 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](https://pinnwire.com) is an independent real-time feed. The public demo key works with **no signup**:

```python
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)

```python
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](https://pinnwire.com). Paid plans from $89/mo. Full docs: [pinnwire.com/docs.html](https://pinnwire.com/docs.html) · plain-text API reference for LLMs: [pinnwire.com/llms-full.txt](https://pinnwire.com/llms-full.txt)

18+ · data service, not a bookmaker · not affiliated with Pinnacle.
