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.

POST/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

A field with no value comes back as 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.

POST/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.

POST/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.