Discover/Opendorse API
live

Opendorse APIopendorse.com

Access Opendorse NIL data: team lists, athlete directories, social media reach, and brand deal pricing across college sports programs.

Endpoint health
verified 4d ago
get_athlete_profile
get_all_teams
get_team_page_metadata
get_team_athletes
4/4 passing latest checkself-healing
Endpoints
4
Updated
26d ago

What is the Opendorse API?

The Opendorse API exposes 4 endpoints covering the Opendorse NIL marketplace — from paginated team and athlete listings to full athlete profiles with social media reach figures and service pricing. The get_athlete_profile endpoint returns per-platform follower counts for Instagram, Twitter, TikTok, and Facebook alongside biography, background demographics, and an itemized list of available brand deal services.

Try it
Page number for pagination.
api.parse.bot/scraper/1214b568-9cb5-41d2-8c3b-6e23d202551f/<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/1214b568-9cb5-41d2-8c3b-6e23d202551f/get_all_teams?page=1' \
  -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 opendorse-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: Opendorse NIL Marketplace — browse teams, search athletes, view profiles."""
from parse_apis.opendorse_api import Opendorse, AthleteSort, PriceRange, AthleteNotFound

client = Opendorse()

# Browse the team directory (capped to 5 teams)
for team in client.teams.list(limit=5):
    print(team.name, team.slug)

# Construct a team and fetch its branding metadata
alabama = client.team(slug="alabama-crimsontide")
meta = alabama.metadata()
print(meta.name, meta.available_sports)

# Search athletes on that team, sorted by price
for athlete in alabama.athletes.search(sort=AthleteSort.PRICE_HIGH_TO_LOW, limit=3):
    print(athlete.full_name, athlete.sport, athlete.starting_price)

# Drill into the first athlete's full profile
top = alabama.athletes.search(price=PriceRange.FIFTY_TO_TWO_HUNDRED, limit=1).first()
if top:
    profile = top.details()
    print(profile.full_name, profile.position, profile.bio)
    print(profile.social_media.instagram_reach, profile.social_media.tiktok_reach)
    for svc in profile.pricing.services:
        print(svc.category_type, svc.starting_price)

# Typed error handling for a missing athlete
try:
    bad = client.team(slug="opendorse")
    bad.athletes.search(term="zzz_nonexistent_zzz", limit=1).first()
except AthleteNotFound as exc:
    print(f"Not found: {exc.profile_code}")

print("exercised: teams.list / team.metadata / athletes.search / athlete.details")
All endpoints · 4 totalmissing one? ·

Retrieve a paginated directory of teams registered on the Opendorse NIL marketplace. Each page returns up to 40 teams. Teams are sorted alphabetically by name. Use the slug from a team entry to scope athlete searches or fetch team metadata.

Input
ParamTypeDescription
pageintegerPage number for pagination.
Response
{
  "type": "object",
  "fields": {
    "teams": "array of team objects with id, slug, name, marketplaceType, and logo",
    "pagination": "object with page, totalCount, and totalPages"
  },
  "sample": {
    "data": {
      "teams": [
        {
          "id": 164,
          "logo": "https://marketplaces.opendorse.com/static/abilenechristian-wildcats/050ee5e2-7c59-47ba-9057-223228514819.svg",
          "name": "Abilene Christian Wildcats",
          "slug": "abilenechristian-wildcats",
          "ordinal": null,
          "marketplaceType": "Team"
        }
      ],
      "pagination": {
        "page": 1,
        "totalCount": 335,
        "totalPages": 9
      }
    },
    "status": "success"
  }
}

About the Opendorse API

Teams and Athlete Discovery

The get_all_teams endpoint returns up to 40 teams per page. Each team object includes an id, slug, name, marketplaceType, and logo URL, plus pagination metadata (page, totalCount, totalPages). Use the slug field as input to get_team_athletes or get_team_page_metadata. Pass opendorse as the team_slug to query the global marketplace instead of a single school.

get_team_athletes supports filtering by sport, price range (e.g. ZeroToFiftyDollars, FiftyToTwoHundredDollars), and a free-text term for name search. Sort options include DealsCompleted, PriceHighToLow, PriceLowToHigh, and Recommended. Each athlete object in the response includes full_name, sport, starting_price, profile_url, network_profile_code, and social_reach.

Athlete Profile Detail

get_athlete_profile takes the network_profile_code from athlete listing results and returns a full profile. The pricing object contains a services array and a brand_pricing array that itemize what deal types the athlete offers. The social_media object provides individual _reach and _url fields for Instagram, Twitter, TikTok, and Facebook. The background object includes age, gender, ethnicity, and languages. Team affiliations — current, previous, and leagues — are grouped under affiliations.

Team Metadata

get_team_page_metadata returns the team's display name, logo URL, URL slug, a colors map of role names (such as PrimaryColor, SecondaryColor) to hex values, and an available_sports array. This is useful for building filtered browsing UIs or matching a team's visual identity before rendering athlete cards.

Reliability & maintenanceVerified

The Opendorse API is a managed, monitored endpoint for opendorse.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when opendorse.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 opendorse.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
4d 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
  • Identify college athletes by sport and price range for NIL sponsorship outreach using get_team_athletes filters
  • Aggregate social media reach across Instagram, TikTok, Twitter, and Facebook for athlete comparison using get_athlete_profile
  • Build a team-branded athlete directory using logo, colors, and available_sports from get_team_page_metadata
  • Rank athletes by completed deals or starting price using the sort parameter in get_team_athletes
  • Pull athlete demographic data (age, gender, ethnicity, languages) from the background field for audience alignment research
  • Search athletes by name across the full Opendorse marketplace by passing term with team_slug set to 'opendorse'
  • Map current and previous team affiliations for an athlete using the affiliations object in get_athlete_profile
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 Opendorse have an official developer API?+
Opendorse does not publish a public developer API or API documentation for external access. The data here is available through the Parse API for this source.
What social media platforms does get_athlete_profile return reach data for?+
The social_media object returns URL and reach fields for Instagram, Twitter, TikTok, and Facebook. Reach is provided per-platform where the athlete has a linked account; fields may be null if the athlete hasn't connected a given platform.
What price range values are accepted by get_team_athletes?+
The price parameter accepts predefined range strings: ZeroToFiftyDollars, FiftyToTwoHundredDollars, and TwoHundredToThreeHundredDollars (check the endpoint spec for the full list). Arbitrary numeric ranges are not supported — only these enumerated values are valid.
Does the API return completed deal history or transaction records for athletes?+
Not currently. The API covers deal availability flags, service types, brand pricing arrays, and a deals_completed sort signal, but not a full history of completed transactions or brand names involved in past deals. You can fork this API on Parse and revise it to add an endpoint targeting deal history if that data becomes accessible on the marketplace.
Is athlete profile data available for all teams, or only certain schools?+
The API covers all teams registered on the Opendorse NIL marketplace that are returned by get_all_teams. Athlete profile depth varies — fields like bio, age, and ethnicity may be null if the athlete has not completed their Opendorse profile. There is no filtering for profile completeness in the current endpoints. You can fork this API on Parse and revise it to add completeness-based filtering logic.
Page content last updated . Spec covers 4 endpoints from opendorse.com.
Related APIs in SportsSee all →
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.
espn.com API
Get live scores, schedules, standings, teams, rosters, athlete profiles, game logs, and league news across major sports from ESPN.
athletic.net API
Search and analyze cross country and track & field performance data across the US, including athlete profiles, meet results, team rosters, and rankings. Access comprehensive meet information, historical records, and state-level competition data to track athlete progress and discover top performers.
olympics.com API
Access Olympic Games results, medal tables, and athlete profiles to track performances across disciplines and events. Search featured athletes, view competition outcomes, and stay updated on medal standings from the official Olympics source.
on.com API
Access data from on.com.
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.
nikeeyblscholastic.com API
Access comprehensive Nike EYBL Scholastic basketball league data including teams, player bios, schedules, standings, and detailed game box scores. Track team rosters, player statistics, and season performance across the entire league in one place.
teamcolorcodes.com API
Get official color codes for sports teams across NFL, NBA, MLB, NHL, NCAA, and international soccer leagues, then search and browse teams to find their exact hex and RGB colors. Perfect for designing fan apps, merchandise, or any project that needs authentic team branding information.