📚 API Documentation
50+ endpoints REST pour intégrer BetRecord dans tes outils — gratuit, pas de clé requise sur les routes publiques.
🎁 100% gratuit jusqu'à décembre 2026
Pas de rate-limit strict (60 req/min/IP), pas de clé requise sur routes publiques. Pour widget B2B intégré, contact contact@betrecord.duckdns.org.
🏆 Sports — Catalogue
GET/api/sports
Try →
Liste les 8 sports premium 10/10 (football, tennis, rugby, basket, baseball, hockey, handball, volleyball) avec stats sections/chars/ligues
GET/api/sports/counts
Try →
Counts live fixtures upcoming (cache 5 min)
🌍 FIFA World Cup 2026 (12 juin - 19 juillet 2026)
GET/api/wc2026/summary
Try →
Dashboard summary : top picks + counts matchs/articles/odds
GET/api/wc2026/winner-odds?limit=20
Try →
Top N pays Polymarket Winner odds (probas crypto $1.2B liquidity)
GET/api/wc2026/upcoming-matches?days=14
Matchs WC à venir avec odds 1X2 BetRecord (jusqu'à 60 jours)
GET/api/wc2026/press?limit=20&lang=fr
Articles presse FR/EN ingérés via 20 RSS feeds
💰 Sharp Money Feed
GET/api/sharp/feed?hours=24&limit=50
Try →
Détection mouvements cotes anormaux (cron */15min, ~336 alerts/7j)
GET/api/sharp/stats
Try →
Stats agrégées : nb alerts par sport, top bookmakers, last update
⚖️ Arbitrage Finder
GET/api/arbitrage/find?min_roi_pct=0.5&max_age_h=12
Try →
Scan 51 bookmakers, opportunités arbitrage 1X2 avec ROI garanti
GET/api/arbitrage/health
Try →
Freshness des odds (alerte si données stale)
🎯 RLM Signals (Reverse Line Movement)
GET/api/rlm/signals?min_drift_pct=2.0&max_age_h=48
Matchs où la cote bouge à l'inverse du %public (proxy sharp money)
GET/api/rlm/explain
Try →
Doc inline : signal types (sharp_fade, sharp_take), interprétation
📡 Tipsters Leaderboard
GET/api/tipsters/leaderboard?window_days=30
Classement 20 sources foot par winrate (Wilson lower bound 30j)
GET/api/tipsters/consensus?min_tipsters=3&days=7
Picks consensus matchs avec ≥3 tipsters d'accord
GET/api/tipsters/sources
Try →
Liste 20 sources tipsters + dernière collecte
🧮 EV Calculator + Kelly
POST/api/ev/quick
Body : {book_odds:[1.8,3.6,4.5], fair_odds:[2.0,3.5,4.0], devig_method:"multiplicative"}. Retourne EV+ outcomes + Kelly fraction.
🔍 Deep Analyst + Chat IA + Regime
POST/api/deep-analyst/analyze
"Pourquoi tu as perdu ?" → classification 5 verdicts (MALCHANCE/RISQUE_ASSUMÉ/MAUVAIS_CHOIX/COUVERTURE_RATÉE/FACTEUR_EXTERNE) + recommandation
POST/api/chat/ask
Chatbot Kimi cascade FR anti-hallu 0.996. Body : {question, match_id?}
GET/api/regime/detect?user_id=X
7 régimes marché (CALME/BULL/VOLATIL/DRAWDOWN_PROFOND/BEAR/RECOVERY) + VaR/ES forecast
🔐 Auth (token UUID, simple)
POST/api/auth/register
Body : {email} → retourne token UUID. Welcome email automatique si RESEND_API_KEY actif.
GET/api/auth/validate?token=XYZ
Vérifie validité d'un token
⚖️ RGPD (art.17 delete + art.20 export)
DELETE/api/auth/delete-account
RGPD art.17 — Suppression compte + données. Body : {email, token}. Purge async dans 30j.
GET/api/rgpd/export-data?email=X&token=Y
RGPD art.20 — Portabilité : exporte toutes les données utilisateur en JSON
📊 Monitoring
GET/health
Try →
Uptime check léger
GET/health/full
Try →
DB connectivity + counts + version
GET/metrics
Try →
Prometheus text format 0.0.4 : uptime, db_size, table_counts, supervisor_issues_4h, anti_hallu_score_24h
📋 Conventions générales
- Base URL :
https://betrecord.duckdns.org
- Format : JSON UTF-8 (sauf
/metrics en text/plain)
- Rate limit : 60 req/min/IP (admin endpoints : lockout 15min après 5 fails)
- Pagination :
?limit=N&offset=M sur endpoints liste (limit max 200)
- Cache : TTL 30s-1h selon endpoint, ETag à venir
- Auth admin : Header
X-Admin-Token: $BETRECORD_ADMIN_TOKEN
- Auth user : Header
Authorization: Bearer $TOKEN
- OpenAPI/Swagger interactif : /docs · /openapi.json