Discover/ATG API
live

ATG APIatg.se

Access ATG.se race calendars, horse profiles, startlists, and race results via a structured API. Covers 5 endpoints for Swedish harness and thoroughbred racing data.

Endpoint health
verified 1d ago
get_game_results
get_race_details
get_horse_profile
get_race_calendar
get_startlist
5/5 passing latest checkself-healing
Endpoints
5
Updated
18d ago

What is the ATG API?

The ATG.se API exposes 5 endpoints covering Swedish horse racing data: daily race calendars, individual race details with full starter lists, horse profiles with pedigree and lifetime statistics, game startlists with pool data, and completed game results. The get_race_details endpoint returns per-starter fields including horse, driver, result, and betting pool data for a given race ID.

Try it
Date in YYYY-MM-DD format.
api.parse.bot/scraper/242032cf-856c-464d-acc3-4784ba5bf8da/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/242032cf-856c-464d-acc3-4784ba5bf8da/get_race_calendar?date=2026-07-11' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 atg-se-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.

"""ATG Racing: explore today's calendar, drill into a race, look up a horse, and check V64 results."""
from parse_apis.ATG_Racing_Info_API import ATG, GameType, ResourceNotFound

client = ATG()

# Fetch today's race calendar — see which tracks are racing.
calendar = client.calendars.get(date="2026-06-23")
for track in calendar.tracks:
    print(track.name, track.sport, track.biggest_game_type)

# Get details for a specific race discovered from the calendar.
race = client.races.get(race_id="2026-06-23_8_1")
for starter in race.starts:
    print(starter.number, starter.horse.name, starter.driver.last_name)

# Look up the full profile of the first horse in that race.
horse = client.horses.get(horse_id="800917")
print(horse.name, horse.age, horse.sex)
print(horse.pedigree.father.name, horse.pedigree.mother.name)
print(horse.statistics.life.starts, horse.statistics.life.earnings)

# Fetch a V64 game's startlist and pool info.
game = client.games.get(game_id="V64_2026-06-23_8_4")
print(game.id, game.status, game.type)

# List recent V64 results — bounded to 3 items.
try:
    for result in client.game_results.list(game_type=GameType.V64, limit=3):
        print(result.id, result.turnover, result.track_names)
except ResourceNotFound as exc:
    print(f"No results available: {exc}")

print("exercised: calendars.get / races.get / horses.get / games.get / game_results.list")
All endpoints · 5 totalmissing one? ·

Fetch the full race calendar for a specific date. Returns all tracks racing that day with their scheduled races, start times, statuses, and available betting games. Each track entry includes an id, name, sport, and list of races; the games object groups available betting pools by type.

Input
ParamTypeDescription
daterequiredstringDate in YYYY-MM-DD format.
Response
{
  "type": "object",
  "fields": {
    "date": "string, the requested date",
    "games": "object keyed by game type containing arrays of available games",
    "tracks": "array of track objects with id, name, startTime, races, biggestGameType, sport, countryCode"
  }
}

About the ATG API

Race Calendar and Discovery

The get_race_calendar endpoint accepts a date parameter in YYYY-MM-DD format and returns an array of track objects for that day. Each track includes its id, name, startTime, a list of scheduled races, biggestGameType, sport, and countryCode. Track and race IDs discovered here are the entry point for all other endpoints — race IDs follow the format YYYY-MM-DD_trackId_raceNumber, and game IDs follow GameType_YYYY-MM-DD_trackId_raceNumber.

Race Details and Horse Profiles

get_race_details takes a race_id and returns the full context for one race: track conditions, race distance in meters, race status (e.g. upcoming or results), and a starts array where each entry contains the horse object, driver info, result fields if the race is completed, and pool data. Horse IDs from starts[*].horse.id feed directly into get_horse_profile, which returns a horse's age, sex, owner, breeder, pedigree (father, mother, grandfather), and both yearly and lifetime racing statistics.

Betting Games and Results

get_startlist retrieves pool and starter data for a specific ATG game (e.g. V64, V75) using a game ID sourced from get_race_calendar. It returns aggregate pools with turnover and result data, a races array with per-race starters and pools, and an overall status. The get_game_results endpoint accepts a game_type string — confirmed working values are V64, V75, and V86 — and returns recent completed results with payouts, winner counts, turnover figures, and associated race details. If no recent game of that type has completed, the gameResults array may be empty.

Reliability & maintenanceVerified

The ATG API is a managed, monitored endpoint for atg.se — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when atg.se 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 atg.se 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.

Last verified
1d ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a daily Swedish horse racing schedule dashboard using get_race_calendar track and race data
  • Track horse career performance by querying get_horse_profile for lifetime and yearly statistics
  • Display live and final race results by polling get_race_details for status and result fields on each starter
  • Analyze V75 and V64 pool turnover trends using historical data from get_game_results
  • Construct driver performance summaries by aggregating driver fields across race starter lists
  • Feed pedigree data from get_horse_profile into breeding analytics tools using father, mother, and grandfather fields
  • Monitor game pool sizes before post time using the pools object returned by get_startlist
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does ATG.se have an official public developer API?+
ATG does not publish a documented public developer API for third-party use. This Parse API provides structured access to ATG.se racing data without requiring a developer agreement with ATG.
What does get_race_details return for a race that hasn't run yet?+
For upcoming races, the status field returns upcoming and the result fields within each starter object in the starts array will be absent or null. Full result data — including finishing positions and payouts — populates once the race status changes to results.
Which game types work with get_game_results?+
The confirmed working values for the game_type parameter are V64, V75, and V86. Other ATG game types may return empty gameResults arrays either because no recent completed games exist for that type or because that type is not currently supported.
Does the API cover international races or only races held in Sweden?+
The API returns data for races available on ATG.se, which is primarily focused on Swedish racing. Each track object does include a countryCode field, so non-Swedish tracks may appear when ATG.se carries them, but consistent coverage of international fixtures is not guaranteed. You can fork this API on Parse and revise it to add endpoints targeting specific international race data if ATG.se exposes it.
Is odds or live betting data available through these endpoints?+
The get_startlist and get_race_details endpoints return pool-level data including turnover figures, but real-time win odds per starter are not currently exposed as discrete fields. You can fork this API on Parse and revise it to add an endpoint surfacing per-horse odds if that data is accessible on ATG.se.
Page content last updated . Spec covers 5 endpoints from atg.se.
Related APIs in SportsSee all →
racing.hkjc.com API
Access comprehensive horse racing data from the Hong Kong Jockey Club. Retrieve race results, detailed horse profiles including pedigree and form records, jockey and trainer season rankings, upcoming race meeting fixtures, and horse search by name.
racingpost.com API
Access comprehensive horse racing data from Racing Post, including daily racecards, meeting schedules, race results, and detailed horse profiles with form history, stats, and pedigree.
bloodhorse.com API
Get comprehensive horse racing information including race results, stakes entries, horse profiles, and the latest news from BloodHorse.com. Search racing data, view detailed race information, and discover current racing leaders all in one place.
equibase.com API
Access comprehensive horse racing data from Equibase, including horse profiles, historical race results, track entries, post times, speed figures, and leader statistics for horses, jockeys, trainers, and owners.
tab.com.au API
Access live horse racing meetings, race cards, fixed odds, and results from TAB Australia. Retrieve real-time sports betting information and racing data, including upcoming races, current odds, and historical race outcomes.
neds.com.au API
Get up-to-date horse racing information from Neds, including upcoming races, event details, and past results. View which races are next to jump and access comprehensive race data all in one place.
gbgb.org.uk API
Access comprehensive greyhound racing information including race results, meeting details, greyhound profiles and form history, and upcoming open races across all GBGB tracks. Search for specific races and greyhounds, browse available tracks and race classes, and stay updated on upcoming racing events.
brisnet.com API
Access horse racing news, track information, race results, and expert daily picks from Brisnet, plus search detailed information about specific horses. Stay informed on racing events and make data-driven betting decisions with current news articles, results indices, and curated pick recommendations.