Fixtures / events (prematch & live)
List fixtures with optional filtering by sport, league, date range, or incremental polling via since.
Prematch vs Live: By default returns prematch fixtures. Set live=1 for live/in-play events. Live fixtures have a parent_id pointing to the prematch counterpart.
Resolving the live counterpart: Pass parent_id=<prematch event_id>&live=1 to get the live/in-play child event(s) of a prematch fixture in one call — works during the match and after settlement. The main match is the row with resulting_unit = "Regular"; Corners/Bookings variants appear as separate children with the same parent_id. With live=0 (default), parent_id returns the prematch children instead (the Corners/Bookings fixtures).
Polling pattern: Use since with an ISO 8601 timestamp to get only fixtures added or updated since your last poll. Ideal for building a local cache.
Time window: starts_from and starts_to accept both YYYY-MM-DD and YYYY-MM-DD HH:MM:SS (UTC) — pass a full datetime for narrow windows like "next 2 hours". Date-only starts_to includes the entire day (so starts_to=2026-04-12 still catches kickoffs at 23:45).
Response fields:
-
event_id — Unique event identifier (use in /api/odds, /api/closing, etc.)
-
starts — Scheduled kickoff (UTC)
-
runner_home / runner_away — Team/player names
-
live_status — null = prematch, 1 = currently live
-
resulting_unit — Settlement basis when not standard match result (e.g. "Corners", "Bookings"). Appears as suffix in runner names.
-
parent_id — For live fixtures, the prematch event_id for the same match
-
version — Increments on any metadata change (name, time, etc.)
-
closing_available / opening_available filters — set to 1 to get only fixtures with closing/opening data
Request
- Base URL: https://api.bettingiscool.com (the document declares no server; this is the origin it was published from)
- URL: https://api.bettingiscool.com/api/fixtures
- Auth: API key in header X-API-Key
Query parameters
Look up a specific event
Find child fixtures of a prematch event: combine with live=1 for the live/in-play counterpart, or live=0 (default) for prematch children like Corners/Bookings
YYYY-MM-DD or YYYY-MM-DD HH:MM:SS (UTC). T separator and trailing Z accepted.
YYYY-MM-DD or YYYY-MM-DD HH:MM:SS (UTC). Date-only includes the entire day.
Only fixtures added/updated after this timestamp (ISO 8601)
0 = prematch only (default), 1 = live/in-play only
1 = only fixtures with closing data
1 = only fixtures with opening data
Max rows returned (default 100, hard cap 1000). When the result is truncated, the response carries an X-Truncated: true header. Only raise this if you really need more rows in a single call — and combine it with league_id, since, or a starts_from/starts_to window so the response stays small and fast.
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.