Com APIbetpawa.com.gh ↗
Access BetPawa Ghana sports odds, live events, markets, and leagues via 6 structured endpoints. Football, basketball, tennis, and eFootball data.
What is the Com API?
The BetPawa Ghana API covers 6 endpoints that expose upcoming events, live match data, popular fixtures, full market odds, sport categories, and league listings from BetPawa's Ghana sportsbook. The get_event_detail endpoint alone returns all available betting markets for a single event — including 1X2, Double Chance, Both Teams To Score, and Over/Under — along with region, competition, and participant data structured for direct use.
curl -X GET 'https://api.parse.bot/scraper/1ea07ad7-b11e-44bb-adbc-91a0416eca1d/get_upcoming_events?skip=0&take=5&sport_id=2' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace betpawa-com-gh-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.betpawa_ghana_sportsbook_api import BetPawa, Sport, EventNotFound
betpawa = BetPawa()
# List available sports categories
for cat in betpawa.sportcategories.list():
print(cat.category.name, cat.event_counts.upcoming)
# Get upcoming football events
for event in betpawa.eventsummaries.list_upcoming(sport_id=Sport.FOOTBALL, take=5):
print(event.name, event.start_time, event.total_market_count)
for participant in event.participants:
print(f" {participant.name} (position {participant.position})")
# Get popular events and drill into details
for popular in betpawa.eventsummaries.list_popular(limit=3):
full_event = popular.details()
print(full_event.name, full_event.competition.name, full_event.region.name)
for market in full_event.markets:
print(f" {market.market_type.name}")
for row in market.row:
for price in row.prices:
print(f" {price.name}: {price.price}")
# Get leagues for tennis
for league in betpawa.leagueregions.list(sport_id=Sport.TENNIS):
print(league.category.name, league.event_counts.upcoming)
for rc in league.regions:
print(f" {rc.region.name}")
for entry in rc.competitions:
print(f" {entry.competition.name}: {entry.event_counts.upcoming}")
Get upcoming sports events with odds for a given sport category. Returns a flat array of events including names, participants, start times, 1X2 odds, and market counts. Paginated via skip/take parameters.
| Param | Type | Description |
|---|---|---|
| skip | integer | Number of events to skip for pagination. |
| take | integer | Number of events to return per request (max 50). |
| sport_id | string | Sport category ID. Values: '2' (Football), '3' (Basketball), '452' (Tennis), '101' (eFootball). |
{
"type": "object",
"fields": {
"events": "array of event objects with id, name, participants, startTime, markets, totalMarketCount, category, region, competition"
},
"sample": {
"data": {
"events": [
{
"id": "35591917",
"name": "Gremio Esportivo Brasil - Gremio Atletico Farroupilha RS",
"region": {
"id": "128",
"name": "Brazil"
},
"markets": [
{
"row": [
{
"prices": [
{
"name": "1",
"price": 1.24
},
{
"name": "X",
"price": 5.1
},
{
"name": "2",
"price": 11.77
}
]
}
],
"marketType": {
"id": "3743",
"name": "1X2 - FT"
}
}
],
"category": {
"id": "2",
"name": "Football"
},
"startTime": "2026-06-10T22:30:00Z",
"competition": {
"id": "13647",
"name": "Copa FGF"
},
"participants": [
{
"id": "661520",
"name": "Gremio Esportivo Brasil",
"position": 1
},
{
"id": "705737",
"name": "Gremio Atletico Farroupilha RS",
"position": 2
}
],
"totalMarketCount": 30
}
]
},
"status": "success"
}
}About the Com API
Event Discovery and Odds
The get_upcoming_events endpoint accepts a sport_id parameter to filter by Football (2), Basketball (3), Tennis (452), or eFootball (101), with skip and take integers for pagination. Responses include event id, name, participant arrays, start times, 1X2 odds, and a totalMarketCount per event. get_popular_events surfaces up to 20 featured Football fixtures sorted by ascending start time, each including a popularity score alongside odds and market counts. These two endpoints together serve as the primary discovery layer for event IDs used downstream.
Live and Detailed Market Data
get_live_events requires no parameters and returns currently in-progress events across all four sports. Each event includes real-time results (scores), the current period, participant data, and available market odds — making it suitable for dashboards that need to reflect match state. For full market depth on any event, get_event_detail accepts a required event_id and returns the complete market list: each market object carries a marketType and a row containing price/odds entries. The response also includes region, competition, category, startTime (ISO 8601 UTC), and participants with position labels.
Platform Configuration and League Structure
get_sports_categories returns platform-level metadata: a brand object (currency, language, country), sportsbook category array with sport IDs and display priorities, betting limits covering both real and virtual markets (maxBetWin, minStake), and bonusConfigurations. This endpoint is useful for dynamically enumerating available sport IDs rather than hardcoding them. get_leagues_by_sport accepts the same sport_id values and returns competitions grouped by region, with per-competition event counts (live and upcoming) and a weekly schedule breakdown — useful for building league navigation or identifying which competitions have active fixtures.
The Com API is a managed, monitored endpoint for betpawa.com.gh — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when betpawa.com.gh 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.com.gh 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?+
- Odds comparison tool tracking 1X2 and Over/Under prices across Football leagues on BetPawa Ghana
- Live match dashboard consuming
get_live_eventsto display real-time scores and current period for in-play betting - League browser using
get_leagues_by_sportto list active competitions with live and upcoming event counts - Event aggregator pulling
get_upcoming_eventsfor multiple sport IDs to consolidate fixture schedules - Betting analytics pipeline using
get_event_detailto collect full market odds snapshots per event ID - Platform configuration reader using
get_sports_categoriesto extract betting limits and available sport categories dynamically
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does BetPawa Ghana have an official public developer API?+
What does `get_event_detail` return beyond basic odds?+
region, competition, category, ISO 8601 startTime, participants with position labels, and totalMarketCount. Pass an event_id obtained from get_upcoming_events, get_live_events, or get_popular_events.Does the API cover historical match results or settled bet outcomes?+
Is `get_popular_events` limited to Football, and can it be filtered by league?+
get_popular_events returns only Football fixtures and does not accept a league or competition filter — it returns up to 20 events ranked by popularity score. get_leagues_by_sport can be used to identify specific competitions, and get_upcoming_events with sport_id=2 supports pagination for broader Football fixture discovery. You can fork this API on Parse and revise it to add league-level filtering for popular events.How does pagination work in `get_upcoming_events`?+
skip (number of events to skip) and take (number of events to return) as integer query parameters alongside sport_id. To retrieve the next page, increment skip by the value of take. The response wraps results in a responses array, each item containing a request echo and the matched event objects.