BetPawa APIbetpawa.ng ↗
Access BetPawa Nigeria sports, competitions, live and pre-match events, and full market odds via 4 structured API endpoints.
What is the BetPawa API?
The BetPawa Nigeria API gives developers structured access to the full sportsbook across 4 endpoints: sports catalog, regional competition trees, paginated event listings with odds summaries, and complete per-event market data. The get_event_markets endpoint alone returns every market type offered for an event — including decimal odds, implied win probabilities, cashout eligibility, and live score state — making it useful for odds comparison tools, betting research, and sports data pipelines targeting the Nigerian market.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/4eaa93e8-7c9f-4b08-9688-f9a8bde94441/list_sports' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns every sport currently offered on the sportsbook with its live/upcoming/hot (and, where present, outright) event counts. One round trip, no parameters, no pagination. The returned sport_id is the key accepted by list_competitions and list_events.
No input parameters required.
{
"type": "object",
"fields": {
"sports": "array of sport records: sport_id (string key), name, priority (integer display ordering), event_counts (object of integers keyed live/upcoming/hot/outright; keys absent when the site reports no count)"
},
"sample": {
"data": {
"sports": [
{
"name": "Basketball",
"priority": 300,
"sport_id": "3",
"event_counts": {
"hot": 37,
"live": 5,
"upcoming": 72
}
},
{
"name": "Football",
"priority": 200,
"sport_id": "2",
"event_counts": {
"hot": 82,
"live": 11,
"outright": 9,
"upcoming": 1473
}
}
]
},
"status": "success"
}
}About the BetPawa API
Sports and Competition Coverage
The list_sports endpoint returns every sport currently active on BetPawa Nigeria — each record includes a sport_id, display name, priority ordering, and a breakdown of live, upcoming, hot, and (where applicable) outright event counts. That sport_id is the key that flows into the other endpoints. list_competitions accepts a sport_id and returns the full region-and-competition tree: roughly 90 regions for football, each with nested competitions carrying competition_id, name, slug, priority, and event counts.
Event Listings with Odds Summaries
The list_events endpoint returns upcoming or in-play events for a given sport, with optional filters by competition_ids (comma-separated) and market_type_ids. It paginates via skip and take (page sizes above 100 are clamped); the response echoes both values and includes a has_more boolean and next_skip integer so you can walk pages without guessing offsets. Each event record carries event_id, name, start_time in ISO 8601 UTC, and a participants array with participant_id, name, and position (1 = home, 2 = away), plus a summary market set filtered by any market_type_ids you passed.
Full Market Data Per Event
get_event_markets accepts an event_id from the events list and returns the complete market set for that event. Markets are grouped by market_type_id and name, with an explainer field, priority, tabs, and a cashoutable boolean. Each market contains rows (one per line/handicap/specifier — e.g. Over/Under 2.5, Next Goal (1)) and each row's selections carry decimal odds and implied win probabilities. For in-play events the live flag is true and the live_state object exposes the current minute, current_period, and per-participant period scores. The start_time, competition, region, and sport objects are also returned at the event level for easy context without a second lookup.
The BetPawa API is a managed, monitored endpoint for betpawa.ng — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when betpawa.ng changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official betpawa.ng API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build an odds comparison dashboard for Nigerian sportsbook markets using
get_event_marketsdecimal odds and implied probabilities. - Monitor live in-play events and score updates using
list_eventswith the in-play event type andlive_statefromget_event_markets. - Aggregate pre-match football fixtures by competition using
list_competitionsregion trees andcompetition_idsfiltering onlist_events. - Track market availability and cashout eligibility across event types by reading the
cashoutableflag per market inget_event_markets. - Power a sports alert system that pages through upcoming events via the
skip/takepagination and watchesstart_timefields. - Analyse competition depth per sport by comparing
event_countsacross regions returned bylist_competitions.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does BetPawa Nigeria have an official public developer API?+
What does `get_event_markets` return for live events versus pre-match events?+
live boolean is true and the live_state object is populated with the current minute, current_period, and per-participant period scores. For pre-match events live_state is null.Does `list_events` return all events in one call?+
skip and take parameters, with take clamped to a maximum of 100. The response includes a has_more boolean and a next_skip integer you can feed directly into the next call to walk through all available events.Does the API expose historical results, settled bet outcomes, or player/team statistics?+
Can I retrieve markets for a specific competition without knowing individual event IDs?+
list_events by one or more competition_ids (comma-separated values from list_competitions) to get events scoped to those competitions, each with a summary market set. To get the full market depth for any specific event you then pass its event_id to get_event_markets.