maxpreps.com APImaxpreps.com ↗
Access MaxPreps data via API: search schools, get team rosters, schedules, athlete profiles, and national/state rankings for high school sports.
curl -X GET 'https://api.parse.bot/scraper/e0a033cc-4c08-49d5-8417-81682c9b3dbf/search_schools?query=Mater+Dei' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for schools by name or query. Returns matching schools with their IDs, locations, mascots, and paths for use in other endpoints.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | School name or search query (e.g., 'Oak Hill Academy', 'Mater Dei') |
{
"type": "object",
"fields": {
"schools": "array of school objects with school_id, name, city, state, mascot, url, and path"
},
"sample": {
"data": {
"schools": [
{
"url": "https://www.maxpreps.com/va/mouth-of-wilson/oak-hill-academy-warriors/",
"city": "Mouth of Wilson",
"name": "Oak Hill Academy",
"path": "/va/mouth-of-wilson/oak-hill-academy-warriors/",
"state": "VA",
"mascot": "Warriors",
"school_id": "f80db136-2ddf-4840-8835-c02f4785634d"
}
]
},
"status": "success"
}
}About the maxpreps.com API
The MaxPreps API covers 5 endpoints for high school sports data, including school search, team rosters with per-player fields like jersey number and grade, game schedules with scores and win/loss results, detailed athlete profiles with career history, and national or state rankings by sport. The get_rankings endpoint alone returns rank, record, movement, and school identifiers for any supported sport.
School and Team Data
Start with search_schools to find any high school by name or partial query. Each result includes a school_id, name, city, state, mascot, and a path used as the base input for team endpoints. Append a sport to that path and pass it to get_team_roster or get_team_schedule. Both endpoints accept an optional season parameter in YY-YY format (e.g., 24-25) so you can pull historical data beyond the current year.
Rosters and Athlete Profiles
get_team_roster returns a roster array where each player object includes career_id, athlete_id, first_name, last_name, jersey, position, height, grade, and a photo_url. The career_id from this response is the required input for get_athlete_profile, which returns a timeline of events (articles, stat updates, game results), club_teams, season-by-season career_data with stats and awards, and a prospect_report object — or null if no prospect rating exists for that athlete.
Schedules and Rankings
get_team_schedule returns a contests array with date, home_team, away_team, opponent, and result fields, plus a separate tournaments array for postseason play. get_rankings accepts a sport string and an optional state code (e.g., ca, tx) or the literal string national. Each ranking object includes rank, schoolId, schoolName, stateCode, overall record, teamLink, and a movement indicator showing week-over-week rank change.
- Build a high school football recruiting tracker using
get_athlete_profilecareer stats and prospect_report ratings. - Generate automated weekly rankings digests by polling
get_rankingswith sport and state parameters. - Power a school sports directory by combining
search_schoolsresults with roster data fromget_team_roster. - Track season results for a specific team by pulling
get_team_schedulecontests with scores and opponent names. - Compare rosters across seasons by calling
get_team_rosterwith differentYY-YYseason values for the same team path. - Identify club team affiliations for recruited athletes using the
club_teamsfield inget_athlete_profile. - Display per-player grade and position breakdowns for any high school team using the
get_team_rosterresponse fields.
| 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 MaxPreps have an official public developer API?+
What does the `get_athlete_profile` endpoint return beyond basic bio info?+
timeline array of event objects (articles, stat updates, and game results), a career_data array with season-by-season stats and awards, club_teams affiliations, and a prospect_report object containing prospect rating data — or null if no rating is available for that athlete.Can I retrieve play-by-play or box score data for individual games?+
get_team_schedule and career-level stats via get_athlete_profile, but individual game box scores are not exposed. You can fork this API on Parse and revise it to add a game-level box score endpoint.Does `get_rankings` support all sports, or only the major ones?+
sport parameter accepts string values like basketball, football, baseball, and volleyball. Coverage depends on what MaxPreps publishes rankings for, so niche or regional sports with limited ranking data may return sparse results.