Récupérer les cotes Pinnacle en Python (REST)
Réponse : pip install requests, définissez PINNFEED_KEY et appelez GET https://pinnfeed.io/v1/odds avec l'en-tête x-api-key. Le plan Free fonctionne tout de suite (30 s de retard, 2 sports). Pour un carnet en direct en mémoire sur Builder, utilisez plutôt un client WebSocket (guide Python et Node).
Un instantané en une quinzaine de lignes#
import os, requests
KEY = os.environ["PINNFEED_KEY"]
r = requests.get(
"https://pinnfeed.io/v1/odds",
params={"sport": "soccer", "market": "moneyline", "main": "true", "limit": 20},
headers={"x-api-key": KEY},
timeout=15,
)
r.raise_for_status()
for ev in r.json().get("events", []):
m = next((x for x in ev["markets"] if x["type"] == "moneyline"), None)
if not m:
continue
prices = {o["name"]: (o["decimal"], o["fair"]) for o in m["outcomes"]}
print(ev["home"], "v", ev["away"], prices)
Autres endpoints utiles : /v1/sports, /v1/events, /v1/drops et /v1/closing/{id} (à partir de Builder). Référence : doc REST.
Quand préférer le WebSocket#
| Tâche | Utilisez |
|---|---|
| Tableurs, cron, extraction pour l'analyse | REST (cette page) |
| Bot de steam, carnet en direct, alertes Telegram | WebSocket (guide) |
Étape suivante avec les données : cotes dans un DataFrame pandas.
Offres#
Clé gratuite · Builder (99 €/mois) pour le push. Essai de 3 jours ; carte requise, débitée après le jour 3 sauf résiliation.
Contenu éducatif pour adultes (18+) : ni pronostics ni promesse de gain. En France, seuls les opérateurs agréés par l'ANJ peuvent proposer des paris en ligne.
Questions fréquentes#
Faut-il un WebSocket sur le plan Free ?#
Non. Free est volontairement limité au REST.
Où se trouve la pagination ?#
limit et offset sur les endpoints de liste : voir la doc REST.