Retrieving Competitor and Team Details
This scenario explains how to build driver and team (constructor) profile pages: biographical details for a driver and car, engine, and staff details for a team. Drivers come from Competitor Profile; teams come from Team Profile. Both take an sr:competitor: ID.
This is commonly used to:
- Build driver and team profile pages
- Enrich live timing and standings with biographical and car detail
- Show career milestones (debut, first points, first pole, first victory)
Relevant Feeds
| Feed | Purpose |
|---|---|
| Stage Summary | Source the competitor_id for a driver or team |
| Competitor Profile | Driver biography and career milestones |
| Team Profile | Team car, engine, and staff details |
Where to Get the ID
The best place to get a driver's or team's competitor_id is the season Stage Summary: drivers are in competitors, teams are in teams (and in each driver's nested team). Both use the sr:competitor: namespace, so decide which profile feed to call based on whether the ID is a driver or a team. See ID Handling.
1. Driver (Competitor) Profile
Call Competitor Profile with the driver's competitor_id. The response carries the driver, the team(s) they are associated with, and an info block of biographical and career-milestone dates.
GET https://api.sportradar.com/formula1/trial/v2/en/competitors/sr:competitor:495898/profile.json
x-api-key: YOUR_API_KEY{
"generated_at": "2026-06-13T13:09:45+00:00",
"schema": "https://schemas.sportradar.com/sportsapi/formula1/v2/schemas/competitor_profile.json",
"competitor": {
"id": "sr:competitor:495898",
"name": "Norris, Lando",
"nationality": "Great Britain",
"country_code": "GBR",
"abbreviation": "NOR",
"gender": "male"
},
"teams": [
{
"id": "sr:competitor:4514",
"name": "McLaren",
"nationality": "Great Britain",
"country_code": "GBR",
"abbreviation": "MCL",
"gender": "male"
}
],
"info": {
"dateofbirth": "1999-11-13",
"placeofbirth": "Stevenage",
"placeofbirth_id": "sr:city:1133",
"debut": "2019-03-17",
"first_points": "2019-03-31",
"first_pole": "2021-09-26",
"first_victory": "2024-05-05",
"car_number": 1
}
}The info block holds the milestone dates (debut, first_points, first_pole, first_victory), the dateofbirth and placeofbirth (with a linkable placeofbirth_id), and the driver's car_number. Date-only fields are not UTC-adjusted; see API Basics.
2. Team Profile
Call Team Profile with the team's competitor_id. The info block carries car, engine, and staff details.
GET https://api.sportradar.com/formula1/trial/v2/en/teams/sr:competitor:4514/profile.json
x-api-key: YOUR_API_KEY{
"generated_at": "2026-06-13T13:14:45+00:00",
"schema": "https://schemas.sportradar.com/sportsapi/formula1/v2/schemas/team_profile.json",
"team": {
"id": "sr:competitor:4514",
"name": "McLaren",
"nationality": "Great Britain",
"country_code": "GBR",
"abbreviation": "MCL",
"gender": "male"
},
"info": {
"url_official": "https://www.mclaren.com/formula1/",
"president": "Andrea Stella",
"technical_director": "Neil Houldey",
"sports_director": "Will Courtenay",
"car_name": "McLaren MCL40",
"car_chassis": "MCL40",
"car_engine_name": "Mercedes-AMG F1 M17 E Performance",
"car_engine_size": "1600",
"car_fuel_type": "Petronas",
"car_tyres": "Pirelli",
"car_construction_year": "2026",
"foundation_year": "1966",
"location": "McLaren Techology Centre, Surrey GU21 5JY",
"country_of_residence": "England",
"country_code_of_residence": "ENG",
"debut": "1966-05-22",
"first_points": "1966-07-16",
"first_pole": "1972-09-24",
"first_victory": "1968-06-09"
}
}The team info block covers the current car (car_name, car_chassis, car_engine_name, car_engine_size, car_fuel_type, car_tyres, car_construction_year), the organization (foundation_year, location, country of residence, url_official), key staff (president, technical_director, sports_director), and historical milestones (debut, first_points, first_pole, first_victory).
One ID Namespace, Two FeedsA driver and a team both have
sr:competitor:IDs. Route a driver ID to Competitor Profile and a team ID to Team Profile based on where you found it (acompetitorsentry vs ateamsentry), not the ID's format.
Refresh Strategy
- Profiles change rarely; refresh weekly, or when a milestone (a first pole or first victory) is achieved. See Update Frequencies.
- Team car details (chassis, engine) change per season; re-pull at the start of a new season.
- If you persist
sr:competitor:IDs, reconcile them against Competitor Merge Mappings; see Monitoring Data Changes.
Best Practices
- Source IDs from a season Stage Summary; do not hardcode them.
- Cache profiles and refresh on a slow cadence; they are not live data.
- Use
placeofbirth_idand othersr:IDs as stable join keys rather than display strings.
Updated 8 days ago
