Work Experience

The workExperience array lists a person’s roles in reverse-chronological order. Each role with a null endDate is current — and a person can have more than one, so don’t assume a single current job.

What each entry carries#

  • Raw and normalized titles — titleRaw as recorded, title normalized, plus the classification fields covered in Roles & Seniority.
  • Dates — startDate / endDate as YYYY-MM, or just YYYY when the month is unknown; endDate is null for current roles. See Dates & Precision.
  • An embedded company object — full firmographics for the employer, so person enrichment rarely needs a follow-up company call. See Company

Primary work experience#

primaryWorkExperienceId points at the single role the API treats as a person’s main current job — use it to answer “where do they work now” without date arithmetic. It is computed per response (not stored) from the person’s current roles:

  1. Only current roles are eligible — a non-null startDate and a null endDate. A person with no current role has no primaryWorkExperienceId.
  2. A person with exactly one current role gets it as their primary, whatever its title. With two or more, we set aside any role whose title contains board, investor, advisor, member, mentor, volunteer, or independent consultant. If every current role is set aside, the person has no primaryWorkExperienceId.
  3. Among what remains, we prefer roles at recognized company entities, then the more senior role by seniority (owner and cxo rank equal at the top), breaking ties on the most recent startDate. Employer headcount plays no part.
Because the primary is chosen by these heuristics, the pointer can move between two genuinely co-equal current roles even when the person hasn’t changed jobs. To track moves reliably, compare the full set of current roles, not just the primary. See Job Change Detection.