API reference
The profile record
Every field the people detail route returns, what each one holds, and a whole record to read. Values here are invented; the shape is the one the API returns.
What comes back
Send the ids and nothing else and you get the record below. Identity, location, the current title, skills and credentials, and the full work and education history.
/entity/v1/profiles/detail-by-id{
"profile_id": "kR3nQv8xTm",
"full_name": "Dana Whitfield",
"first_name": "Dana",
"last_name": "Whitfield",
"linkedin_url": "https://www.linkedin.com/in/dana-whitfield-example",
"active_experience_title": "Staff Data Engineer",
"is_working": true,
"is_decision_maker": false,
"address": {
"city": "Austin",
"state": "Texas",
"country": "United States",
"country_iso2": "US",
"country_iso3": "USA",
"regions": ["North America"],
"full": "Austin, Texas, United States"
},
"skills": ["Python", "Airflow", "dbt"],
"certifications": ["AWS Certified Data Analytics"],
"courses": [],
"awards": [],
"publications": [],
"patents": [],
"experience": [
{
"title": "Staff Data Engineer",
"role": "Data Engineer",
"level": "Senior",
"industry": "Technology, Information and Media",
"company_name": "Northwind Analytics",
"company_type": "Privately Held",
"company_size_range": 4,
"is_current": true,
"duration_months": 29,
"start_time": "2024-04-01",
"end_time": null,
"address_city": "Austin",
"address_state": "Texas",
"address_country": "United States"
}
],
"education": [
{
"institution_name": "University of Texas at Austin",
"major": "Computer Science",
"degree_level": 5,
"begin_year": 2016,
"end_year": 2020,
"is_current": false
}
]
}Empty is not missing
null or an empty array rather than being left out, so a record's shape does not change with how complete it is. Read the value, not the presence of the key.Asking for more, or less
_source takes an array of field names and returns exactly those. It is how you make a response smaller, and The rest of the record is reached by naming it. Everything below arrives this way and not otherwise.
/entity/v1/profiles/detail-by-id{
"profile_ids": ["kR3nQv8xTm"],
"_source": ["profile_id", "full_name", "summary", "github_url"]
}A name outside the tables below is refused, so a typo is visible rather than returning a record without the field. Naming a container returns the fields under it, so ["experience"] is shorthand for the work history as it appears above; name a leaf such as experience.description to reach one field inside it.
/entity/v1/profiles/detail-by-id{
"profile_id": "kR3nQv8xTm",
"headline": "Staff Data Engineer · building reliable pipelines",
"summary": "Twelve years turning messy source systems into models analysts trust.",
"github_url": "https://github.com/example-dana",
"website": "https://example.com/dana",
"twitter_url": null,
"connections_count": 1840,
"followers_count": 2205,
"total_experience_duration_months": 149,
"last_graduation_date": 2020,
"education_degrees": ["Bachelor"],
"active_experience_department": "Engineering and Technical",
"active_experience_management_level": "Senior",
"github_repos_summary": [
{ "name": "pipeline-toolkit", "stars": 412, "contributions_count": 137,
"summary": "Helpers for incremental dbt models." }
],
"experience": [
{
"description": "Owned the ingestion layer and the contracts around it.",
"company_id": "Cm4vTnR2sD",
"company_website": "https://northwind-analytics.example",
"company_employees_count": 320,
"company_is_b2b": true,
"company_categories_and_keywords": ["analytics", "data infrastructure"]
}
],
"education": [
{ "description": "Focus on distributed systems.",
"institution_url": "https://www.utexas.edu",
"institution_rank": 38 }
]
}Identity
- Field
profile_id- Type
- string
- What it holds
- The person's identifier on this API. Send it back to this route to read the record again. Stable across calls.
- Field
full_name- Type
- string
- What it holds
- The name as the source shows it.
- Field
first_namelast_namemiddle_name- Type
- string
- What it holds
- The parts of it. middle_name is often null.
- Field
first_name_initiallast_name_initialmiddle_name_initial- Type
- string
- What it holds
- Single letters, for display where a full name is too much. On request.
- Field
linkedin_url- Type
- string
- What it holds
- The person's profile page.
- Field
github_urltwitter_urlfacebook_urlcrunchbase_urlwebsite- Type
- string
- What it holds
- Links the person published about themselves. Usually null; most records list none. On request.
The person
- Field
headline- Type
- string
- What it holds
- The one-line self-description under their name, around 60 characters. On request.
- Field
summary- Type
- string
- What it holds
- The longer self-description, around 500 characters when present. On request.
- Field
address.cityaddress.stateaddress.country- Type
- string
- What it holds
- Where the person is, as names. country is a full name such as United States.
- Field
address.country_iso2address.country_iso3- Type
- string
- What it holds
- The same country as US and USA.
- Field
address.regions- Type
- string[]
- What it holds
- Broad groupings such as North America.
- Field
address.full- Type
- string
- What it holds
- The parts above, formatted for reading. Filter on the parts rather than on this.
- Field
country_code- Type
- string
- What it holds
- Two-letter code alongside the address block. On request.
- Field
skills- Type
- string[]
- What it holds
- Self-reported. The longest list on most records.
- Field
certificationscoursesawardspublicationspatents- Type
- string[]
- What it holds
- Credentials and output, as free text.
- Field
organizationsprojectsservices- Type
- string[]
- What it holds
- Memberships, side work and offered services. Rarely populated. On request.
- Field
is_working- Type
- boolean
- What it holds
- Whether a current job is on the record.
- Field
is_decision_maker- Type
- boolean
- What it holds
- Whether the current title suggests budget authority.
- Field
active_experience_title- Type
- string
- What it holds
- The current job title, lifted to the top level so it can be read without walking the array.
- Field
active_experience_departmentactive_experience_management_level- Type
- string
- What it holds
- The current job's department and seniority, from fixed sets. On request.
- Field
total_experience_duration_months- Type
- integer
- What it holds
- Months of work history across every role. On request.
- Field
last_graduation_date- Type
- integer
- What it holds
- Year of the most recent qualification. On request.
- Field
education_degrees- Type
- string[]
- What it holds
- Degree names across the education history. On request.
- Field
connections_countfollowers_count- Type
- integer
- What it holds
- Audience counts from the source platform. On request.
- Field
github_contributions_count- Type
- integer
- What it holds
- Public contribution count, where a GitHub account is linked. On request.
- Field
github_repos_summary.namegithub_repos_summary.starsgithub_repos_summary.contributions_countgithub_repos_summary.summary- Type
- object[]
- What it holds
- The person's notable public repositories. On request.
Experience
An array, most recent first, one entry per job.
- Field
experience.title- Type
- string
- What it holds
- The title as written on the record.
- Field
experience.roleexperience.level- Type
- string
- What it holds
- The normalised job family and seniority.
- Field
experience.industry- Type
- string
- What it holds
- The employer's industry, from a fixed set of twenty.
- Field
experience.description- Type
- string
- What it holds
- What the person wrote about the job. On request.
- Field
experience.is_current- Type
- boolean
- What it holds
- Whether this is a current role.
- Field
experience.start_timeexperience.end_time- Type
- string
- What it holds
- YYYY-MM-DD. end_time is null while the role is current.
- Field
experience.duration_months- Type
- integer
- What it holds
- Length of this role.
- Field
experience.order_in_profile- Type
- integer
- What it holds
- Position in the array, zero-based. On request.
- Field
experience.company_nameexperience.company_type- Type
- string
- What it holds
- The employer and its legal form.
- Field
experience.company_id- Type
- string
- What it holds
- The employer's identifier. It belongs to the companies route, not this one. On request.
- Field
experience.company_size_rangeexperience.company_employees_count- Type
- integer
- What it holds
- Size band and headcount. On request.
- Field
experience.company_is_b2b- Type
- boolean
- What it holds
- Whether the employer sells to businesses. On request.
- Field
experience.company_websiteexperience.company_linkedin_urlexperience.company_logo_url- Type
- string
- What it holds
- The employer's links. On request.
- Field
experience.company_categories_and_keywords- Type
- string[]
- What it holds
- What the employer does, as tags. On request.
- Field
experience.address_cityexperience.address_stateexperience.address_country- Type
- string
- What it holds
- Where this job was, which may differ from where the person is.
- Field
experience.address_full- Type
- string
- What it holds
- The same location formatted for reading. On request.
Education
An array, one entry per qualification.
- Field
education.institution_name- Type
- string
- What it holds
- The school or university.
- Field
education.major- Type
- string
- What it holds
- Field of study, as written.
- Field
education.degree_level- Type
- integer
- What it holds
- Ranked level, so gte and lte compare qualifications rather than spellings.
- Field
education.begin_yeareducation.end_year- Type
- integer
- What it holds
- Years, not dates.
- Field
education.is_current- Type
- boolean
- What it holds
- Whether the person is still studying this.
- Field
education.description- Type
- string
- What it holds
- What the person wrote about it. On request.
- Field
education.order_in_profile- Type
- integer
- What it holds
- Position in the array, zero-based. On request.
- Field
education.institution_rank- Type
- integer
- What it holds
- Ranking position, where one is known. On request.
- Field
education.institution_urleducation.institution_logo_url- Type
- string
- What it holds
- The institution's links. On request.
- Field
education.institution_country_iso2education.institution_country_iso3education.institution_regions- Type
- string
- What it holds
- Where the institution is. On request.