API Documentation
Base URL: https://fillesabet.com | Authentication: X-API-Key: your_api_key
REST Endpoints
GET/odds/v1/status
Service health check — live event count, last update timestamp, WebSocket client count.
curl -H "X-API-Key: YOUR_KEY" https://fillesabet.com/odds/v1/status
{"success":true,"live_events":64,"prematch_events":0,"last_update":1775131802036,"ws_clients":2}
GET/odds/v1/sports
List all available sports with live and prematch event counts.
curl -H "X-API-Key: YOUR_KEY" https://fillesabet.com/odds/v1/sports
GET/odds/v1/live?sport=1
Get all live events. Optional ?sport=N to filter by sport ID (1=Soccer, 2=Basketball, 5=Tennis, etc.).
curl -H "X-API-Key: YOUR_KEY" "https://fillesabet.com/odds/v1/live?sport=1"
{"success":true,"sport":1,"ts":1775131802036,"data":{"12345":{"id":"12345","home":"Team A","away":"Team B","sport":1,"league":"Premier League","start":1775100000,"score":{"home":1,"away":0},"state":1,"live":true,"markets":{"1":{"name":"1X2","outcomes":{"1":{"name":"1","odds":1.85,"active":true},...}}}}}}
GET/odds/v1/prematch?sport=1
Get all pre-match events. Same parameters as /live.
curl -H "X-API-Key: YOUR_KEY" "https://fillesabet.com/odds/v1/prematch?sport=1"
GET/odds/v1/event?id=12345&sport=1
Get a single event by ID. Optional ?sport=N for faster lookup.
curl -H "X-API-Key: YOUR_KEY" "https://fillesabet.com/odds/v1/event?id=12345"
WebSocket (Real-time)
WSwss://fillesabet.com/odds-ws?api_key=YOUR_KEY
Connect for real-time live odds push. Receives a snapshot on connect, then diff updates every ~3 seconds when odds change.
const ws = new WebSocket('wss://fillesabet.com/odds-ws?api_key=YOUR_KEY');
ws.onmessage = (e) => {
const msg = JSON.parse(e.data);
if (msg.type === 'snapshot') {
// Full initial data: msg.live, msg.prematch
}
if (msg.type === 'live_update') {
// Updated live odds: msg.data (same structure as /odds/v1/live)
}
};
Sport IDs
1=Soccer 2=Basketball 3=Baseball 4=Ice Hockey 5=Tennis
6=Handball 7=Volleyball 10=Boxing 20=Table Tennis
21=Badminton 22=Snooker 23=Darts
Rate Limits
| Plan | Requests/min | Access |
| Free | 10 | Live only |
| Basic | 60 | Live + Prematch |
| Pro | 300 | All endpoints + WebSocket |