Bet APIbet365.bet.br ↗
Access live odds, in-play scores, featured events, and sport categories from bet365.bet.br via 6 structured JSON endpoints. No account required.
What is the Bet API?
This API exposes 6 endpoints covering betting markets, live scores, and sport navigation from bet365 Brazil (bet365.bet.br). The get_home_featured_events endpoint returns a hierarchical tree of classes, events, markets, and selections from the homepage, while get_live_events delivers in-play odds and current scores in real time. Sport categories with their internal path identifiers (pd) are available via get_sport_categories for use as inputs to downstream event queries.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/918eea81-bc93-4371-9f5f-ba15d447636d/get_home_featured_events' \ -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 bet365-bet-br-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.
"""Walkthrough: bet365 Brazil SDK — bounded, re-runnable; every call capped."""
from parse_apis.bet365_brazil_betting_data_api import Bet365, SportCategory, FeaturedContent, NotFoundError
client = Bet365()
# List available sport categories (trending, A-Z sports, motorsport variants)
for category in client.sportcategories.list(limit=5):
print(category.name, category.pd, category.id)
# Get homepage featured content — betting markets, banners, promotions
featured = client.featuredcontents.get()
print(f"Featured tree nodes: {len(featured.tree)}, raw sections: {len(featured.raw_sections)}")
# Walk the tree: each node has type, optional name, and nested events/markets
for node in featured.tree[:3]:
print(node.type, node.IT, node.NA)
for ev in node.events[:2]:
print(f" event: {ev.type} markets={len(ev.markets)}")
# Typed error handling
try:
_ = client.featuredcontents.get()
except NotFoundError as exc:
print(f"Featured content unavailable: {exc}")
print("exercised: sportcategories.list / featuredcontents.get / tree traversal")
Extracts featured sports sections, betting markets, promotional banners, and popular bets from the bet365 Brazil homepage. Returns a hierarchical tree structure with classes (CL), events (EV), markets (MA), and selections (PA), plus the raw parsed sections from the proprietary delimited response format. The tree contains sport navigation shortcuts, promotional banners with images and links, and spotlight betting markets with odds.
No input parameters required.
{
"type": "object",
"fields": {
"tree": "array of hierarchical event/market objects with type CL (class), EV (event), MA (market), PA (selection)",
"raw_sections": "array of raw parsed record arrays from the delimited response format"
},
"sample": {
"data": {
"tree": [
{
"IT": "#CR#LEAGUES#CONT#",
"type": "CL",
"events": [
{
"type": "EV",
"markets": [
{
"CL": "1",
"IM": "WC26-Crest",
"NA": "Copa do Mundo",
"PD": "#AS#B1#I%5E88#J%5E1#K%5E1#",
"type": "MA",
"selections": []
}
]
}
]
}
],
"raw_sections": [
[
{
"type": "F"
},
{
"CO": "1",
"IT": "#HO#COL1#PDCOL1#",
"type": "PS"
}
]
]
},
"status": "success"
}
}About the Bet API
Homepage and Featured Markets
get_home_featured_events returns two top-level fields: tree and raw_sections. The tree array is a hierarchical structure where each node carries a type of CL (class/sport group), EV (event), MA (market), or PA (selection/outcome). This lets you traverse from a sport grouping down to individual bet options without post-processing. raw_sections gives you the pre-parsed record arrays if you need the unstructured source representation. Promotional banners and popular bets appear alongside standard market data.
Sport Navigation and Event Retrieval
get_sport_categories returns an array of objects each containing name, pd (the internal path identifier, e.g. #AS#B1# for Soccer), and a numeric id. These pd values feed directly into get_sport_events, which accepts a pd_path string parameter and returns the corresponding tree array of events and markets for that sport or competition. get_formula1_events is a fixed convenience endpoint that calls the Formula 1 path automatically, so no parameter is needed.
Live and Scores Endpoints
get_live_events returns a tree array of currently in-play matches along with a message field that may carry status or context information. Scores and real-time odds are included inline with the event tree nodes. get_scores_placares targets the scores section of the site and returns a tree array of live and recently completed match results alongside a path string confirming the section queried. Both endpoints require no inputs.
Data Shape Notes
All event trees use the same CL / EV / MA / PA type hierarchy across endpoints, so parsing logic written for get_home_featured_events transfers directly to get_sport_events and get_live_events. The pd path identifiers from get_sport_categories are opaque strings that the site uses for navigation; treat them as enum values rather than structured URLs.
The Bet API is a managed, monitored endpoint for bet365.bet.br — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bet365.bet.br 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 bet365.bet.br 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?+
- Aggregate current odds for Brazilian football markets by pulling from
get_sport_eventswith the Soccerpdpath. - Build a live scores dashboard using the
treenodes fromget_live_eventsandget_scores_placares. - Track homepage promotions and featured bets by parsing the
raw_sectionsfield fromget_home_featured_events. - Enumerate all available sport categories and their IDs with
get_sport_categoriesto drive sport-selection UI. - Monitor Formula 1 pre-race and race-day odds without constructing a path parameter using
get_formula1_events. - Compare market depth (number of
MAnodes per event) across sports by querying multiplepdpaths. - Detect new competition additions to the left navigation by diffing successive
get_sport_categoriesresponses.
| 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 bet365 offer an official developer API?+
What does the `tree` field returned by `get_home_featured_events` actually contain?+
type field set to one of four values: CL (class or sport group), EV (event), MA (market), and PA (selection/outcome). Children are nested under their parent node, so you can walk the tree to reach individual bet options. raw_sections contains the same data as flat parsed record arrays if you prefer working with the unprocessed form.How do I query events for a sport other than Formula 1?+
get_sport_categories first to retrieve the full list of sport objects, each containing a pd path identifier. Pass the relevant pd value as the pd_path parameter to get_sport_events. For example, Soccer uses #AS#B1#. get_formula1_events is the only sport with a dedicated no-parameter endpoint.Does the API cover historical odds or completed match archives?+
get_live_events, recent scores via get_scores_placares, and current pre-match markets via get_sport_events. Historical odds lines and full match archives are not exposed. You can fork this API on Parse and revise it to add an endpoint targeting a historical data section if one becomes available on the site.