ScoreCat Online APIscorecatonline.com ↗
Access gymnastics meet listings, session scores, and individual/team results from ScoreCat Online. Filter by state, season, or keyword across 8 endpoints.
What is the ScoreCat Online API?
This API exposes 8 endpoints covering gymnastics competition data from ScoreCat Online, including meet listings, session results, and per-athlete score breakdowns. The get_individual_session_results endpoint returns detailed fields like per-event scores, judge scores, deductions, start values, and all-around rankings. Meets can be filtered by US state code or competition season, and session-level data covers both individual and team scoring formats.
curl -X GET 'https://api.parse.bot/scraper/2c371e5d-9ad0-4c2a-8cc5-65f126912c8f/list_meets?state=OK&season=2025-2026' \ -H 'X-API-Key: $PARSE_API_KEY'
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 scorecatonline-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.
from parse_apis.scorecat_gymnastics_results_api import Scorecat, Meet
scorecat = Scorecat()
# List meets in Oklahoma for the current season
for meet in scorecat.meets.list(state="OK", season="2025-2026"):
print(meet.name, meet.city, meet.start_date)
# Search for nationals meets
for meet in scorecat.meets.search(query="Nationals"):
print(meet.name, meet.host_gym, meet.state)
# Get full meet details and drill into sessions
ok_meet = scorecat.meet(doc_id="4WRY436F")
for session in ok_meet.sessions.list():
print(session.description, session.level, session.division)
# Get individual athlete results for this session
for athlete in session.individual_results.list(limit=3):
print(athlete.first_name, athlete.last_name, athlete.club_name, athlete.event7_score, athlete.event7_rank)
# Get team results for this session
for team in session.team_results.list():
print(team.club_name, team.event7_score, team.event7_rank)
Retrieve a list of gymnastics meets/competitions, optionally filtered by US state and competition season. Returns lightweight meet summaries ordered by start date (most recent first). Without filters, returns all meets across all states and seasons.
| Param | Type | Description |
|---|---|---|
| state | string | Two-letter US state code filter (e.g. 'OK', 'KY', 'CA'). Some entries may be international codes. |
| season | string | Competition season filter in 'YYYY-YYYY' format (e.g. '2025-2026', '2024-2025'). |
{
"type": "object",
"fields": {
"items": "array of meet summary objects with fields: docId, meetId, meet_id, name, hostGym, city, state, compSeason, startDate, endDate, league, program, director, location, address1, zip, sanctionId, statusText, international"
},
"sample": {
"data": {
"items": [
{
"zip": "73109",
"city": "Oklahoma City",
"name": "2026 Men's Dev Nationals",
"docId": "4WRY436F",
"state": "OK",
"league": "USAG",
"meetId": "4WRY436F",
"endDate": "2026-05-10T12:00:00Z",
"hostGym": "USA Gymnastics",
"meet_id": "4WRY436F",
"program": "Men",
"address1": "100 Mick Cornett Dr",
"director": "John Doe",
"location": "Oklahoma City Convention Center",
"startDate": "2026-05-10T12:00:00Z",
"compSeason": "2025-2026",
"sanctionId": "96150",
"statusText": "In progress",
"international": false
}
]
},
"status": "success"
}
}About the ScoreCat Online API
Meet Discovery and Search
The list_meets endpoint returns lightweight meet summaries — including name, hostGym, city, state, compSeason, startDate, endDate, and docId — and accepts optional state (two-letter code, e.g. TX) and season (e.g. 2024-2025) filters. Results are ordered by start date, most recent first. The search_meets endpoint performs case-insensitive substring matching against meet name and host gym name, returning the same summary shape. Use get_states_list and get_seasons_list to retrieve valid values for those filters dynamically.
Meet Details and Sessions
get_meet_details accepts a meet_id (the docId from list or search results) and returns the full meet record, including a gymnasts array, session schedule, rotation types, events configuration, and logo URLs. get_meet_sessions returns an array of session objects for a given meet, each with fields like sessionId, description, level, division, eventType, league, date, and per-event aggregate statistics such as average scores.
Score Results
get_individual_session_results takes a meet_session_id and returns one object per athlete, with fields including firstName, lastName, fullName, clubName, state, level, division, per-event scores, judge scores, deductions, start values, and ranking fields including the all-around rank (event7Rank). get_team_session_results returns team-level aggregates for sessions with team scoring enabled, with fields covering clubName, level, division, and event1Score through event7Score plus overall team rankings. This endpoint only returns data for sessions where team scoring is active.
The ScoreCat Online API is a managed, monitored endpoint for scorecatonline.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when scorecatonline.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 scorecatonline.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?+
- Build a gymnastics meet calendar filtered by state and competition season using
list_meets - Display live meet standings and per-event scores for individual athletes at a specific competition
- Track a gym club's team scores across multiple meets using
clubNamefrom team session results - Power a meet search feature by querying host gym or meet name keywords via
search_meets - Compare all-around rankings across sessions within a single meet using
event7Rank - Populate state and season filter dropdowns dynamically from
get_states_listandget_seasons_list - Aggregate per-event average scores across sessions for a given meet to analyze competitive difficulty
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 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.
Does ScoreCat Online have an official public developer API?+
What does `get_individual_session_results` return beyond just final scores?+
event7Rank. Athletes are ordered by that rank in the response.Can I retrieve historical results from past competition seasons?+
list_meets endpoint accepts a season parameter in YYYY-YYYY format, and get_seasons_list returns all available seasons in the database. Coverage depends on what ScoreCat Online has on record — not all historical seasons may be present.Does the API cover international meets or only US competitions?+
state field, though the endpoint description notes some entries may carry international codes. Dedicated filtering or structured coverage for international events is not currently part of the API. You can fork this API on Parse and revise it to add an international-specific filter endpoint if the underlying data supports it.