Discover/FEI API
live

FEI APIdata.fei.org

Access FEI equestrian data: horse profiles, athlete records, competition results, world rankings, calendar events, and national federation details via 13 endpoints.

Endpoint health
verified 6d ago
get_horse_results
get_athlete_results
get_person_detail
search_persons
search_calendar
13/13 passing latest checkself-healing
Endpoints
13
Updated
21d ago

What is the FEI API?

This API exposes 13 endpoints covering the FEI (Fédération Equestre Internationale) database at data.fei.org, giving programmatic access to horse registrations, athlete profiles, competition results, world rankings, and show schedules. The get_competition_results endpoint returns full rider-horse result tables per competition, while get_rankings returns ranked athletes with points and result counts for a given discipline code.

Try it
Horse name to search for (partial match supported)
FEI ID of the horse (e.g. 102YQ59)
api.parse.bot/scraper/4ec7d4d3-bcf8-4a28-84b4-bdc3bd38455f/<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/4ec7d4d3-bcf8-4a28-84b4-bdc3bd38455f/search_horses?name=Donatello' \
  -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 data-fei-org-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.

"""FEI Database API — search horses, athletes, rankings, and competition results."""
from parse_apis.fei_database_api import FEI, NotFound

client = FEI()

# Search for top-ranked jumping athletes worldwide
for athlete in client.rankings.get(ranking_code="S_WR", limit=5):
    print(athlete.athlete, athlete.nf, athlete.points)

# Find a specific person and explore their competition history
person = client.people.search(last_name="Guerdat", limit=1).first()
if person:
    print(person.name, person.groups, person.nf)
    for result in person.results.list(limit=3):
        print(result.show, result.horse, result.position, result.score)

# Search horses by name and get their results
horse = client.horses.search(name="Donatello", limit=1).first()
if horse:
    print(horse.name, horse.fei_id, horse.sex)
    for hr in horse.results.list(limit=3):
        print(hr.start_date, hr.show, hr.athlete, hr.position)

# Search the calendar for upcoming shows at a venue
for show in client.shows.search_by_venue(venue="London", limit=3):
    print(show.show, show.start_date, show.end_date, show.events)

# Get details of a national federation with error handling
try:
    federation = client.federationdetails.get(nf_id="6")
    print(federation.name, federation.city, federation.president)
except NotFound as exc:
    print(f"Federation not found: {exc}")

print("Exercised: rankings.get, people.search, person.results.list, horses.search, horse.results.list, shows.search_by_venue, federationdetails.get")
All endpoints · 13 totalmissing one? ·

Search for horses by name or FEI ID. At least one of name or fei_id should be provided. Returns an array of matching horses with basic registration info including an encrypted ID (Name_id) used for detail/results lookups.

Input
ParamTypeDescription
namestringHorse name to search for (partial match supported)
fei_idstringFEI ID of the horse (e.g. 102YQ59)
Response
{
  "type": "object",
  "fields": {
    "horses": "array of horse objects with FEI ID, Name, Name_id, Sex, Date of birth, Admin NF, and registration details"
  }
}

About the FEI API

Horses and Athletes

The search_horses endpoint accepts a partial horse name or a legacy-format FEI ID (e.g. BEL03436) and returns an array of matching horses including FEI ID, sex, date of birth, and administering national federation. Once you have a horse's encrypted Name_id, pass it to get_horse_detail for full registration data — gender, status, ID type, and current registered name — or to get_horse_results for a full competition history with show name, event, position, and score. The same pattern applies to people: search_persons looks up athletes, owners, and officials by last name or numeric FEI ID, and get_person_detail returns nationality, competing-for country, roles (the Groups field), and registration status.

Competition Results and Rankings

get_athlete_results and get_horse_results both return result arrays with Start Date, Show, NF, Event, Competition, and a Competition_id you can forward to get_competition_results to retrieve the full results table for that specific competition — every rider-horse pairing with rank and score. For global rankings, get_rankings takes a ranking_code string (e.g. S_WR for the Jumping Longines Rankings) and returns each athlete's current rank, previous rank, FEI ID, points total, and number of counted results.

Calendar and Shows

search_calendar filters by venue, date_from, and date_to (DD/MM/YYYY format) and returns show objects with start/end dates, national federation code, and an Events field listing discipline codes. get_show_detail takes the encrypted Show_id and returns the full event list with discipline and event code. search_shows_by_venue is a convenience endpoint scoped to venue name only.

National Federations

list_national_federations returns all FEI member federations with athlete counts, horse counts, official counts, event counts, and affiliation year. get_national_federation_detail takes a numeric nf_id and returns headquarters address, website, president name, membership status, affiliation year, and a members array listing each named contact's department and function.

Reliability & maintenanceVerified

The FEI API is a managed, monitored endpoint for data.fei.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when data.fei.org 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 data.fei.org 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
6d ago
Latest check
13/13 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 horse pedigree and competition history tracker using get_horse_detail and get_horse_results.
  • Aggregate athlete career stats by combining get_athlete_results across multiple seasons for a given p_id.
  • Monitor upcoming FEI shows in a specific region by querying search_calendar with date_from and date_to filters.
  • Display live world ranking tables per discipline using get_rankings with the appropriate ranking_code.
  • Create a national federation directory with contact details and member rosters from get_national_federation_detail.
  • Cross-reference competition results between horse and athlete records using shared Competition_id values.
  • Track which athletes represent a given national federation by filtering athlete results against NF codes.
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 the FEI have an official public developer API?+
The FEI does not publish an officially documented public REST API for the data.fei.org database. The FEI data portal is accessible via its website, but no developer API with keys, documentation, or official support is offered publicly.
What does search_persons return, and can I filter by first name?+
search_persons returns an array of person objects with FEI ID, full name, encrypted Name_id, Groups (e.g. Athlete, Owner), national federation code, and gender. The last_name parameter is the most reliable filter. Combining first_name with last_name may return fewer or no results due to server-side matching constraints, so querying by last_name alone and filtering the response is more reliable.
Do modern alphanumeric FEI horse IDs (e.g. 103BX79) work in search_horses?+
Not reliably. The fei_id parameter in search_horses works consistently with legacy-format IDs such as BEL03436. Modern alphanumeric IDs like 103BX79 may not return results. Searching by horse name is the recommended fallback when you have a modern-format ID.
Does the API return historical ranking snapshots or ranking change over time?+
No. get_rankings returns the current ranking list for a given ranking_code, including each athlete's current rank, previous rank, points, and number of results — but no historical snapshots or time-series data. You can fork this API on Parse and revise it to add a ranking-history endpoint if time-series tracking is needed.
Are horse health records, ownership history, or passport details available?+
Not currently. The API covers registration details, competition results, and administering federation information for horses. Ownership history, veterinary records, and passport document data are not exposed. You can fork this API on Parse and revise it to add those endpoints if the FEI database surfaces that data.
Page content last updated . Spec covers 13 endpoints from data.fei.org.
Related APIs in SportsSee all →
fie.org API
Search and explore detailed fencer profiles, track athlete rankings, and review competition results and tournament brackets from the International Fencing Federation. Get comprehensive match histories and stay updated on world rankings across all fencing competitions.
equibase.com API
Access comprehensive horse racing data from Equibase, including horse profiles, historical race results, track entries, post times, speed figures, and leader statistics for horses, jockeys, trainers, and owners.
ehorses.com API
Search and browse horses from the world's largest horse market with detailed filtering options, view comprehensive horse profiles and seller information, and discover active listings from specific sellers. Access real-time market data including homepage statistics and available search filter options to find your perfect horse.
ifsc-climbing.com API
Track world rankings, search athlete profiles, and browse competition results and schedules across the international sport climbing circuit. Stay updated with the latest news and event information from the official IFSC competition calendar.
racing.hkjc.com API
Access comprehensive horse racing data from the Hong Kong Jockey Club. Retrieve race results, detailed horse profiles including pedigree and form records, jockey and trainer season rankings, upcoming race meeting fixtures, and horse search by name.
fencing.ophardt.online API
Search fencing tournaments and view event details, attendee lists, and competition schedules from the Ophardt Team Sportevent platform. Quickly find upcoming events and see who is registered to compete.
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.
cyclocross24.com API
Track cyclocross races and riders with access to current race calendars, detailed results, athlete profiles, and UCI rankings all in one place. Search for specific riders, monitor live standings, and stay updated on competitive rankings throughout the season.