Discover/247Sports API
live

247Sports API247sports.com

Access 247Sports recruit rankings, team recruiting rankings, and message board topics and posts via a structured REST API. Supports Football and Basketball.

This API takes change requests — .
Endpoint health
verified 3d ago
get_board_topics
get_team_rankings
get_rankings
get_topic_content
4/4 passing latest checkself-healing
Endpoints
4
Updated
28d ago

What is the 247Sports API?

The 247Sports API exposes 4 endpoints covering recruit rankings, team recruiting class rankings, message board topics, and individual thread posts. The get_rankings endpoint returns paginated recruit lists with fields like rank, position, location, rating, and metrics for Football and Basketball recruiting classes dating back multiple years. Whether you're tracking top prospects or monitoring community discussion, the API delivers structured data from one of college sports' primary recruiting databases.

Try it
Page number to fetch.
Recruiting class year (e.g. 2025, 2026).
Sport name.
api.parse.bot/scraper/ab5fa7c3-6639-49f1-8ea7-ee4289dca2f7/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
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'
Python SDK · recommended

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 247sports-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: 247Sports SDK — recruit & team rankings, board discussions."""
from parse_apis.two_four_seven_sports_api import (
    TwoFourSevenSports, Sport, SportId, TopicNotFound
)

client = TwoFourSevenSports()

# List top football recruits for 2026; limit caps total items fetched.
for recruit in client.recruits.list(sport=Sport.FOOTBALL, year="2026", limit=5):
    print(recruit.name, recruit.position, recruit.rating)

# Team rankings — basketball recruiting class strength.
for team in client.teamrankings.list(sport_id=SportId.FOOTBALL, year=2026, limit=3):
    print(team.full_name, team.rank, team.five_stars, team.commits)

# Navigate a message board: construct a Board by id, list its topics.
board = client.board(id="30")
topic = board.topics(limit=1).first()
if topic:
    print(topic.title, topic.is_vip)

    # Drill into the topic's posts.
    try:
        for post in topic.content(limit=3):
            print(post.username, post.is_vip)
    except TopicNotFound as exc:
        print(f"Topic gone: {exc}")

print("exercised: recruits.list / teamrankings.list / board.topics / topic.content")
All endpoints · 4 totalmissing one? ·

Retrieve paginated recruit rankings for a sport and recruiting class year. Each page returns approximately 50 recruits ordered by overall rank. Supports Football and Basketball sports.

Input
ParamTypeDescription
pageintegerPage number to fetch.
yearstringRecruiting class year (e.g. 2025, 2026).
sportstringSport name.
Response
{
  "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": 247,
      "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 API

Recruit and Team Rankings

The get_rankings endpoint returns up to 50 recruits per page, each with fields including name, profile_url, rank, location, position, metrics, and rating. You can filter by year (e.g. 2025, 2026) and sport (Football or Basketball). The get_team_rankings endpoint returns team recruiting class data — including rank, rating, fiveStars, fourStars, threeStars, and commits counts — with server-side pagination controlled by year and sport_id. The pagination object includes count, currentPage, pageCount, and itemsPerPage, making it straightforward to page through all ranked programs.

Message Board Access

The get_board_topics endpoint lists topics from any 247Sports message board identified by a numeric board_id. Each topic object carries title, url, author, replies, views, and an is_vip flag that indicates premium-only threads. Up to 50 topics are returned per page. Be aware that invalid or restricted board IDs return an empty topics array rather than an error, so validating your board_id before looping is worth doing.

Thread-Level Post Data

The get_topic_content endpoint accepts a full topic URL (e.g. https://247sports.com/board/30/contents/message-board-rules-128528768/) and returns all posts in that thread. Each post object includes username, content, upvotes, timestamp, and is_vip. VIP-only topics may return limited content depending on access level. This endpoint is useful for capturing community sentiment around specific recruits or coaching decisions at the post level.

Reliability & maintenanceVerified

The 247Sports API is a managed, monitored endpoint for 247sports.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when 247sports.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 247sports.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.

Last verified
3d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a recruit tracking dashboard that aggregates rank, rating, and position from get_rankings across multiple class years
  • Compare team recruiting class strength by pulling fiveStars, fourStars, threeStars, and commits from get_team_rankings
  • Monitor message board activity by polling get_board_topics for new threads and flagging VIP-only content via the is_vip field
  • Analyze fan and analyst sentiment on a specific recruit by fetching all posts from a thread using get_topic_content
  • Identify the most-discussed topics on a board by sorting get_board_topics results by the replies and views fields
  • Track year-over-year changes in team recruiting rank by requesting get_team_rankings for consecutive years
  • Aggregate author activity across message board topics to identify prolific contributors by querying multiple board IDs
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does 247Sports have an official developer API?+
247Sports does not publish a public developer API or developer portal. There is no documented official API available to third-party developers.
What does get_rankings return and how do I filter by sport or year?+
get_rankings returns an array of recruit objects per page, each with name, profile_url, rank, location, position, metrics, and rating. Pass the sport parameter (Football or Basketball) and a year string (e.g. 2026) as query inputs. Each page contains approximately 50 recruits ordered by overall rank; increment the page parameter to retrieve subsequent results.
Are individual recruit profile pages or commit history available?+
Not currently. The API returns recruit summary data from ranking lists — including name, rank, position, rating, and a profile_url — but does not expose full individual profile pages, offer lists, or commitment history. You can fork the API on Parse and revise it to add an endpoint that fetches the recruit's profile_url and extracts that detail.
What happens with VIP-restricted content in get_board_topics and get_topic_content?+
Topics behind the VIP paywall are identified by the is_vip flag in both endpoints. In get_board_topics, VIP threads are listed with their metadata (title, url, author, replies, views) but marked is_vip: true. In get_topic_content, VIP-only threads may return limited or no post content. The is_vip flag on individual posts also indicates premium-tier contributions within a thread.
Does the API cover sports other than Football and Basketball?+
get_rankings explicitly supports Football and Basketball as sport parameter values. get_team_rankings accepts a numeric sport_id, but only sport IDs corresponding to those same sports are reliably covered. Other sports such as Baseball or Soccer are not currently included in recruit or team ranking responses. You can fork the API on Parse and revise it to add support for additional sport IDs if 247Sports surfaces them.
Page content last updated . Spec covers 4 endpoints from 247sports.com.
Related APIs in SportsSee all →
ncaaf.com API
Access comprehensive college football data to get live scores, team schedules, player statistics, and game details across the NCAAF. Track rankings, compare team rosters, analyze betting odds and spreads, and explore historical results and trends to stay informed on college football.
stats.ncaa.org API
Access comprehensive NCAA sports statistics to search for players, teams, and coaches, view game box scores and play-by-play data, and review team schedules, rosters, and rankings. Get detailed head coach records and scoreboard information to analyze performance across college sports.
draftsharks.com API
Get comprehensive fantasy football insights by accessing redraft and dynasty rankings, player projections, injury histories, team depth charts, and strength-of-schedule analysis. Search player profiles and stay updated with the latest news articles to optimize your draft strategy and roster decisions.
espn.com API
Get live scores, schedules, standings, teams, rosters, athlete profiles, game logs, and league news across major sports from ESPN.
maxpreps.com API
Access high school sports data from MaxPreps. Search for schools, retrieve team rosters and schedules, look up athlete profiles, and browse national or state rankings across all sports.
milesplit.com API
Access high school track and field rankings from MileSplit by state, event, and year. Retrieve team-level standings for relay events and individual athlete rankings for sprint and distance events across all US states.
sportsbookreview.com API
Compare sportsbooks and their ratings, view real-time betting odds across sports and specific matchups, monitor how lines move over time, and discover expert picks and promotions all in one place. Make more informed betting decisions by accessing comprehensive sportsbook reviews, odds comparisons, and professional analysis.
fantasycalc.com API
Get real-time fantasy football player rankings and trade values based on thousands of actual league trades across Dynasty, Redraft, and Superflex formats. Search player statistics and track how often specific trades occur to make informed roster decisions.