athletic.net APIathletic.net ↗
Access cross country and track & field meet results, athlete profiles, team rosters, and rankings from Athletic.net via a structured JSON API.
curl -X GET 'https://api.parse.bot/scraper/4645a8ef-1028-446c-9864-2a1c305b5cf8/search?query=Lincoln+High+School' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for athletes, teams, or meets by name keyword. Returns matching results with type classification (Team, XCMeet, TFMeet, Athlete) and relevance scores.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword, supports single and multi-word queries. |
{
"type": "object",
"fields": {
"response": "object containing numFound (integer total matches) and docs (array of result objects with id_db, type, textsuggest, subtext, score)"
},
"sample": {
"data": {
"response": {
"docs": [
{
"l": [
1024
],
"type": "Team",
"id_db": "67595",
"score": 5187.37,
"subtext": "Portland, Oregon",
"textsuggest": "NXN Nike Cross Nationals"
}
],
"start": 0,
"maxScore": 5187.37,
"numFound": 1546,
"numFoundExact": true
},
"responseHeader": {
"QTime": 9,
"status": 0
}
},
"status": "success"
}
}About the athletic.net API
The Athletic.net API exposes 7 endpoints covering US high school and collegiate cross country and track & field data, including meet results, athlete profiles, and team rosters. The get_meet_results endpoint returns individual race placements, finish times, and team scores for any division within a meet. Combined with get_athlete_profile, you can reconstruct a full season-by-season performance history for any athlete tracked on the platform.
Meet Data and Results
Retrieving meet data is a two-step process. First, call get_meet_info with a meet_id and the sport parameter (xc for cross country, tf for track & field). The response returns the meet's name, date, location, and an xcDivisions (or tfDivisions) array containing IDMeetDiv, gender, division name, distance label, and distance in meters. It also returns a jwtMeet token. Pass that token along with a div_id and meet_id to get_meet_results (POST) to receive resultsXC — an array of athlete result objects containing Place, Result, SortValue, AthleteID, FirstName, LastName, SchoolName, and Grade — plus teamScores with team-level point totals.
Athlete Profiles and Rankings
get_athlete_profile takes an athlete_id and optional sport and returns the athlete's IDAthlete, Gender, SchoolID, and a resultsXC array of historical results including Result, Place, MeetID, Distance, and SeasonID. A companion meets map lets you resolve meet names from MeetID values without extra calls. get_top_rankings accepts a div_id and optional gender (m or f) and returns an ordered rankings array with rank, AthleteName, Result, TeamName, State, MeetName, and ResultDate — useful for building all-time leaderboards by division.
Team Rosters and Search
get_team_roster retrieves an array of athlete objects (each with ID, Name, Gender, and rsMugshot) for a given team_id and optional year. Note that roster retrieval currently supports only the xc sport. The search endpoint accepts a free-text query and returns a docs array where each result has a type field that distinguishes between Team, XCMeet, TFMeet, and Athlete entries — useful for resolving names to IDs before calling downstream endpoints. get_states returns reference data for US states, Canadian provinces, and world countries, including ISO codes useful for filtering or display.
- Build a season performance tracker using
get_athlete_profile'sresultsXCarray to chart finish times across meets. - Reconstruct full meet leaderboards by pairing
get_meet_infodivision data withget_meet_resultsplacement and time fields. - Generate all-time divisional leaderboards using
get_top_rankingswithdiv_idand gender filters. - Assemble a team roster dashboard using
get_team_rosterwith ateam_idand seasonyear. - Resolve athlete or team names to numeric IDs using the
searchendpoint'stype-classifieddocsarray before querying profiles or results. - Compare team scoring across divisions in a single meet using the
teamScoresarray fromget_meet_results. - Build a geographic coverage map of supported states and countries using the
statesandcountriesfields fromget_states.
| 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 | 250 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 Athletic.net have an official developer API?+
How do I get results for a specific race division within a meet?+
get_meet_info with the meet_id and your sport (xc or tf). The response includes an xcDivisions or tfDivisions array; each element has an IDMeetDiv value. Pass that IDMeetDiv as div_id along with the meet_id to get_meet_results (POST) to receive the full results for that division.Does the API cover track & field event-level data the same way it covers cross country?+
get_meet_info and get_meet_results endpoints both accept sport=tf, and get_athlete_profile works for track & field athletes. However, get_team_roster currently supports only sport=xc; track & field roster retrieval is not available. You can fork the API on Parse and revise it to add a track & field roster endpoint.Does the API include college-level or international competition results?+
get_states does return Canadian provinces and world countries, but the breadth of international meet and athlete coverage depends on what Athletic.net indexes. College-level competition data is not explicitly surfaced by any current endpoint. You can fork the API on Parse and revise it to target that data if it becomes available on the platform.What is the `SortValue` field returned in result objects?+
SortValue appears in both resultsXC (from get_meet_results and get_athlete_profile) and is a numeric value used to sort results consistently — for cross country, this is typically a time in centiseconds or a similar numeric encoding, allowing accurate ordering even when the display Result string uses formatting like MM:SS.ms.