Cdn Hudstats APIapi-h2h.cdn-hudstats.com ↗
Access eBasketball H2H GG League schedules, live scores, and results via 2 endpoints. Covers upcoming, live, and completed NBA 2K head-to-head games.
What is the Cdn Hudstats API?
This API provides read-only access to the official eBasketball H2H GG League (NBA 2K head-to-head) schedule and live game board across 2 endpoints. The get_schedule endpoint returns every game across up to 14 consecutive UTC days — including externalId, start time, team names, participant names, scores, and cancellation status — while get_live_games returns the current live board with real-time scores and next-up games per stream.
curl -X GET 'https://api.parse.bot/scraper/1caa535a-0ea4-47bc-a0a3-6acd01fc98e2/get_schedule?date=2026-10-06&days=1' \ -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 api-h2h-cdn-hudstats-com-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: eBasketball H2H GG League — live board + schedule, bounded."""
from parse_apis.api_h2h_cdn_hudstats_com_api import EBasketball, InputFormatInvalid
client = EBasketball()
# Check the live board for games currently in progress or next up.
for game in client.live_games.list(limit=5):
score = f"{game.team_a_score}-{game.team_b_score}" if game.team_a_score is not None else "not started"
print(f"[{game.status}] {game.team_a_name} vs {game.team_b_name} ({score}) on {game.stream_name}")
# Pull yesterday's schedule (1 day) with a typed-error guard for bad dates.
try:
scheduled = client.games.list(date="2026-10-06", days=1, limit=10)
except InputFormatInvalid:
print("Bad date format — use YYYY-MM-DD")
else:
for game in scheduled:
status = game.match_status or "upcoming"
print(f"{game.team_a_name} vs {game.team_b_name} {status} {game.start_date:%Y-%m-%d %H:%M}")
# Drill into the first completed game from a two-day window.
first_game = client.games.list(date="2026-10-06", days=2, limit=1).first()
if first_game is not None:
print(f"\nFirst game: {first_game.external_id}")
print(f" {first_game.team_a_name} {first_game.team_a_score} – {first_game.team_b_score} {first_game.team_b_name}")
print(f" Tournament: {first_game.tournament_name}")
print(f" Cancelled: {first_game.is_cancelled}")
print("exercised: live_games.list / games.list")
Returns every eBasketball H2H GG League game scheduled on one or more UTC calendar days, combining upcoming and completed games in one list. One upstream schedule request is made per requested day (days 1..14), starting at the given date and moving forward; each day's rows are appended unchanged, in the order the league publishes them (newest start time first within a day). Every original game field is preserved as delivered: upcoming games carry null matchStatus and null scores, finished games carry a matchStatus such as MATCH_ENDED with integer scores. A day with no games contributes nothing; a date with no games at all yields an empty games list with total_games 0 (valid success). Dates in the far past or future have no games. No filtering, estimation or calculation is applied to the league data.
| Param | Type | Description |
|---|---|---|
| daterequired | string | First UTC calendar day to fetch, ISO date YYYY-MM-DD. Each day covers 00:00:00 to 23:59:59 UTC. |
| days | integer | Number of consecutive days to fetch starting at date, 1 to 14 inclusive. Each additional day costs one more upstream request. |
{
"type": "object",
"fields": {
"dates": "array of the ISO YYYY-MM-DD days that were requested, in order",
"games": "array of game rows exactly as published: externalId (string game id), startDate (ISO 8601 UTC), isCancelled (boolean), teamAName/teamBName (NBA team names), participantAName/participantBName (player handles), streamName, tournamentName, matchStatus (null for upcoming; e.g. MATCH_ENDED when finished), teamAScore/teamBScore (integers, null when not yet played)",
"total_games": "integer count of games across all requested days"
},
"sample": {
"data": {
"dates": [
"2026-10-06"
],
"games": [
{
"startDate": "2026-10-06T23:59:00Z",
"teamAName": "Phoenix Suns",
"teamBName": "Memphis Grizzlies",
"externalId": "NB269061026",
"streamName": "Ebasketball 4",
"teamAScore": 58,
"teamBScore": 49,
"isCancelled": false,
"matchStatus": "MATCH_ENDED",
"tournamentName": "Ebasketball H2H GG League",
"participantAName": "KOBRA",
"participantBName": "NIGHTHAWK"
}
],
"total_games": 258
},
"status": "success"
}
}About the Cdn Hudstats API
Schedule Endpoint
The get_schedule endpoint accepts a required date parameter (ISO 8601 format, e.g. 2024-03-15) and an optional days integer between 1 and 14. It returns a dates array listing each requested UTC calendar day, a games array containing one row per game, and a total_games count. Each game row includes externalId (the league's own string game identifier), startDate (ISO 8601 UTC timestamp), isCancelled (boolean), teamAName / teamBName, and participant names for both sides. Scores for completed games are included in the same rows. Requesting multiple days in a single call pulls each day's data sequentially, so response time scales with the days value.
Live Games Endpoint
The get_live_games endpoint takes no parameters and returns the league's current live board as a games array plus a total_games count. Observed responses contain roughly 10 rows: games with status: live carry running integer scores, while games with status: scheduled have null scores and represent the next upcoming slot on each stream. Each row also includes a streamName field that identifies which broadcast channel the game is on, alongside teamAName, teamBName, participantAName, and participantBName.
Data Coverage and Freshness
All times are UTC. The schedule covers both upcoming and completed games within the requested window — there is no separate historical-only or upcoming-only filter on get_schedule. The live board reflects the league's current published state and is intended for polling use cases that need near-real-time score updates during active broadcast windows.
The Cdn Hudstats API is a managed, monitored endpoint for api-h2h.cdn-hudstats.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when api-h2h.cdn-hudstats.com 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 api-h2h.cdn-hudstats.com 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?+
- Display a live scoreboard widget for eBasketball H2H GG League matches using
get_live_gamesstatus and score fields - Build a daily fixture list for the next 7 days by calling
get_schedulewithdays=7 - Alert subscribers when a game is cancelled by monitoring the
isCancelledboolean in schedule responses - Show which stream (
streamName) a live or upcoming match will broadcast on - Track participant head-to-head records by collecting
participantAName/participantBNameand final scores over time - Automate fantasy or prediction app data ingestion by fetching completed game results via
get_schedulefor a past date range
| 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 api-h2h.cdn-hudstats.com have an official public developer API?+
What does `get_live_games` return, and how does it differ from `get_schedule`?+
get_live_games returns the league's current live board — games actively in progress with running scores (status: live) and the next scheduled game per stream (status: scheduled, null scores). get_schedule returns all games for one or more full UTC calendar days, both upcoming and completed, but does not include a live status field or real-time score updates.Can I fetch historical results beyond 14 days at once?+
days parameter on get_schedule accepts 1 to 14 days per call. To cover a longer range you would make multiple calls, each advancing the date parameter by up to 14 days. There is no single-call bulk historical dump available.Does the API expose player statistics, standings, or season-level data?+
Are games filterable by team or participant name within a single request?+
get_schedule returns all games for the requested date range and get_live_games returns the full live board; filtering must be applied client-side on the teamAName, teamBName, participantAName, or participantBName fields in the response. You can fork the API on Parse and revise it to add server-side filtering parameters.