Pre-Match Odds Across 10 Sports
Full pre-match odds for Soccer, Basketball, Tennis, Baseball, Boxing, Cricket, MMA, and Rugby League from Betfred. Match result, over/under, handicaps, and many more markets.
Betfred Data API
Access pre-match and live odds from Betfred across 10 sports plus horse racing and greyhounds. Normalized markets, paginated REST endpoints, real-time WebSocket streaming, and full Swagger documentation. One API key for all bookmakers.
{
"total": 142,
"page": 1,
"limit": 5,
"totalPages": 29,
"hasNextPage": true,
"events": [
{
"sport": "soccer",
"country": "England",
"league": "Premier League",
"eventId": "32861947",
"home": "Arsenal",
"away": "Chelsea",
"live": false,
"startTime": "2026-03-25T15:00:00.000Z",
"markets": [
{
"canonicalMarket": "MATCH_RESULT",
"rawName": "Match Odds",
"period": "FULL_TIME",
"isActive": true,
"marketId": "1.234567890",
"selections": [
{
"canonicalOutcome": "HOME",
"rawName": "Arsenal",
"odds": 1.85,
"isActive": true,
"selectionId": "48291034"
},
{
"canonicalOutcome": "DRAW",
"rawName": "Draw",
"odds": 3.60,
"isActive": true,
"selectionId": "48291035"
},
{
"canonicalOutcome": "AWAY",
"rawName": "Chelsea",
"odds": 4.20,
"isActive": true,
"selectionId": "48291036"
}
]
}
]
}
]
}Subscribe to a sport and receive in-play events pushed every second. Available on PRO and MAX plans.
{
"sport": "soccer",
"timestamp": 1730000000000,
"count": 12,
"data": [
{
"sport": "soccer",
"league": "Premier League",
"eventId": "255765604",
"home": "Arsenal",
"away": "Chelsea",
"score": { "home": 1, "away": 0 },
"matchClock": { "minute": 37, "phase": "FIRST_HALF" },
"markets": [ /* live market odds */ ]
}
]
}Full pre-match odds for Soccer, Basketball, Tennis, Baseball, Boxing, Cricket, MMA, and Rugby League from Betfred. Match result, over/under, handicaps, and many more markets.
Real-time in-play events pushed every second over an authenticated WebSocket. Scores, match clock, statistics, and live market odds. Available on PRO and MAX plans.
All markets use canonical naming - MATCH_RESULT, OVER_UNDER, ASIAN_HANDICAP, etc. Same structure across all sports and bookmakers. No mapping headaches.
Full race coverage with race cards, each-way odds, and runner details for both horse racing and greyhounds. Updated in real time as races approach.
PulseScore provides pre-match and live odds from Betfred for Soccer, Basketball, Tennis, Baseball, Boxing, Cricket, MMA, Rugby League, Horse Racing, and Greyhounds. Each event includes normalized market data with canonical market types, selections, and odds.
Soccer, Basketball, Tennis, Baseball, Boxing, Cricket, MMA, Rugby League, Horse Racing, and Greyhounds. Each sport has league or race listings and individual event endpoints with full market coverage.
Yes. PRO and MAX plans can connect to wss://api.pulsescore.net/api/betfred/ws/live?key=<API_KEY>&sport=<sport> to receive in-play events pushed every second, including scores, match clock, statistics, and live market odds. Pre-match data is available over REST on all plans.
All markets use a canonical format: each market has a type (e.g., MATCH_RESULT, OVER_UNDER), period (FULL_TIME, FIRST_HALF), and selections with decimal odds. The same structure is used across all sports and bookmakers.
Yes. The BASIC plan is free and includes 500 API requests per month for pre-match REST endpoints. Live WebSocket streaming requires a PRO or MAX plan.
Yes. A single API key gives you access to all bookmakers included in your plan. No need for separate keys or accounts.
Sign up for a free account, generate an API key from your dashboard, and pass it via the X-Secret header for REST requests (or the key query parameter for WebSocket). The same key works for all bookmaker APIs.
Free tier available. No credit card required. Get your API key in 30 seconds.