What is ABP?
The Automated Bet Placing (ABP) API lets you place bets across 30+ bookmakers through a single integration. Instead of building and maintaining individual bookmaker connectors, ABP handles the entire lifecycle from bet placement through settlement. Core capabilities:- Account management — Configure multiple bookmaker accounts per bookmaker with priority-based selection, per-account stake limits, and multi-currency support
- Betslip retrieval — Get real-time odds and limits for any fixture/outcome across all configured bookmakers before placing
- Smart order routing — Place single or bulk orders with four placement modes: single strict, single fill, multi parallel, and multi sequential
- Bet tracking — Monitor every bet from placement through confirmation and settlement with full audit trail
- Position & PnL analytics — Aggregated views of exposure and profit/loss across all bookmakers and fixtures
Base URL
Key concepts
Orders vs bets
An order is your instruction to place a bet. A bet is the actual wager placed on a bookmaker. One order can result in multiple bets when using partial fills or multi-bookmaker routing.Order placement modes
| Mode | Bookmakers | Partial Stake | Behavior |
|---|---|---|---|
| Single strict | 1 | No | All-or-nothing at orderPrice or better |
| Single fill | 1 | Yes | Fill via multiple bets, weighted average >= orderPrice |
| Multi parallel | Many | No | One bet per bookmaker, placed in parallel |
| Multi sequential | Many | Yes | Best price first, exhaust each bookmaker before next |
Order lifecycle
- PENDING — Order received and queued
- PROCESSING — Routing to bookmakers
- FILLED — All stake placed successfully
- PARTIALLY_FILLED — Some stake placed, remaining expired or no capacity
- REJECTED — Failed validation (bad odds, invalid fixture, etc.)
- EXPIRED — Order
expiresAttime reached (default: 5 seconds) - CANCELLED — Explicitly cancelled by client
Bet lifecycle
Settlement lifecycle
- Half won / Half lost — Asian handicap partial results
- Push — Stake returned (tie on the line)
- Cashout — Early withdrawal at negotiated price
Account priority
Each bookmaker account has apriority field (higher = preferred). When placing an order, ABP selects the highest-priority active account first for each bookmaker.
Bookmaker slugs
Bookmakers are identified by slug strings (e.g.,pinnacle, betfair_ex, sbobet, polymarket). Use GET /bookmakers to list all 30+ supported bookmakers.
Request deduplication
Each order requires a uniquerequestUuid. ABP uses server-side deduplication (5-minute TTL) to prevent duplicate placements. Duplicate requests return 409 Conflict.
Endpoints at a glance
| Category | Endpoints | Description |
|---|---|---|
| Accounts | GET/POST/PATCH/DELETE /accounts | Manage bookmaker accounts (credentials, balances, priority, limits) |
| Betslip | GET /betslip | Get live odds & limits before placing |
| Orders | POST /place-orders, GET /orders | Place and track orders |
| Bets | GET /bets | View individual bet results |
| Settlements | GET /settlements | View settlement history |
| Analytics | GET /positions, GET /pnl | Aggregated exposure and P&L |
| Bookmakers | GET /bookmakers | List all supported bookmakers |
| Currencies | GET /currencies | Available currencies and exchange rates |
| WebSocket | WS /ws | Real-time updates |
Supported bookmakers
Traditional sportsbooks: pinnacle, pinnacleb2b, bet365, betcris, bookmaker_eu, cloudbet, cloudbetb2b, justbet, kaiyun, matchbook, monkeyline_vip, novig_us, one98bet, paradisewager, sharpbet, singbet, sports411_ag, threeet, threeetpp Betting exchanges: betfair_ex, smarkets Prediction markets: polymarket, polymarket_us, kalshi, predict_fun, prophetx, sx_bet, vertex, fourcasters Punter platforms: punter_io, punter_ioppResilience
ABP includes production-grade reliability features:- Circuit breakers — Per-bookmaker circuit breakers prevent cascading failures and auto-recover
- Retry with exponential backoff — for transient failures
- Emergency controls — Orders may be temporarily paused during system maintenance
- Rate limiting — Per-API-key rate limits (configurable per client)