ISU Skating APIisu-skating.com ↗
Search ISU's official figure skating athlete database by name. Get skater nationality, discipline, status, and team data via a single API endpoint.
What is the ISU Skating API?
The ISU Skating API exposes 1 endpoint — search_skaters — that queries the International Skating Union's official athlete database. A single name search returns up to 5 response fields per result: matched skater or team entries, total item count, total page count, current page, and a has_next_page flag for pagination. Results cover individual skaters and pair or ice dance teams across all ISU-recognized disciplines.
curl -X POST 'https://api.parse.bot/scraper/58ffb472-1baf-4ad6-9d87-37f7d5c7216c/search_skaters' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "Hanyu",
"page": "1"
}'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 isu-skating-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: ISU Skating SDK — bounded, re-runnable; every call capped."""
from parse_apis.isu_skating_com_api import ISUSkating, ParseError
client = ISUSkating()
# Search for skaters by name — limit= caps TOTAL items fetched.
for skater in client.skaters.search(name="Hanyu", limit=3):
print(skater.full_name, skater.nationality, skater.type)
# Drill-down: take ONE result with .first().
result = client.skaters.search(name="Sakamoto", limit=1).first()
if result:
print(result.full_name, result.gender, result.discipline)
# Typed errors: wrap a fallible call, catch the specific class.
try:
for skater in client.skaters.search(name="Malinin", limit=2):
print(skater.full_name, skater.slug)
except ParseError as e:
print(f"error: {e}")
print("exercised: skaters.search")
Search figure skating athletes (individuals and teams) by name. Results include both individual skaters and pair/ice dance teams whose member names match. Each result carries nationality, discipline, and status. Results are auto-iterated across pages.
| Param | Type | Description |
|---|---|---|
| namerequired | string | Athlete name or partial name to search for (e.g. 'Hanyu', 'Kim'). |
| page | integer | Page number for paginated results. |
{
"type": "object",
"fields": {
"skaters": "array of skater results (individual or team entries)",
"total_items": "integer total number of matching results",
"total_pages": "integer total number of pages",
"current_page": "integer current page number",
"has_next_page": "boolean whether more pages exist"
},
"sample": {
"data": {
"skaters": [
{
"slug": "yuzuru-hanyu",
"type": "individual",
"gender": "M",
"status": "Active",
"full_name": "Yuzuru HANYU",
"last_name": "HANYU",
"skater_id": 2515,
"discipline": "FIGURE SKATING",
"first_name": "Yuzuru",
"nationality": "JPN",
"organization": "JPN",
"thumbnail_image": "https://isu-d8g8b4b7ece7aphs.a03.azurefd.net/isudamcontainer/CMS/Fansite/Figure-Skating/2024-2025/Skater-Portraits/yuzuru-hanyu.jpg"
}
],
"total_items": 1,
"total_pages": 1,
"current_page": 1,
"has_next_page": false
},
"status": "success"
}
}About the ISU Skating API
What the API Returns
The search_skaters endpoint accepts a name string (full or partial) and returns an array of matching athlete records under the skaters field. Each entry in the array includes the skater's or team's nationality, discipline (singles, pairs, ice dance, etc.), and competition status. Both individual athletes and multi-skater teams (pairs and ice dance) are returned when any member name matches the query.
Pagination
Results are paginated. The response includes total_items (integer count of all matching athletes), total_pages, current_page, and has_next_page (boolean). Pass the optional page integer parameter to step through additional result pages. The API auto-iterates pages, so you can walk the full result set by incrementing page until has_next_page is false.
Data Source and Coverage
The data reflects the ISU's official skater registry at isu-skating.com, which is the authoritative source for athlete records under ISU jurisdiction. Coverage spans figure skating disciplines at all competition levels recognized by the ISU. Athlete records include verified nationality and discipline assignments as maintained by the federation.
The ISU Skating API is a managed, monitored endpoint for isu-skating.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when isu-skating.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 isu-skating.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?+
- Look up a skater's nationality and current competition status by partial name search.
- Identify all ISU-registered athletes sharing a common surname (e.g., 'Kim' or 'Chen').
- Determine whether a name belongs to an individual skater or a pairs/ice dance team.
- Build an autocomplete or search-as-you-type skater directory using partial-name queries.
- Enumerate all skaters of a specific nationality by filtering returned nationality fields.
- Cross-reference athlete names from competition results against the official ISU registry.
- Page through the full athlete roster to build or refresh a local skater database.
| 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 the ISU have an official public developer API?+
What does the `search_skaters` endpoint return for a pairs or ice dance team?+
skaters array. That entry carries the team's nationality, discipline (pairs or ice dance), and status — not individual split profiles for each member.Does the API return competition scores or results for each skater?+
search_skaters endpoint covers identity fields — name, nationality, discipline, and status — but does not return competition scores, rankings, or event results. You can fork this API on Parse and revise it to add an endpoint that retrieves competition result data.Can I filter search results by discipline or nationality directly in the request?+
search_skaters endpoint accepts only a name string and an optional page integer. Filtering by discipline or nationality is not a built-in request parameter; you would apply those filters client-side on the returned skaters array. You can fork this API on Parse and revise it to add discipline or nationality as query parameters.