Nike EYBL Scholastic APInikeeyblscholastic.com ↗
Access Nike EYBL Scholastic league data: team rosters, player bios, standings, box scores, and schedules via 7 structured JSON endpoints.
What is the Nike EYBL Scholastic API?
The Nike EYBL Scholastic API covers 7 endpoints returning structured data from the EYBL Scholastic prep basketball league, including team rosters, player bios, game schedules, standings, and full box scores. The get_box_score endpoint delivers per-player stats and score-by-period breakdowns for individual games, while get_team_stats organizes aggregate team performance across categories like Offense, Scoring Margin, and Scoring Defense.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/bd843973-579a-4a14-84ea-59a03f34d112/get_all_teams' \ -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 nikeeyblscholastic-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.
"""EYBL Scholastic Basketball — teams, rosters, schedules, box scores, standings."""
from parse_apis.nike_eybl_scholastic_api import (
EYBLScholastic, Season, PlayerNotFound
)
client = EYBLScholastic()
# List all league teams; limit caps total items fetched.
for team in client.teams.list(limit=5):
print(team.name, team.slug, team.location)
# Drill into a specific team's roster via constructible Team.
montverde = client.team("montverde")
player = montverde.roster.list(season=Season.SEASON_2025_26, limit=1).first()
if player:
print(player.name, player.number, player.hometown)
# Fetch a player's detailed bio using the playerbios collection.
if player:
try:
bio = client.playerbios.get(
team_slug="montverde",
player_name_slug="joe-philon",
player_id=player.player_id,
)
print(bio.name, bio.number, bio.image_url)
except PlayerNotFound as exc:
print(f"Player gone: {exc}")
# Get this season's schedule (bounded).
game = client.games.list(limit=1).first()
if game:
print(game.home_team, "vs", game.away_team, game.date, game.status)
# League standings — quick snapshot.
for standing in client.standings.list(limit=3):
print(standing.team, standing.division_record, standing.conference_pct)
# Team stats by category.
for cat in client.statcategories.list(limit=2):
print(cat.category, len(cat.data), "teams ranked")
print("exercised: teams.list / team.roster.list / playerbios.get / games.list / standings.list / statcategories.list")
Returns all teams in the EYBL Scholastic league. Each team includes its slug (used as identifier in other endpoints), mascot, location, logo URL, and statcrew team ID. The full list is returned in a single response with no pagination.
No input parameters required.
{
"type": "object",
"fields": {
"items": "array of team objects with id, name, slug, mascot, location, logo_url, and statcrew_team_id"
},
"sample": {
"data": {
"items": [
{
"id": 10,
"name": "AZ Compass Prep",
"slug": "az-compass",
"mascot": "Dragons",
"location": "Chandler, Arizona",
"logo_url": "https://nikeeyblscholastic.com/images/2025/11/17/AZ_Compass_Prep.png",
"statcrew_team_id": "COMP"
},
{
"id": 6,
"name": "Montverde Academy",
"slug": "montverde",
"mascot": null,
"location": "Montverde, FL",
"logo_url": "https://nikeeyblscholastic.com/images/2021/11/3/logo_school_montverde.png",
"statcrew_team_id": "MVA"
}
]
},
"status": "success"
}
}About the Nike EYBL Scholastic API
Teams, Rosters, and Player Bios
The get_all_teams endpoint returns every team in the EYBL Scholastic league as an array of objects, each containing id, name, slug, mascot, location, logo_url, and statcrew_team_id. The team_slug values from this response are the required input for several other endpoints. get_team_roster accepts a team_slug and an optional season parameter in YYYY-YY format, returning each player's name, number, position, hometown, image_url, bio_url, and player_id. Passing player_id, team_slug, and player_name_slug (extracted from the bio_url) to get_player_bio returns an individual player's stats_summary and profile image where available.
Schedules and Results
get_full_schedule returns an array of game objects with fields including game_id, date, time, home_team, away_team, location, status, result, and box_score_url. Both start_date and end_date are optional and accept MM/DD/YYYY format; omitting them defaults to the full current-season window. The game_id and box_score_url fields are the bridge to get_box_score, which requires the encoded id query parameter value from that URL.
Box Scores and League Stats
get_box_score returns a data object with a teams array — each entry containing the team name and an array of players with per-game statistics — plus a score_by_period object breaking down scoring across quarters or halves. get_standings requires no inputs and returns each team's division_record, division_pct, conference_record, conference_pct, and current streak. get_team_stats accepts an optional year parameter and returns stat categories (e.g., Offense, Scoring Defense, Scoring Margin) each with an array of team stat rows.
The Nike EYBL Scholastic API is a managed, monitored endpoint for nikeeyblscholastic.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when nikeeyblscholastic.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 nikeeyblscholastic.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 recruiting dashboard that cross-references player hometowns, positions, and stats summaries from
get_player_bio. - Track live league standings by polling
get_standingsfor division and conference records throughout the season. - Generate game recap summaries using per-player stats and score-by-period data from
get_box_score. - Populate a season schedule calendar with game times, locations, and result data from
get_full_schedule. - Compare team offensive and defensive efficiency using category-grouped rows from
get_team_stats. - Sync full roster data — including jersey numbers, positions, and images — for all EYBL Scholastic teams into a scouting database.
- Monitor team win streaks and winning percentages across conference play using the
streakandconference_pctfields fromget_standings.
| 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 nikeeyblscholastic.com have an official developer API?+
What does `get_box_score` return and how do I get the right game ID?+
teams array — each with a team name and player-level game statistics — plus a score_by_period object. The required game_id input is the encoded id query parameter found in the box_score_url field returned by get_full_schedule.Can I retrieve historical seasons for rosters and schedules?+
get_team_roster accepts a season parameter in YYYY-YY format and get_team_stats accepts a year parameter, so historical lookups are supported for those endpoints. get_full_schedule supports custom start_date and end_date inputs. Not all endpoints expose an explicit season filter; coverage of older seasons depends on what the source site retains.Does the API return play-by-play data or shot charts?+
get_box_score, but does not expose play-by-play sequences or shot location data. You can fork this API on Parse and revise it to add an endpoint targeting that data if the source exposes it.Are individual player season averages available, or only game-level stats?+
get_player_bio endpoint includes a stats_summary field with summary-level data for a player. Full season averages broken out by category are not currently a dedicated endpoint. The team-level get_team_stats endpoint covers aggregate team stat categories. You can fork this API on Parse and revise it to add a player-season-averages endpoint.