247sports.com API247sports.com ↗
Access recruit rankings, team recruiting rankings, and message board topics and posts from 247Sports via a structured JSON API with 4 endpoints.
curl -X GET 'https://api.parse.bot/scraper/ab5fa7c3-6639-49f1-8ea7-ee4289dca2f7/get_rankings?page=1&year=2026&sport=Football' \ -H 'X-API-Key: $PARSE_API_KEY'
Get recruit rankings for a specific sport and year. Returns paginated results with approximately 50 recruits per page, ordered by rank.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number to fetch |
| year | string | Year of the recruiting class (e.g., 2025, 2026) |
| sport | string | Sport name: Football, Basketball |
{
"type": "object",
"fields": {
"page": "integer current page number",
"count": "integer total number of recruits on this page",
"rankings": "array of recruit objects with name, profile_url, rank, location, position, metrics, and rating"
},
"sample": {
"data": {
"page": 1,
"count": 50,
"rankings": [
{
"name": "Keisean Henderson",
"rank": "1",
"rating": "100",
"metrics": "6-3 / 185",
"location": "Legacy the School of Sport Sciences (Spring, TX)",
"position": "QB",
"profile_url": "/player/keisean-henderson-46129516/"
}
]
},
"status": "success"
}
}About the 247sports.com API
The 247Sports API provides 4 endpoints covering college football and basketball recruiting data, including ranked recruit lists, team recruiting class standings, and message board content. The get_rankings endpoint returns paginated recruit profiles with name, position, location, numerical rating, and composite metrics. The get_team_rankings endpoint surfaces per-school commit counts broken down by star rating, making it straightforward to compare recruiting class strength across programs.
Recruit and Team Rankings
The get_rankings endpoint accepts sport (Football or Basketball), year (e.g., 2025, 2026), and page parameters. Each page returns up to 50 recruit objects containing name, profile_url, rank, location, position, metrics, and rating. This covers both football and basketball recruiting classes, so you can pull a ranked list for any supported class year without additional filtering on your end.
The get_team_rankings endpoint uses sport_id (1 for Football, 2 for Basketball) and year. It returns a list array where each team object includes name, fullName, rank, rating, fiveStars, fourStars, threeStars, commits, city, and state. The pagination object in the response exposes count, currentPage, pageCount, and itemsPerPage, so you can walk through all ranked programs programmatically.
Message Boards
The get_board_topics endpoint lists topics for a given board_id, returning each topic's title, url, author, replies, views, and is_vip flag. The is_vip field signals whether a topic is behind a paywall before you attempt to fetch its content. Invalid or restricted board IDs return an empty topics array rather than an error, so your code should check count before iterating.
The get_topic_content endpoint requires a full topic_url (e.g., https://247sports.com/board/<board_id>/contents/<topic-slug>-<topic_id>). It returns a posts array where each post carries username, content, upvotes, timestamp, and is_vip. VIP-gated threads may return a paywall stub with limited or no post content, which is reflected in a low count relative to the board topic's replies figure.
- Track the top 50 football recruits for a given class year by pulling rank, rating, and position from
get_rankings - Compare team recruiting class strength by aggregating
fiveStars,fourStars, andcommitsfields fromget_team_rankings - Monitor a program-specific message board for new topics by polling
get_board_topicson a schedule and filtering byrepliesorviews - Ingest fan discussion threads for sentiment analysis using the
contentandupvotesfields returned byget_topic_content - Build a recruiting dashboard that maps recruits by
locationandpositionacross multiple class years - Identify VIP-only discussions on a board before attempting to fetch full post content, using the
is_vipflag inget_board_topics - Audit year-over-year shifts in a school's recruiting class rating by querying
get_team_rankingsfor consecutive years
| 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 247Sports have an official public developer API?+
What does `get_team_rankings` return beyond just rank and school name?+
rating, fiveStars, fourStars, threeStars, and commits counts alongside city and state. The accompanying pagination object lets you determine total pages and iterate through the full ranked list using currentPage and pageCount.What happens when a message board topic is VIP-gated?+
is_vip field on a topic in get_board_topics will be true. If you then call get_topic_content on that URL, the response may return a paywall stub with a low count and limited post objects. The is_vip field on individual post objects in the response also indicates restricted content.Does the API cover sports other than Football and Basketball?+
get_rankings endpoint currently accepts Football and Basketball as values for the sport parameter. get_team_rankings supports sport IDs 1 (Football) and 2 (Basketball). Other sports tracked on 247Sports — such as baseball or soccer recruiting — are not currently covered. You can fork this API on Parse and revise it to add endpoints for additional sports.Can I retrieve individual recruit profile pages or commit history for a specific athlete?+
get_rankings endpoint returns a profile_url field for each recruit, but there is no dedicated endpoint to fetch the full profile, commit timeline, or offer list for an individual prospect. You can fork this API on Parse and revise it to add a profile detail endpoint using the returned profile_url.