Turnier APIdbv.turnier.de ↗
Search German Badminton Federation players, clubs, and tournaments. Access player stats by discipline, club affiliations, and tournament schedules via 4 endpoints.
What is the Turnier API?
The DBV Turnier API provides 4 endpoints for querying the German Badminton Federation's tournament platform, covering players, clubs, and tournaments registered with dbv.turnier.de. The get_player endpoint returns win/loss statistics broken down by discipline — singles, doubles, and mixed — for both career totals and the current year. Player and club search results are paginated, returning up to 100 records per page with IDs usable in downstream lookups.
curl -X GET 'https://api.parse.bot/scraper/4490f447-ad2f-41bf-8503-bd76ad908729/search_players?query=Mueller' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for badminton players by name. Returns paginated results with player ID, name, club affiliation, and profile identifier. Each page contains up to 100 results.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. Each page returns up to 100 results. |
| queryrequired | string | Player name search query. Minimum 3 characters. |
{
"type": "object",
"fields": {
"page": "current page number",
"total": "total number of matching players",
"players": "array of player objects with player_id, name, club, and profile_id"
},
"sample": {
"data": {
"page": 1,
"total": 8,
"players": [
{
"club": "STAG Hanau Badminton",
"name": "Alexander Mueller",
"player_id": "02-048034",
"profile_id": "54A30FE6-977C-4668-BE24-1D436244CBEF"
},
{
"club": "Siegburger TV",
"name": "Anastasia Mueller",
"player_id": "01-142178",
"profile_id": "DCFAA124-2986-4A14-9D62-D9E1846A0F49"
}
]
},
"status": "success"
}
}About the Turnier API
Player Search and Profiles
The search_players endpoint accepts a query string (minimum 3 characters) and an optional page parameter, returning up to 100 players per page. Each result includes player_id, name, club, and profile_id. The profile_id is a UUID used to fetch full details via get_player, which returns win/loss records organized under four keys — total, singles, doubles, and mixed — each with career and this_year breakdowns. The numeric player_id (e.g. 01-126162) and club affiliation with location are also returned.
Club Search
The search_clubs endpoint works similarly: supply a query of at least 3 characters and optionally a page number. Each result includes club_id, name, and profile_id. The endpoint returns a total count alongside the paginated clubs array. There is no separate club-profile detail endpoint; the profile_id is surfaced for reference but a dedicated club-profile lookup is not currently part of this API.
Tournament Search
The search_tournaments endpoint covers all historical and future tournaments in the DBV database without date filtering. Results are paginated at approximately 22 per page and include tournament_id (UUID), name, location, start_date, and end_date. The query parameter requires at least 3 characters. Use page to walk through large result sets — the total field indicates how many matches exist across all pages.
The Turnier API is a managed, monitored endpoint for dbv.turnier.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when dbv.turnier.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 dbv.turnier.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 player lookup tool that shows career and current-year win/loss records across singles, doubles, and mixed disciplines
- Aggregate club rosters by searching clubs by name and cross-referencing player search results filtered by club affiliation
- Track a specific player's stats over time by periodically polling
get_playerwith their profile UUID - Discover upcoming badminton tournaments in a specific region using
search_tournamentsand filtering on location and start_date - Identify all clubs in a city or region by querying
search_clubswith a city name fragment - Enrich a player database by resolving numeric player IDs and club affiliations from the DBV registry
- Build a tournament calendar tool covering both historical and future events from the German badminton circuit
| 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 dbv.turnier.de offer an official developer API?+
What exactly does get_player return in its stats field?+
stats object contains four keys: total, singles, doubles, and mixed. Each key holds two sub-fields — career and this_year — both represented as win/loss strings (e.g. '42:18'). Club affiliation including location is returned separately alongside the player's full name and numeric player ID.Does search_tournaments support filtering by date range or location?+
start_date, end_date, and location in each tournament object, but date-range or location filtering must be done client-side after fetching results. The API covers all historical and future tournaments. You can fork it on Parse and revise to add server-side date or location filter parameters.Is there a club-profile detail endpoint similar to get_player?+
search_clubs endpoint returns club_id, name, and profile_id for each club, but there is no dedicated endpoint that resolves a club profile UUID into a full club record with member lists or match history. You can fork the API on Parse and revise it to add a get_club endpoint.How does pagination work across the different search endpoints?+
search_players and search_clubs return up to 100 results per page; search_tournaments returns approximately 22 per page. All three endpoints return a total field indicating the full result count, so you can calculate the number of pages needed. Pass the page integer parameter to walk through subsequent pages. Page numbering starts at 1.