EliteProspects APIeliteprospects.com ↗
Search hockey players, retrieve biographical details, and fetch top 100 draft prospect rankings with stats via the EliteProspects API.
What is the EliteProspects API?
The EliteProspects API exposes 3 endpoints covering player search, detailed biographies, and draft prospect rankings. Use search_players to find any player by name and receive their EliteProspects ID and slug, then pass those into get_player_details for position, nationality, height, weight, shooting hand, and profile verification status. The get_top_prospects endpoint returns ranked draft candidates with per-season performance statistics.
curl -X GET 'https://api.parse.bot/scraper/155197d3-0337-4ad8-a4b3-ecc33db466dc/search_players?query=Connor+McDavid' \ -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 eliteprospects-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: EliteProspects SDK — hockey player discovery and prospect analysis."""
from parse_apis.EliteProspects_Scraper_API import EliteProspects, PlayerNotFound
client = EliteProspects()
# Search for players by name — limit caps total items fetched.
for player_summary in client.player_summaries.search(query="Connor McDavid", limit=3):
print(player_summary.name, player_summary.slug)
# Drill into the first search result for full biographical detail.
summary = client.player_summaries.search(query="Sidney Crosby", limit=1).first()
if summary:
detail = summary.details()
print(detail.name, detail.nationality, detail.height, detail.current_team)
# List top prospects for a draft year.
for prospect in client.prospects.list(year="2025", limit=5):
print(prospect.rank, prospect.name, prospect.nationality)
print(prospect.performance_stats.goals, prospect.performance_stats.assists)
# Typed error handling around a player lookup.
try:
bad_summary = client.player_summaries.search(query="zzz_nonexistent_xyz", limit=1).first()
if bad_summary:
bad_summary.details()
except PlayerNotFound as exc:
print(f"Player not found: {exc.player_id}")
print("exercised: player_summaries.search / summary.details / prospects.list / PlayerNotFound")
Full-text search over EliteProspects player database by name or keyword. Returns up to 25 matching players with their IDs, slugs, and profile URLs. Each result carries the slug and id needed for get_player_details.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Player name or search keyword (e.g., 'Connor McDavid') |
{
"type": "object",
"fields": {
"players": "array of player objects each containing id, slug, name, and url"
},
"sample": {
"data": {
"players": [
{
"id": "183442",
"url": "https://www.eliteprospects.com/player/183442/connor-mcdavid",
"name": "Connor McDavid",
"slug": "connor-mcdavid"
}
]
},
"status": "success"
}
}About the EliteProspects API
Player Search and Identification
The search_players endpoint accepts a query string — a player name or keyword such as 'Connor McDavid' — and returns up to 25 matching players. Each result includes an id, slug, name, and direct url to the EliteProspects profile. The id and slug from these results are required inputs for the biographical detail endpoint.
Biographical Details
get_player_details takes a slug and player_id and returns a full biographical record. Available fields include height (imperial, e.g., 6'1"), weight in pounds, shoots (L or R), position as an array of strings, status (e.g., active), imageUrl, nationality, current team and league context, and a verified boolean indicating whether the profile has been verified by EliteProspects. Fields such as height and weight may be null when the source record is incomplete.
Draft Prospect Rankings
get_top_prospects returns the top 100 prospects from the EliteProspects consolidated draft ranking. The optional year parameter (e.g., '2025') filters to a specific draft class; omitting it returns the latest available ranking. Each prospect object carries a rank, biographical fields (position, dateOfBirth, nationality, height, weight, shoots, verified), and season performance statistics including games played, goals, assists, points, and penalty minutes.
Coverage Notes
Data covers the full EliteProspects player database spanning professional, minor, junior, and international leagues. The get_top_prospects endpoint is scoped to EliteProspects' consolidated ranking list, which means it reflects their own ranking methodology rather than a configurable multi-source aggregate.
The EliteProspects API is a managed, monitored endpoint for eliteprospects.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when eliteprospects.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 eliteprospects.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 draft-day dashboard that displays the top 100 ranked prospects with their goals, assists, and points for a given year.
- Autocomplete player name search in a hockey fantasy app using
search_playersto resolve player IDs. - Display player cards in a scouting tool by pulling
height,weight,position,shoots, andimageUrlfromget_player_details. - Track which prospects carry an EliteProspects
verifiedprofile flag across a watchlist. - Filter draft classes by nationality using the
nationalityfield returned inget_top_prospects. - Resolve EliteProspects slugs and IDs from player names to link to canonical EliteProspects profile URLs.
| 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 EliteProspects have an official developer API?+
What does `get_player_details` return beyond basic bio fields?+
get_player_details returns id, name, url, position (as an array), height, weight, shoots, status, imageUrl, nationality, current team and league, and a verified boolean. Fields like height and weight are returned as null when the EliteProspects record does not include them.Does the API return full season-by-season career statistics for a player?+
get_player_details returns biographical and profile metadata; season-by-season statistics are not part of that response. get_top_prospects includes one season of performance data (games played, goals, assists, points, penalty minutes) only for ranked prospects. You can fork this API on Parse and revise it to add a career stats endpoint for individual players.Can I retrieve prospects ranked below position 100, or filter by league or team?+
get_top_prospects returns the top 100 from the consolidated ranking, and no league or team filter parameter is exposed. You can fork this API on Parse and revise it to extend coverage or add filtering parameters.How does the `year` parameter in `get_top_prospects` work when omitted?+
year is omitted, the endpoint returns the latest consolidated draft ranking available on EliteProspects. To target a specific draft class, pass a four-digit year string such as '2025'. Only one draft year is returned per call.