Deutscher Galopp APIdeutscher-galopp.de ↗
Access German horse racing results, horse profiles, and prize money rankings from Deutscher Galopp via a structured REST API with 3 endpoints.
What is the Deutscher Galopp API?
The Deutscher Galopp API exposes 3 endpoints covering German thoroughbred racing data from the official national racing authority. get_race_results returns full finishing-order details for a given race — positions, jockeys, trainers, odds, ground conditions, and prize money — while search_horses and get_horse_rankings let you look up individual horse profiles and retrieve prize-money-based performance tables going back to 1979.
curl -X GET 'https://api.parse.bot/scraper/780a3e63-1528-407c-853d-b4d59837cb2b/get_race_results?date=20260822&race_id=1364164' \ -H 'X-API-Key: $PARSE_API_KEY'
Get detailed results for a specific horse race, including finishing positions, horse names, jockeys, trainers, owners, weights, odds, and race metadata (venue, distance, prize money, ground conditions). Each race is identified by a race_id and date which can be found on the Ergebnisse (results) section of the site.
| Param | Type | Description |
|---|---|---|
| daterequired | string | Race date in YYYYMMDD format (e.g. '20260822'). |
| race_idrequired | string | Numeric race identifier (e.g. '1364164'). Available from race day listings on the site. |
{
"type": "object",
"fields": {
"date": "string - race date in YYYYMMDD format",
"venue": "string - race venue name",
"ground": "string - ground/track condition",
"status": "string - race status (e.g. 'Ergebnis' for completed)",
"race_id": "string - the race identifier",
"results": "array of race result entries with position, horse_name, horse_id, number, box, distance_beaten, prize_money, owner, trainer, jockey, weight, odds",
"distance": "string - race distance (e.g. '1.600 m')",
"race_name": "string - name of the race",
"prize_money": "string - total prize money",
"race_datetime": "string - date and time (DD.MM.YYYY, HH:MM)",
"finishing_order": "string - order of finish by horse number"
},
"sample": {
"data": {
"date": "20260822",
"venue": "München",
"ground": "weich",
"status": "Ergebnis",
"race_id": "1364164",
"results": [
{
"box": "2",
"odds": "2,3",
"owner": "Stall Mandarin",
"jockey": "Eduardo Pedroza",
"number": "4",
"weight": "58,0 kg",
"trainer": "Andreas Wöhler",
"horse_id": "35673211",
"position": "1.",
"horse_name": "Laveran",
"prize_money": "5.400 €",
"distance_beaten": "leicht"
}
],
"distance": "1.600 m",
"race_name": "MIG Fonds-Rennen",
"prize_money": "9.000 €",
"race_datetime": "22.08.2026, 10:50",
"finishing_order": "4 - 9 - 3 - 7 - 8 - 1 - 5 - 2"
},
"status": "success"
}
}About the Deutscher Galopp API
Race Results
The get_race_results endpoint accepts a date (YYYYMMDD) and a numeric race_id and returns a structured result object for that race. Each entry in the results array includes position, horse_name, horse_id, jockey, trainer, owner, box, distance_beaten, and per-placement prize_money. Race-level fields cover venue, distance, ground, race_name, prize_money (total purse), and race_datetime. Race IDs and dates can be sourced from the site's race day listings.
Horse Search and Profiles
search_horses takes a query string and returns a list of matching horse profiles. The wildcard character * is supported for partial name matching — for example, 'Danon*' returns all horses whose names start with that prefix. Each matching record includes horse_id, name, parentage (sire/dam), country, year (birth year), gender, and status (active or retired). The total_count field shows how many records matched the query in total.
Performance Rankings
get_horse_rankings returns a ranked list of horses sorted by total prize money earned. The year parameter accepts values from 1979 through 2026, and results can be scoped further by region and race_type. Each ranking row includes starts, wins, placements, win_percentage, and prize_money. The default result cap is 50, configurable up to 200 via the limit parameter. The region and race_type fields in the response reflect the filter labels applied, not raw codes.
The Deutscher Galopp API is a managed, monitored endpoint for deutscher-galopp.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when deutscher-galopp.de 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 deutscher-galopp.de 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?+
- Build a historical race archive indexed by venue, distance, and ground condition using
get_race_results. - Track a trainer's win rate across seasons by aggregating
trainerandpositionfields from multiple race results. - Identify horses with high win percentages in a specific year using
get_horse_rankingswith theyearandrace_typefilters. - Look up a horse's parentage and country of origin before a race using
search_horseswith wildcard name matching. - Compare prize money earnings across years for a specific horse by combining
search_horses(to gethorse_id) with yearly ranking queries. - Populate a race card application with finishing positions, jockeys, and odds for completed German races.
- Research breeding lineages by querying
search_horsesfor a dam or sire name and reviewing parentage fields across results.
| 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 Deutscher Galopp offer an official developer API?+
What does `get_race_results` return for each horse in the finishing order?+
results array includes the horse's finishing position, horse_name, horse_id, saddle number, box (starting stall), distance_beaten, individual prize_money, owner, trainer, and jockey. Race-level metadata — venue, ground, distance, race_name, and total prize_money — is returned alongside the results array.How far back do the horse performance rankings go?+
get_horse_rankings endpoint supports the year parameter from 1979 through 2026. Rankings reflect prize money earned in the selected year and can be filtered further by region and race_type. The maximum number of horses returned in one call is 200, set via the limit parameter.Does the API cover jockey or trainer standings, not just horse rankings?+
get_horse_rankings endpoint covers horse-level prize money rankings only. get_race_results does include jockey and trainer per entry, so standings could be derived by aggregating across race results. You can fork this API on Parse and revise it to add a dedicated jockey or trainer rankings endpoint.