> ## Documentation Index
> Fetch the complete documentation index at: https://docs.datacircle.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Dataset fields

> Every column of the co-op files, one per provider, with its type.

## Co-op file columns

The co-op file is a flat Parquet table, one per provider: `coop_up2data` (every LinkedIn profile fetched through Up2Data), `coop_harvestapi` (through HarvestAPI) and `coop_fetchin` (through Fetchin), in [`GET /files/`](/files). One row per profile, its latest answer. Each column is a field of that provider's answer, named as the provider names it ([LinkedIn Profile API](/linkedin-profile)): an object becomes one column per subfield, `<field>_<subfield>` (`location_city`). A list stays one column, a Parquet list, and an object inside it a struct whose fields are listed below as `<column>[].<field>`. No column holds JSON text: a field keyed by what the provider names (Fetchin's text per language, keyed by locale) is a Parquet map. A field missing from an answer is `null`. An email or a phone number written in a profile reads `[redacted]`.

When a provider adds or changes a field, we add it here and to the files. Until then the daily build logs it and leaves it out.

### `coop_up2data`

| Column | Type | Description |
| - | - | - |
| `url` | `string` | Canonical profile URL. |
| `public_identifier` | `string` | The profile's slug: `linkedin.com/in/<public_identifier>`. |
| `linkedin_id` | `string` | Numeric LinkedIn member ID. |
| `full_name` | `string` | The member's full name. |
| `first_name` | `string` | The member's first name. |
| `last_name` | `string` | The member's last name. |
| `headline` | `string` | The line under the member's name on the profile. |
| `location_city` | `string` | City. |
| `location_region` | `string` | State or region. |
| `location_country` | `string` | Country name (e.g. `United States`). |
| `location_raw` | `string` | The location exactly as LinkedIn shows it (e.g. "Greater Seattle Area"), before parsing. |
| `current_company_name` | `string` | The company's name. |
| `current_company_url` | `string` | The company's LinkedIn page URL. |
| `current_company_title` | `string` | The member's title there. |
| `current_company_started_at` | `string` | When the role started, `YYYY-MM` or `YYYY`. |
| `current_company_linkedin_id` | `string` | Numeric LinkedIn organization ID. |
| `current_company_logo_url` | `string` | The company's logo (a LinkedIn CDN link, which expires). |
| `current_company_industry` | `string` | The company's LinkedIn industry. |
| `current_company_headcount` | `string` | The company's size band on LinkedIn, e.g. `10001+`. |
| `positions` | `list<struct>` | Full experience history, current roles included. |
| `positions[].title` | `string` | The member's title in this role. |
| `positions[].company` | `string` | The company's name. |
| `positions[].company_url` | `string` | The company's LinkedIn page URL. |
| `positions[].linkedin_id` | `string` | Numeric LinkedIn organization ID for this role's company. |
| `positions[].position_id` | `string` | LinkedIn's id of this role (`urn:li:fsd_profilePosition:...`). |
| `positions[].started_at` | `string` | When the role started, `YYYY-MM` or `YYYY`. |
| `positions[].ended_at` | `string` | When the role ended, `YYYY-MM` or `YYYY`. `null` for a current role. |
| `positions[].description` | `string` | The role's description. |
| `positions[].skills` | `list<string>` | Skills the member tied to this role. |
| `positions[].company_industry` | `string` | The company's LinkedIn industry. |
| `positions[].company_headcount` | `string` | The company's size band on LinkedIn, e.g. `10001+`. |
| `positions[].company_logo_url` | `string` | The company's logo (a LinkedIn CDN link, which expires). |
| `education` | `list<struct>` | Education history. |
| `education[].school` | `string` | The school's name. |
| `education[].degree` | `string` | The degree. |
| `education[].field` | `string` | The field of study. |
| `education[].activities` | `string` | Activities and societies. |
| `education[].education_id` | `string` | LinkedIn's id of this entry (`urn:li:fsd_profileEducation:...`). |
| `education[].school_logo_url` | `string` | The school's logo (a LinkedIn CDN link, which expires). |
| `education[].description` | `string` | The entry's description. |
| `education[].started_at` | `string` | When it started, `YYYY-MM` or `YYYY`. |
| `education[].ended_at` | `string` | When it ended, `YYYY-MM` or `YYYY`. `null` when ongoing. |
| `skills` | `list<string>` | Capped at the first 20 unless `with_full_skills_and_endorsements` is true, in which case every skill LinkedIn exposes is returned (up to LinkedIn's own 50-skill cap). |
| `skill_endorsements` | `list<struct>` | Present when `with_full_skills_and_endorsements` is true (or listed in `fields`). |
| `skill_endorsements[].name` | `string` | The skill. |
| `skill_endorsements[].endorsement_count` | `int64` | How many members endorsed it. |
| `about` | `string` | The profile's About section. |
| `urn` | `string` | `urn:li:member:{id}` on enrich. |
| `profile_urn` | `string` | `urn:li:fsd_profile:{ACo…}`, the profile id Sales Navigator and LinkedIn messaging use. |
| `languages` | `list<string>` | Language names listed on the profile. Omitted when none are listed. |
| `language_proficiencies` | `list<struct>` | The same languages as `languages`, with the proficiency the member chose, when they chose one. |
| `language_proficiencies[].name` | `string` | The language. |
| `language_proficiencies[].proficiency` | `string` | The proficiency the member chose. Omitted when they chose none. |
| `certifications` | `list<struct>` | Licenses and certifications on the profile. |
| `certifications[].name` | `string` | The certification's name. |
| `certifications[].authority` | `string` | Who issued it. |
| `certifications[].issued_at` | `string` | When it was issued, `YYYY-MM` or `YYYY`. |
| `certifications[].expires_at` | `string` | When it expires, `YYYY-MM` or `YYYY`. |
| `certifications[].url` | `string` | The credential's URL. |
| `certifications[].linkedin_id` | `string` | Numeric LinkedIn company id of the issuing organization, when listed. |
| `certifications[].license_number` | `string` | License or credential number, when listed on the certificate. |
| `publications` | `list<struct>` | Publications on the profile. |
| `publications[].title` | `string` | The publication's title. |
| `publications[].publisher` | `string` | Its publisher. |
| `publications[].published_at` | `string` | When it was published, `YYYY-MM` or `YYYY`. |
| `publications[].url` | `string` | Its URL. |
| `publications[].description` | `string` | Its description. |
| `publications[].authors` | `list<struct>` | Its authors. |
| `publications[].authors[].name` | `string` | The person's name. |
| `publications[].authors[].public_identifier` | `string` | Their profile's slug (`linkedin.com/in/<public_identifier>`), when they are on LinkedIn. |
| `publications[].authors[].headline` | `string` | Their profile's headline, when they are on LinkedIn. |
| `patents` | `list<struct>` | Patents on the profile. |
| `patents[].title` | `string` | The patent's title. |
| `patents[].number` | `string` | The patent or application number (e.g. `10,127,086`). |
| `patents[].issuer` | `string` | Patent office country code as LinkedIn lists it (e.g. "us"). |
| `patents[].issued_at` | `string` | When it was issued, `YYYY-MM` or `YYYY`. |
| `patents[].description` | `string` | Its description. |
| `patents[].inventors` | `list<struct>` | Its inventors. |
| `patents[].inventors[].name` | `string` | The person's name. |
| `patents[].inventors[].public_identifier` | `string` | Their profile's slug (`linkedin.com/in/<public_identifier>`), when they are on LinkedIn. |
| `patents[].inventors[].headline` | `string` | Their profile's headline, when they are on LinkedIn. |
| `awards` | `list<struct>` | Honors and awards on the profile. |
| `awards[].title` | `string` | The award's title. |
| `awards[].issuer` | `string` | Who gave it. |
| `awards[].issued_at` | `string` | When it was received, `YYYY-MM` or `YYYY`. |
| `awards[].description` | `string` | Its description. |
| `primary_locale` | `string` | LinkedIn primary locale as `language_COUNTRY`, e.g. `en_US`. |
| `is_premium` | `bool` | `true` when the member has LinkedIn Premium. |
| `is_open_to_work` | `bool` | `true` when the member shows they are open to work. |
| `connections_count` | `int64` | Included when `with_followers_and_connections` is true (or listed in `fields`). |
| `followers_count` | `int64` | Included when `with_followers_and_connections` is true (or listed in `fields`). |
| `scraped_at` | `string` | When Up2Data scraped this profile from LinkedIn (ISO 8601). |
| `profile_picture_url` | `string` | LinkedIn headshot CDN URL. |

### `coop_harvestapi`

| Column | Type | Description |
| - | - | - |
| `about` | `string` | The profile's About section. |
| `causes` | `list<string>` | The causes the member cares about, e.g. `Education`. |
| `certifications` | `list<struct>` | Licenses and certifications. |
| `certifications[].issuedAt` | `string` | When, as LinkedIn shows it, e.g. `Issued Jul 1998 · Expired Jul 2018`. |
| `certifications[].issuedBy` | `string` | Who issued it. |
| `certifications[].issuedByLink` | `string` | The issuer's LinkedIn page. |
| `certifications[].issuedByLogo` | `struct` | The issuer's logo: `url` (the largest image) and `sizes`, every size LinkedIn serves. |
| `certifications[].issuedByLogo.sizes` | `list<struct>` | Every size LinkedIn serves. |
| `certifications[].issuedByLogo.sizes[].height` | `int64` | Height, in pixels. |
| `certifications[].issuedByLogo.sizes[].url` | `string` | The image's URL. |
| `certifications[].issuedByLogo.sizes[].width` | `int64` | Width, in pixels. |
| `certifications[].issuedByLogo.url` | `string` | The image's URL. |
| `certifications[].link` | `string` | The certificate's own URL. |
| `certifications[].title` | `string` | The certification. |
| `composeOptionType` | `string` | How LinkedIn lets someone not connected write to the member, e.g. `PREMIUM_INMAIL`. |
| `connectionsCount` | `int64` | The member's connections, as LinkedIn counts them (it shows `500+` past 500). |
| `courses` | `list<struct>` | Courses. |
| `courses[].associatedWith` | `string` | The job or school it came with. |
| `courses[].associatedWithLink` | `string` | That job's or school's LinkedIn page. |
| `courses[].number` | `string` | The course's number. |
| `courses[].title` | `string` | The course. |
| `coverPicture_sizes` | `list<struct>` | Every size LinkedIn serves. |
| `coverPicture_sizes[].height` | `int64` | Height, in pixels. |
| `coverPicture_sizes[].url` | `string` | The image's URL. |
| `coverPicture_sizes[].width` | `int64` | Width, in pixels. |
| `coverPicture_url` | `string` | The image's URL. |
| `creator` | `bool` | `true` when the member has creator mode on. |
| `currentPosition` | `list<struct>` | The member's current jobs, the same shape as `experience`. |
| `currentPosition[].companyId` | `string` | LinkedIn's numeric id of the company. |
| `currentPosition[].companyLinkedinUrl` | `string` | The company's LinkedIn page. |
| `currentPosition[].companyLogo` | `struct` | The company's logo: `url` (the largest image) and `sizes`, every size LinkedIn serves. |
| `currentPosition[].companyLogo.sizes` | `list<struct>` | Every size LinkedIn serves. |
| `currentPosition[].companyLogo.sizes[].height` | `int64` | Height, in pixels. |
| `currentPosition[].companyLogo.sizes[].url` | `string` | The image's URL. |
| `currentPosition[].companyLogo.sizes[].width` | `int64` | Width, in pixels. |
| `currentPosition[].companyLogo.url` | `string` | The image's URL. |
| `currentPosition[].companyName` | `string` | The company's name. |
| `currentPosition[].companyUniversalName` | `string` | The company's slug: `linkedin.com/company/<companyUniversalName>`. |
| `currentPosition[].description` | `string` | Its description, as written on the profile. |
| `currentPosition[].duration` | `string` | How long, as LinkedIn shows it, e.g. `16 yrs 4 mos`. |
| `currentPosition[].employmentType` | `string` | Employment type, e.g. `Full-time` or `Self-employed`. |
| `currentPosition[].endDate` | `struct` | When it ended. `text` is `Present` for a current one: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them. |
| `currentPosition[].endDate.text` | `string` | The date as LinkedIn shows it. |
| `currentPosition[].experienceGroupId` | `string` | Groups several jobs at the same company: equal on each. |
| `currentPosition[].location` | `string` | Where the job is. |
| `currentPosition[].position` | `string` | The job title. |
| `currentPosition[].skills` | `list<string>` | The skills listed with it. |
| `currentPosition[].startDate` | `struct` | When it started: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them. |
| `currentPosition[].startDate.month` | `string` | The month, e.g. `Jun`. |
| `currentPosition[].startDate.text` | `string` | The date as LinkedIn shows it. |
| `currentPosition[].startDate.year` | `int64` | The year. |
| `currentPosition[].workplaceType` | `string` | Where the role is worked, e.g. `On-site`, `Hybrid` or `Remote`. |
| `education` | `list<struct>` | Every school on the profile. |
| `education[].degree` | `string` | The degree. |
| `education[].description` | `string` | Its description, as written on the profile. |
| `education[].endDate` | `struct` | When it ended. `text` is `Present` for a current one: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them. |
| `education[].endDate.month` | `string` | The month, e.g. `Jun`. |
| `education[].endDate.text` | `string` | The date as LinkedIn shows it. |
| `education[].endDate.year` | `int64` | The year. |
| `education[].fieldOfStudy` | `string` | The field of study. |
| `education[].insights` | `string` | Activities and societies, as written on the profile. |
| `education[].period` | `string` | When, as LinkedIn shows it, e.g. `1981 - 1985`. |
| `education[].schoolId` | `string` | LinkedIn's numeric id of the school. |
| `education[].schoolLinkedinUrl` | `string` | The school's LinkedIn page. |
| `education[].schoolLogo` | `struct` | The school's logo: `url` (the largest image) and `sizes`, every size LinkedIn serves. |
| `education[].schoolLogo.sizes` | `list<struct>` | Every size LinkedIn serves. |
| `education[].schoolLogo.sizes[].height` | `int64` | Height, in pixels. |
| `education[].schoolLogo.sizes[].url` | `string` | The image's URL. |
| `education[].schoolLogo.sizes[].width` | `int64` | Width, in pixels. |
| `education[].schoolLogo.url` | `string` | The image's URL. |
| `education[].schoolName` | `string` | The school. |
| `education[].skills` | `list<string>` | The skills listed with it. |
| `education[].startDate` | `struct` | When it started: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them. |
| `education[].startDate.month` | `string` | The month, e.g. `Jun`. |
| `education[].startDate.text` | `string` | The date as LinkedIn shows it. |
| `education[].startDate.year` | `int64` | The year. |
| `emails` | `list<string>` | Always empty: Datacircle sends HarvestAPI the profile lookup only, without its email search. |
| `experience` | `list<struct>` | Every job on the profile, the newest first. |
| `experience[].companyId` | `string` | LinkedIn's numeric id of the company. |
| `experience[].companyLinkedinUrl` | `string` | The company's LinkedIn page. |
| `experience[].companyLogo` | `struct` | The company's logo: `url` (the largest image) and `sizes`, every size LinkedIn serves. |
| `experience[].companyLogo.sizes` | `list<struct>` | Every size LinkedIn serves. |
| `experience[].companyLogo.sizes[].height` | `int64` | Height, in pixels. |
| `experience[].companyLogo.sizes[].url` | `string` | The image's URL. |
| `experience[].companyLogo.sizes[].width` | `int64` | Width, in pixels. |
| `experience[].companyLogo.url` | `string` | The image's URL. |
| `experience[].companyName` | `string` | The company's name. |
| `experience[].companyUniversalName` | `string` | The company's slug: `linkedin.com/company/<companyUniversalName>`. |
| `experience[].description` | `string` | Its description, as written on the profile. |
| `experience[].duration` | `string` | How long, as LinkedIn shows it, e.g. `16 yrs 4 mos`. |
| `experience[].employmentType` | `string` | Employment type, e.g. `Full-time` or `Self-employed`. |
| `experience[].endDate` | `struct` | When it ended. `text` is `Present` for a current one: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them. |
| `experience[].endDate.month` | `string` | The month, e.g. `Jun`. |
| `experience[].endDate.text` | `string` | The date as LinkedIn shows it. |
| `experience[].endDate.year` | `int64` | The year. |
| `experience[].experienceGroupId` | `string` | Groups several jobs at the same company: equal on each. |
| `experience[].location` | `string` | Where the job is. |
| `experience[].position` | `string` | The job title. |
| `experience[].skills` | `list<string>` | The skills listed with it. |
| `experience[].startDate` | `struct` | When it started: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them. |
| `experience[].startDate.month` | `string` | The month, e.g. `Jun`. |
| `experience[].startDate.text` | `string` | The date as LinkedIn shows it. |
| `experience[].startDate.year` | `int64` | The year. |
| `experience[].workplaceType` | `string` | Where the role is worked, e.g. `On-site`, `Hybrid` or `Remote`. |
| `featured_images` | `list<string>` | Empty in every answer we hold. |
| `featured_link` | `string` | Always `null` in every answer we hold. |
| `featured_slides` | `list<struct>` | Each featured item. |
| `featured_slides[].description` | `string` | Always `null` in every answer we hold. |
| `featured_slides[].image` | `struct` | Its image. |
| `featured_slides[].image.url` | `string` | The image's URL. |
| `featured_slides[].subtitle` | `string` | Its subtitle. |
| `featured_slides[].title` | `string` | The item's title: a string, or LinkedIn's text object (`text`, `attributesV2`, `textDirection`, `accessibilityText`). |
| `featured_slides[].url` | `string` | The item's URL (a post, an article, a link). |
| `featured_subtitle` | `string` | Always `null` in every answer we hold. |
| `featured_title` | `string` | Always `null` in every answer we hold. |
| `firstName` | `string` | The member's first name. |
| `followerCount` | `int64` | How many people follow the member. |
| `headline` | `string` | The line under the member's name on the profile. |
| `hiring` | `bool` | `true` when the profile shows #Hiring. |
| `honorsAndAwards` | `list<struct>` | Honors and awards. |
| `honorsAndAwards[].associatedWith` | `string` | The job or school it came with. |
| `honorsAndAwards[].associatedWithLink` | `string` | That job's or school's LinkedIn page. |
| `honorsAndAwards[].description` | `string` | Its description, as written on the profile. |
| `honorsAndAwards[].issuedAt` | `string` | When, as LinkedIn shows it. |
| `honorsAndAwards[].issuedBy` | `string` | Who gave it. |
| `honorsAndAwards[].title` | `string` | The award. |
| `id` | `string` | The profile's LinkedIn member id (`ACoAA…`, case-sensitive). |
| `influencer` | `bool` | `true` when LinkedIn marks the member as an influencer (Top Voice). |
| `interests` | `list<struct>` | What the member follows, by kind. |
| `interests[].elements` | `list<struct>` | What the member follows of that kind. |
| `interests[].elements[].caption` | `string` | Its audience as LinkedIn shows it, e.g. `224,329 followers`. |
| `interests[].elements[].image` | `struct` | Its image. |
| `interests[].elements[].image.url` | `string` | The image's URL. |
| `interests[].elements[].link` | `string` | Its LinkedIn URL. |
| `interests[].elements[].subtitle` | `string` | Its headline or tagline. |
| `interests[].elements[].title` | `string` | Its name. |
| `interests[].interestName` | `string` | The kind, e.g. `Top Voices`, `Companies` or `Groups`. |
| `languages` | `list<struct>` | The languages the member speaks. |
| `languages[].name` | `string` | The language. |
| `languages[].proficiency` | `string` | How well, as LinkedIn words it, e.g. `Native or bilingual proficiency`. |
| `lastName` | `string` | The member's last name. |
| `linkedinUrl` | `string` | The profile's LinkedIn URL. |
| `location_countryCode` | `string` | The country's ISO 3166-1 alpha-2 code, e.g. `US`. |
| `location_linkedinText` | `string` | The location exactly as LinkedIn shows it. |
| `location_parsed_city` | `string` | City. |
| `location_parsed_country` | `string` | Country name, e.g. `United States`. |
| `location_parsed_countryCode` | `string` | The country's ISO 3166-1 alpha-2 code, e.g. `US`. |
| `location_parsed_countryFull` | `string` | The country's full name, e.g. `United States of America`. |
| `location_parsed_regionCode` | `string` | Always `null` in every answer we hold. |
| `location_parsed_state` | `string` | State or region. |
| `location_parsed_text` | `string` | The parsed location as one line, e.g. `Miami, FL, United States`. |
| `memorialized` | `bool` | `true` when LinkedIn has memorialized the profile (the member died). |
| `moreProfiles` | `list<struct>` | The profiles LinkedIn suggests next to this one ("More profiles for you"). |
| `moreProfiles[].firstName` | `string` | The member's first name. |
| `moreProfiles[].id` | `string` | That member's LinkedIn member id (`ACoAA…`). |
| `moreProfiles[].lastName` | `string` | The member's last name. |
| `moreProfiles[].linkedinUrl` | `string` | The member's LinkedIn URL. |
| `moreProfiles[].position` | `string` | That member's headline. |
| `moreProfiles[].publicIdentifier` | `string` | The member's slug. |
| `multiLocaleHeadline` | `list<struct>` | The headline in each language the profile is written in. |
| `multiLocaleHeadline[].headline` | `string` | The headline in that language. |
| `multiLocaleHeadline[].locale` | `string` | The language, e.g. `en_US`. |
| `objectUrn` | `string` | LinkedIn's numeric id of the member. |
| `openToWork` | `bool` | `true` when the profile shows #OpenToWork. |
| `organizations` | `list<struct>` | Organizations the member belongs to. |
| `organizations[].companyLinkedinUrl` | `string` | The organization's LinkedIn page. |
| `organizations[].description` | `string` | Its description, as written on the profile. |
| `organizations[].endDate` | `struct` | When it ended. `text` is `Present` for a current one: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them. |
| `organizations[].endDate.month` | `string` | The month, e.g. `Jun`. |
| `organizations[].endDate.text` | `string` | The date as LinkedIn shows it. |
| `organizations[].endDate.year` | `int64` | The year. |
| `organizations[].logo` | `string` | The organization's logo URL. |
| `organizations[].name` | `string` | The organization. |
| `organizations[].positionHeld` | `string` | The member's position there. |
| `organizations[].startDate` | `struct` | When it started: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them. |
| `organizations[].startDate.month` | `string` | The month, e.g. `Jun`. |
| `organizations[].startDate.text` | `string` | The date as LinkedIn shows it. |
| `organizations[].startDate.year` | `int64` | The year. |
| `patents` | `list<struct>` | Patents. |
| `patents[].description` | `string` | Its description, as written on the profile. |
| `patents[].issuedAt` | `string` | When it was issued, as LinkedIn shows it. |
| `patents[].number` | `string` | The patent's number. |
| `patents[].title` | `string` | The patent. |
| `patents[].url` | `string` | Always `null` in every answer we hold. |
| `photo` | `string` | The profile photo's URL (the largest size). |
| `premium` | `bool` | `true` when the member has LinkedIn Premium. |
| `primaryLocale_country` | `string` | The country code, e.g. `US`. |
| `primaryLocale_language` | `string` | The language code, e.g. `en`. |
| `profileActions` | `list<struct>` | The buttons the member added to the profile, e.g. `Visit my website`. |
| `profileActions[].label` | `string` | The button's label. |
| `profileActions[].url` | `string` | Where it goes. |
| `profileLocales` | `list<struct>` | Every language the profile is written in. |
| `profileLocales[].country` | `string` | The country code, e.g. `US`. |
| `profileLocales[].language` | `string` | The language code, e.g. `en`. |
| `profilePicture_sizes` | `list<struct>` | Every size LinkedIn serves. |
| `profilePicture_sizes[].height` | `int64` | Height, in pixels. |
| `profilePicture_sizes[].url` | `string` | The image's URL. |
| `profilePicture_sizes[].width` | `int64` | Width, in pixels. |
| `profilePicture_url` | `string` | The image's URL. |
| `profileTopEducation` | `list<struct>` | The school the profile shows under the member's name, the same shape as `education`. |
| `profileTopEducation[].degree` | `string` | The degree. |
| `profileTopEducation[].description` | `string` | Its description, as written on the profile. |
| `profileTopEducation[].endDate` | `struct` | When it ended. `text` is `Present` for a current one: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them. |
| `profileTopEducation[].endDate.month` | `string` | The month, e.g. `Jun`. |
| `profileTopEducation[].endDate.text` | `string` | The date as LinkedIn shows it. |
| `profileTopEducation[].endDate.year` | `int64` | The year. |
| `profileTopEducation[].fieldOfStudy` | `string` | The field of study. |
| `profileTopEducation[].insights` | `string` | Activities and societies, as written on the profile. |
| `profileTopEducation[].period` | `string` | When, as LinkedIn shows it, e.g. `1981 - 1985`. |
| `profileTopEducation[].schoolId` | `string` | LinkedIn's numeric id of the school. |
| `profileTopEducation[].schoolLinkedinUrl` | `string` | The school's LinkedIn page. |
| `profileTopEducation[].schoolLogo` | `struct` | The school's logo: `url` (the largest image) and `sizes`, every size LinkedIn serves. |
| `profileTopEducation[].schoolLogo.sizes` | `list<struct>` | Every size LinkedIn serves. |
| `profileTopEducation[].schoolLogo.sizes[].height` | `int64` | Height, in pixels. |
| `profileTopEducation[].schoolLogo.sizes[].url` | `string` | The image's URL. |
| `profileTopEducation[].schoolLogo.sizes[].width` | `int64` | Width, in pixels. |
| `profileTopEducation[].schoolLogo.url` | `string` | The image's URL. |
| `profileTopEducation[].schoolName` | `string` | The school. |
| `profileTopEducation[].skills` | `list<string>` | The skills listed with it. |
| `profileTopEducation[].startDate` | `struct` | When it started: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them. |
| `profileTopEducation[].startDate.month` | `string` | The month, e.g. `Jun`. |
| `profileTopEducation[].startDate.text` | `string` | The date as LinkedIn shows it. |
| `profileTopEducation[].startDate.year` | `int64` | The year. |
| `projects` | `list<struct>` | Projects. |
| `projects[].description` | `string` | Its description, as written on the profile. |
| `projects[].duration` | `string` | When, as LinkedIn shows it, e.g. `Dec 2016 - Present`. |
| `projects[].endDate` | `struct` | When it ended. `text` is `Present` for a current one: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them. |
| `projects[].endDate.month` | `string` | The month, e.g. `Jun`. |
| `projects[].endDate.text` | `string` | The date as LinkedIn shows it. |
| `projects[].endDate.year` | `int64` | The year. |
| `projects[].startDate` | `struct` | When it started: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them. |
| `projects[].startDate.month` | `string` | The month, e.g. `Jun`. |
| `projects[].startDate.text` | `string` | The date as LinkedIn shows it. |
| `projects[].startDate.year` | `int64` | The year. |
| `projects[].title` | `string` | The project. |
| `publicIdentifier` | `string` | The profile's slug: `linkedin.com/in/<publicIdentifier>`. |
| `publications` | `list<struct>` | Publications. |
| `publications[].description` | `string` | Its description, as written on the profile. |
| `publications[].link` | `string` | The publication's URL. |
| `publications[].publishedAt` | `string` | Where and when, as LinkedIn shows it, e.g. `Springer · Dec 1, 2014`. |
| `publications[].title` | `string` | The publication. |
| `receivedRecommendations` | `list<struct>` | Recommendations the member received. |
| `receivedRecommendations[].description` | `string` | Its description, as written on the profile. |
| `receivedRecommendations[].givenAt` | `string` | When, as LinkedIn shows it, e.g. `June 13, 2026`. |
| `receivedRecommendations[].givenBy` | `string` | Who wrote it. |
| `receivedRecommendations[].givenByHeadline` | `string` | Their headline. |
| `receivedRecommendations[].givenByLink` | `string` | Their LinkedIn URL. |
| `receivedRecommendations[].givenByPicture` | `struct` | Their photo: `url` (the largest image) and `sizes`, every size LinkedIn serves. |
| `receivedRecommendations[].givenByPicture.sizes` | `list<struct>` | Every size LinkedIn serves. |
| `receivedRecommendations[].givenByPicture.sizes[].height` | `int64` | Height, in pixels. |
| `receivedRecommendations[].givenByPicture.sizes[].url` | `string` | The image's URL. |
| `receivedRecommendations[].givenByPicture.sizes[].width` | `int64` | Width, in pixels. |
| `receivedRecommendations[].givenByPicture.url` | `string` | The image's URL. |
| `registeredAt` | `string` | When the member joined LinkedIn (ISO 8601). |
| `sectionTotals_causes` | `int64` | Causes on the profile, counted by LinkedIn. |
| `sectionTotals_certifications` | `int64` | Certifications on the profile, counted by LinkedIn. |
| `sectionTotals_courses` | `int64` | Courses on the profile, counted by LinkedIn. |
| `sectionTotals_education` | `int64` | Education on the profile, counted by LinkedIn. |
| `sectionTotals_experience` | `int64` | Jobs on the profile, counted by LinkedIn. |
| `sectionTotals_honorsAndAwards` | `int64` | Honors and awards on the profile, counted by LinkedIn. |
| `sectionTotals_languages` | `int64` | Languages on the profile, counted by LinkedIn. |
| `sectionTotals_organizations` | `int64` | Organizations on the profile, counted by LinkedIn. |
| `sectionTotals_patents` | `int64` | Patents on the profile, counted by LinkedIn. |
| `sectionTotals_projects` | `int64` | Projects on the profile, counted by LinkedIn. |
| `sectionTotals_publications` | `int64` | Publications on the profile, counted by LinkedIn. |
| `sectionTotals_receivedRecommendations` | `int64` | Recommendations received on the profile, counted by LinkedIn. |
| `sectionTotals_skills` | `int64` | The skills listed with it on the profile, counted by LinkedIn. |
| `sectionTotals_volunteering` | `int64` | Volunteering on the profile, counted by LinkedIn. |
| `services_description` | `string` | The member's description of them. |
| `services_media` | `list<struct>` | Media on the Services page. |
| `services_media[].image` | `struct` | Its image. |
| `services_media[].image.sizes` | `list<struct>` | Every size LinkedIn serves. |
| `services_media[].image.sizes[].url` | `string` | The image's URL. |
| `services_media[].image.sizes[].width` | `int64` | Width, in pixels. |
| `services_media[].image.sizes[].height` | `int64` | Height, in pixels. |
| `services_media[].image.url` | `string` | The image's URL. |
| `services_media[].subtitle` | `string` | Its subtitle. |
| `services_media[].title` | `string` | Its title. |
| `services_media[].url` | `string` | The image's URL. |
| `services_rating` | `string` | The services' rating. |
| `services_requestUrl` | `string` | The LinkedIn URL to request a proposal. |
| `services_servicesList` | `list<string>` | The services, e.g. `Business Consulting`. |
| `skills` | `list<struct>` | Every skill on the profile. |
| `skills[].endorsements` | `string` | The endorsements as LinkedIn shows them, e.g. `51 endorsements`. |
| `skills[].name` | `string` | The skill. |
| `skills[].positions` | `list<string>` | Where the skill shows on the profile and who endorsed it, as LinkedIn words it, e.g. `Endorsed by 2 colleagues at Acme`. |
| `topSkills` | `list<string>` | The skills the member put at the top of the profile. |
| `verified` | `bool` | `true` when LinkedIn shows the member as verified. |
| `volunteering` | `list<struct>` | Volunteering. |
| `volunteering[].cause` | `string` | The cause, e.g. `Health`. |
| `volunteering[].description` | `string` | Its description, as written on the profile. |
| `volunteering[].duration` | `string` | How long, as LinkedIn shows it. |
| `volunteering[].endDate` | `struct` | When it ended. `text` is `Present` for a current one: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them. |
| `volunteering[].endDate.month` | `string` | The month, e.g. `Jun`. |
| `volunteering[].endDate.text` | `string` | The date as LinkedIn shows it. |
| `volunteering[].endDate.year` | `int64` | The year. |
| `volunteering[].organizationLinkedinUrl` | `string` | The organization's LinkedIn page. |
| `volunteering[].organizationName` | `string` | The organization. |
| `volunteering[].role` | `string` | The member's role. |
| `volunteering[].startDate` | `struct` | When it started: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them. |
| `volunteering[].startDate.month` | `string` | The month, e.g. `Jun`. |
| `volunteering[].startDate.text` | `string` | The date as LinkedIn shows it. |
| `volunteering[].startDate.year` | `int64` | The year. |
| `websites` | `list<string>` | The websites listed on the profile. |
| `industry_id` | `int64` | LinkedIn's industry id. |
| `industry_name` | `string` | The industry's name, e.g. `Philanthropic Fundraising Services`. |

### `coop_fetchin`

The member's birthday (Fetchin's `birthDate`) is left out of the file, like an email or a phone number.

| Column | Type | Description |
| - | - | - |
| `id` | `string` | Profile URN (unique identifier) |
| `firstName` | `string` | Profile first name. |
| `lastName` | `string` | Profile last name. Some members restrict their full surname to their own contacts. For those profiles this is the publicly displayed initial (e.g. "D.") and `lastNameInitialOnly` is true. The full surname is not available through any request in that case. |
| `lastNameInitialOnly` | `bool` | Present and true only when `lastName` is an initial because the member restricts it. Absent otherwise, never false. |
| `title` | `string` | Professional headline. A member can publish their profile in several languages and the source does not translate between them. This is the English version when the member published one, otherwise the version in their `primaryLocale`. Deterministic: two calls return the same language. Every version they did publish is in `titleLocalized` / `descriptionLocalized`. |
| `titleLocalized` | `map<string, string>` | The title in each language the member published, keyed by locale ("fr\_FR", "en\_US"). |
| `description` | `string` | About/summary section. A member can publish their profile in several languages and the source does not translate between them. This is the English version when the member published one, otherwise the version in their `primaryLocale`. Deterministic: two calls return the same language. Every version they did publish is in `titleLocalized` / `descriptionLocalized`. Line breaks are returned exactly as the source stores them: for some profiles the source holds this text with its line breaks already removed, and they are not reconstructed by guesswork. |
| `descriptionLocalized` | `map<string, string>` | The description in each language the member published, keyed by locale. |
| `location` | `string` | Where the member is, as the profile shows it. |
| `profilePictureUrl` | `string` | Profile picture URL, largest size available. Always a string: when the member has no photo of their own it holds a generic placeholder image and `profilePictureUrls` is absent. |
| `profilePictureUrls` | `list<struct>` | Every size of the profile picture, smallest first, one entry per distinct size (how many varies: a small original comes in fewer sizes). The last entry is the image `profilePictureUrl` points to (the framed picture when the member displays a photo frame). Absent, not empty and not null, when the member has no photo of their own, which is how to tell a real photo from the placeholder in `profilePictureUrl`. Not returned for organization records. |
| `profilePictureUrls[].url` | `string` | Image URL |
| `profilePictureUrls[].width` | `int64` | Width in pixels, as declared by the source. Omitted when it declares none. |
| `profilePictureUrls[].height` | `int64` | Height in pixels, as declared by the source. Omitted when it declares none. |
| `experiences` | `list<struct>` | Complete work history, most recent first. Every position comes back in one call, with no pagination, even for members with dozens of past employers or many roles at one employer. When a section came back incomplete, the top-level `partial` object names it. |
| `experiences[].name` | `string` | Company name |
| `experiences[].jobTitle` | `string` | Job title/role |
| `experiences[].description` | `string` | Role description |
| `experiences[].dateRange` | `string` | Date range |
| `experiences[].current` | `bool` | Whether this is the role the member marks as primary, the one at the top of their profile. At most one experience in the response is true, and it is false once that role has ended. To find every current role, use `ongoing`. |
| `experiences[].positionUrn` | `string` | URN of this position entity. Join key for `currentPosition.positionUrn` |
| `experiences[].positionGroupUrn` | `string` | The stint this role belongs to. A stint is one unbroken period at one employer: the member held its roles back to back, and they sit next to each other in `experiences`. A member who leaves an employer and comes back has two stints, so two different values with the same `company.companyId`: group by this, not by `companyId`. Opaque, and the same only within one response: Fetchin may give the same stint another value on a later fetch. Fetchin omits it in the rare case it cannot group the roles. |
| `experiences[].positionGroupId` | `string` | The key inside `positionGroupUrn`, in the spirit of `companyId` / `geoId`. It is a 40-character hexadecimal string, not a number. Only meaningful together with the profile it came from, so never use it on its own. |
| `experiences[].locationName` | `string` | Job location in the member's profile language (e.g. "Barcelona, Cataluna, Espana"). Free text: use `geoId`/`geoUrn` to normalise or group. The top-level `primaryLocale` gives the profile language. |
| `experiences[].employmentType` | `string` | Employment type (e.g., Freelance, Part-time) |
| `experiences[].timePeriod` | `struct` | When it started and ended. |
| `experiences[].timePeriod.startDate` | `struct` | When it started. |
| `experiences[].timePeriod.startDate.month` | `int64` | The month, 1 to 12. |
| `experiences[].timePeriod.startDate.year` | `int64` | The year. |
| `experiences[].timePeriod.endDate` | `struct` | When it ended. `null` while it lasts. |
| `experiences[].timePeriod.endDate.month` | `int64` | The month, 1 to 12. |
| `experiences[].timePeriod.endDate.year` | `int64` | The year. |
| `experiences[].totalDuration` | `string` | Duration string (e.g., 3 yrs 1 mo) |
| `experiences[].company` | `struct` | The employer. Three cases: the employer has a company page (`name` plus `url`/`logo`/`companyId`/`urn`), the member typed an employer with no page (`name` only), or the member saved no employer (`name` is "" with no company, and `employmentType` may give the reason). An empty `name` means "no employer entered", never "employer has no page". |
| `experiences[].company.name` | `string` | The company's name. |
| `experiences[].company.url` | `string` | Company profile URL |
| `experiences[].company.logo` | `string` | Company logo URL |
| `experiences[].company.companyId` | `string` | Numeric company id (e.g. "8736"), parsed from the company URN |
| `experiences[].company.urn` | `string` | Full company URN |
| `experiences[].ongoing` | `bool` | Whether the role is still running: a start date and no end date, the same entries whose `dateRange` ends in "Present". It doesn't depend on `current`: any number of experiences can be ongoing, and someone holding four roles at once has four. An entry with no dates is false. |
| `experiences[].geoLocationName` | `string` | The standardized location caption behind `locationName`, in the same language. |
| `experiences[].geoUrn` | `string` | Stable identifier for the position location, e.g. "urn:li:fsd\_geo:107025191". Language-independent, so the right key to join or group on. |
| `experiences[].geoId` | `string` | Numeric tail of `geoUrn`, e.g. "107025191". |
| `experiences[].locationNameLocalized` | `map<string, string>` | Every language the source holds for this location caption, keyed by locale, e.g. \{"es\_ES": "Barcelona, Cataluna, Espana"}. |
| `educations` | `list<struct>` | The schools, newest first. |
| `educations[].name` | `string` | School/University name |
| `educations[].description` | `string` | Degree and field combined |
| `educations[].dateRange` | `string` | Date range |
| `educations[].current` | `bool` | Whether this is the person's current (ongoing) education. At most one education is true. |
| `educations[].educationUrn` | `string` | URN of this education entity. Join key for `currentSchool.educationUrn` |
| `educations[].degreeName` | `string` | Degree name (e.g., MBA, MSEE) |
| `educations[].fieldOfStudy` | `string` | Field of study |
| `educations[].grade` | `string` | Grade or honors, as free text (e.g. "First Class Honours") |
| `educations[].details` | `string` | The member's own free-text description of this education entry. Distinct from `description`, which stays the synthesized degree + field string. |
| `educations[].schoolLogo` | `string` | School logo URL |
| `educations[].schoolUrl` | `string` | School profile URL |
| `educations[].timePeriod` | `struct` | When it started and ended. |
| `educations[].timePeriod.startDate` | `struct` | When it started. |
| `educations[].timePeriod.startDate.year` | `int64` | The year. |
| `educations[].timePeriod.endDate` | `struct` | When it ended. `null` while it lasts. |
| `educations[].timePeriod.endDate.year` | `int64` | The year. |
| `educations[].ongoing` | `bool` | Whether the studies are still running: a start year and no end year. Note an ongoing education `dateRange` reads "2022", not "2022 - Present". |
| `educations[].activities` | `string` | The "activities and societies" line the member entered for this entry, e.g. "Nature Club, LTS, Elocution". Omitted when blank. |
| `volunteerCauses` | `list<string>` | Volunteer causes listed on the profile |
| `skills` | `list<struct>` | Professional skills listed on the profile. Complete list, returned in the same single call as the rest of the profile. |
| `skills[].name` | `string` | Skill name |
| `languages` | `list<struct>` | The languages the member lists. |
| `languages[].name` | `string` | Language name |
| `languages[].proficiency` | `string` | Proficiency level |
| `certifications` | `list<struct>` | Licenses and certifications. |
| `certifications[].name` | `string` | Certification name |
| `certifications[].organizationName` | `string` | Issuing organization's name |
| `certifications[].organizationUrl` | `string` | Issuing organization's professional page URL, when available |
| `certifications[].issuedDate` | `string` | Issue date of the certification (e.g. Jun 2018). If it also expires, this string holds both dates, as in `Jun 2018 - Jun 2026`, a format the source keeps for older clients. Read `expirationDate` for the expiry alone. |
| `certifications[].authority` | `string` | Legacy alias of `organizationName`, kept for backward compatibility |
| `certifications[].dateRange` | `string` | Legacy alias of `issuedDate`, kept for backward compatibility |
| `certifications[].expirationDate` | `string` | When the credential expires (e.g. Jun 2026). Omitted when it does not expire. |
| `certifications[].credentialId` | `string` | The credential ID the member entered, as free text. Omitted when blank. |
| `certifications[].credentialUrl` | `string` | The "show credential" link the member entered. Omitted when blank. |
| `certifications[].organizationLogo` | `string` | Issuing organization logo image URL, when a professional page is linked. |
| `coverImageUrl` | `string` | Profile banner/background image URL |
| `coverImageUrls` | `list<struct>` | Every size of the banner image, smallest first. Banners are not square, so use both `width` and `height`. Absent when the member has no banner, in which case `coverImageUrl` is absent too. |
| `coverImageUrls[].url` | `string` | Image URL |
| `coverImageUrls[].width` | `int64` | Width in pixels, as declared by the source. Omitted when it declares none. |
| `coverImageUrls[].height` | `int64` | Height in pixels, as declared by the source. Omitted when it declares none. |
| `publicIdentifier` | `string` | Public identifier (slug) |
| `profileId` | `string` | Member identifier |
| `countryCode` | `string` | ISO country code |
| `geoLocationName` | `string` | Full geographic location string |
| `geoCountryName` | `string` | Country name |
| `geoUrn` | `string` | Geo URN |
| `connectionType` | `string` | Always "OUT\_OF\_NETWORK" in the answers we have seen. It says nothing about you: no LinkedIn account of yours is in the call. |
| `creatorInfo_hashTags` | `list<string>` | Creator hashtags |
| `creatorInfo_website` | `string` | Creator website URL |
| `jobTitle` | `string` | Title of the member's primary role (the entry flagged `current` in `experiences`). The member sets it, and an end date does not clear it: if the member has not updated their profile since that role ended, `jobTitle` still shows it while the matching experience shows `ongoing: false`. |
| `companyName` | `string` | Employer for the role in `jobTitle`. `currentPosition` comes from the top of the member's profile instead, so it can be null while `jobTitle`/`companyName` have values. |
| `companyPublicId` | `string` | Current company public identifier slug |
| `companyLinkedinUrl` | `string` | Current company profile URL |
| `currentPosition_positionUrn` | `string` | URN of the designated position. Matches `experiences[].positionUrn` |
| `currentPosition_title` | `string` | Role title of the designated position |
| `currentPosition_name` | `string` | Company name |
| `currentPosition_companyId` | `string` | LinkedIn's numeric id of the company. |
| `currentPosition_companyUrn` | `string` | Full company URN |
| `currentPosition_publicIdentifier` | `string` | Company page slug |
| `currentPosition_url` | `string` | Company page URL |
| `currentSchool_educationUrn` | `string` | URN of the designated education entry. Matches `educations[].educationUrn` |
| `currentSchool_name` | `string` | School name |
| `currentSchool_schoolId` | `string` | Legacy school id from `urn:li:fsd_school:<id>`. Distinct from `companyId` |
| `currentSchool_schoolUrn` | `string` | Full school URN |
| `currentSchool_companyId` | `string` | LinkedIn's numeric id of the school's page. |
| `currentSchool_publicIdentifier` | `string` | School page slug |
| `currentSchool_url` | `string` | School page URL |
| `followerCount` | `double` | Number of followers |
| `connectionsCount` | `double` | Number of connections |
| `creator` | `bool` | Whether Creator mode is enabled |
| `influencer` | `bool` | Whether the profile carries the platform's long-standing editorial recognition. Distinct from `topVoice`: a profile can have one without the other. |
| `topVoice` | `bool` | Present and true when the profile has a recognised-voice badge. Absent (not false) when it doesn't, as on most profiles: treat an absent key as false. The response has no display label for the badge, because the source translates the label for each viewer. |
| `premium` | `bool` | Whether the profile has Premium |
| `isVerified` | `bool` | Whether the profile has a verification badge |
| `memberId` | `string` | Numeric internal member id (e.g. "251749025"). Distinct from `id`/`profileId`, which carry the `urn:li:fsd_profile:…` form. |
| `openToWork` | `bool` | Whether the profile shows the public #OPEN\_TO\_WORK photo frame. Reflects the publicly visible badge only. Recruiter-only 'open to work' is not exposed. |
| `hiring` | `bool` | Whether the profile shows the public #HIRING photo frame. A profile picture carries one frame at most, so `hiring` and `openToWork` are never both true. |
| `inRemembrance` | `bool` | Whether the account has been officially memorialized ('In Remembrance'). Only a memorialized account returns true: a regular profile whose headline mentions the member has passed away returns false. |
| `openProfile` | `bool` | True when the member has an open profile: anyone can message them without connecting or spending a paid message credit. Unrelated to `openToWork`, and separate from `premium` (some members without premium have an open profile). An absent `openProfile` means unknown: on some calls the key is missing and `partial.sections` lists `openProfile`. If you request the profile again, the key comes back in most cases. A memorialized account (`inRemembrance` true) has `openProfile` false, since nobody can message it. `openProfile` is the only status boolean whose absence means unknown. |
| `joinDate_month` | `int64` | The month, 1 to 12. |
| `joinDate_year` | `int64` | The year. |
| `websites` | `list<struct>` | The websites listed in the member's contact info, only when their privacy settings make them visible to us, in the order the member listed them. Absent (never an empty array) when there are none to show. Included in every call at no extra cost. Not the same as `creatorInfo.website`, the single link a creator pins to their profile. |
| `websites[].url` | `string` | The website's URL. |
| `websites[].category` | `string` | The type the member picked for it, e.g. `PERSONAL`, `COMPANY`, `BLOG`, `PORTFOLIO` or `OTHER` |
| `url` | `string` | Canonical public URL of the professional profile page |
| `pronoun` | `string` | Publicly displayed pronouns (e.g. "she/her"). Omitted when the member doesn't display pronouns. |
| `recommendations` | `list<struct>` | Recommendations received by the member. Best-effort: omitted when this section could not be fetched, empty array when the member has none. |
| `recommendations[].caption` | `string` | The recommender's headline at the time of the fetch (the context line shown under the author's name) |
| `recommendations[].description` | `string` | The recommendation text |
| `recommendations[].authorFullname` | `string` | The recommender's full name |
| `recommendations[].authorUrl` | `string` | The recommender's public profile page URL |
| `recommendations[].createdAt` | `string` | When the recommendation was written, ISO 8601. Omitted when the source carries no timestamp. |
| `recommendations[].lastModifiedAt` | `string` | When it was last edited, ISO 8601. Equal to `createdAt` when it was never edited. |
| `testScores` | `list<struct>` | Test scores listed on the profile |
| `testScores[].name` | `string` | Test name (e.g. "TOEIC") |
| `testScores[].score` | `string` | Score, as free text (e.g. "990") |
| `testScores[].date` | `string` | When the test was taken (e.g. Jun 2018) |
| `industry` | `string` | The member's self-declared industry, e.g. "Information Technology & Services". It comes from the list LinkedIn shows on profiles, which is not the list company pages use, so do not join the two. Omitted when the member lists none. |
| `industryUrn` | `string` | Stable identifier for industry, e.g. "urn:li:fsd\_industry:96". |
| `primaryLocale` | `string` | The language the member wrote their profile in, e.g. "es\_ES". The free text can be in another language: see `title` and `description` for the language you get. For language-independent values, use `geoUrn`, `industryUrn` or `companyId`. |
| `supportedLocales` | `list<string>` | Every language the member published their profile in, e.g. \["fr\_FR","en\_US"]. A member who wrote their profile once gets a single-entry array, so more than one entry is the signal that `titleLocalized` / `descriptionLocalized` have something to choose from. |
| `entityType` | `string` | Always "Person". We take only a LinkedIn profile URL, so a company page never comes back. |
| `publications` | `list<struct>` | Publications listed on the profile, in display order. |
| `publications[].name` | `string` | Publication title. |
| `publications[].publisher` | `string` | Publisher or journal. |
| `publications[].description` | `string` | The member's own description. Omitted when blank. |
| `publications[].url` | `string` | Link to the publication. |
| `publications[].publishedDate` | `string` | Publication date, e.g. Sep 2021. |
| `publications[].publishedOn` | `struct` | The same date structured, when finer than month is available. |
| `publications[].publishedOn.year` | `int64` | The year. |
| `publications[].publishedOn.month` | `int64` | The month, 1 to 12. |
| `publications[].publishedOn.day` | `int64` | The day of the month. |
| `publications[].authors` | `list<struct>` | Credited co-authors. |
| `publications[].authors[].fullName` | `string` | The contributor name. Omitted when a credited member profile could not be resolved, never an empty string. |
| `publications[].authors[].publicIdentifier` | `string` | Public identifier (slug), when the contributor is a member. |
| `publications[].authors[].profileUrn` | `string` | Profile URN, usable directly as `profileUrlOrUrn` on this endpoint. |
| `publications[].authors[].url` | `string` | Public profile URL. |
| `publications[].authors[].headline` | `string` | Headline at the time of the fetch. |
| `publications[].publicationUrn` | `string` | URN of this publication entry. |
| `projects` | `list<struct>` | Projects listed on the profile, in display order. |
| `projects[].title` | `string` | Project title. |
| `projects[].description` | `string` | The member's own description. Omitted when blank. |
| `projects[].url` | `string` | Project link. |
| `projects[].dateRange` | `string` | Formatted range, e.g. "Apr 2018 - Mar 2019". Empty string when the member gave no dates. |
| `projects[].timePeriod` | `struct` | Structured start/end dates. |
| `projects[].timePeriod.startDate` | `struct` | When it started. |
| `projects[].timePeriod.startDate.year` | `int64` | The year. |
| `projects[].timePeriod.startDate.month` | `int64` | The month, 1 to 12. |
| `projects[].timePeriod.endDate` | `struct` | When it ended. `null` while it lasts. |
| `projects[].timePeriod.endDate.year` | `int64` | The year. |
| `projects[].timePeriod.endDate.month` | `int64` | The month, 1 to 12. |
| `projects[].contributors` | `list<struct>` | Credited collaborators. |
| `projects[].contributors[].fullName` | `string` | The contributor name. Omitted when a credited member profile could not be resolved, never an empty string. |
| `projects[].contributors[].publicIdentifier` | `string` | Public identifier (slug), when the contributor is a member. |
| `projects[].contributors[].profileUrn` | `string` | Profile URN, usable directly as `profileUrlOrUrn` on this endpoint. |
| `projects[].contributors[].url` | `string` | Public profile URL. |
| `projects[].contributors[].headline` | `string` | Headline at the time of the fetch. |
| `projects[].positionUrn` | `string` | Set when the project is attached to a role. Joins to `experiences[].positionUrn`. |
| `projects[].educationUrn` | `string` | Set when the project is attached to a school. Joins to `educations[].educationUrn`. |
| `projects[].projectUrn` | `string` | URN of this project entry. |
| `patents` | `list<struct>` | Patents listed on the profile, in display order. |
| `patents[].title` | `string` | Patent title. |
| `patents[].description` | `string` | The member's own description. Omitted when blank. |
| `patents[].url` | `string` | Link to the patent record. |
| `patents[].issuer` | `string` | Patent office, as the member typed it (e.g. "us"). Free text, not a controlled vocabulary. |
| `patents[].patentNumber` | `string` | Patent number as entered. |
| `patents[].applicationNumber` | `string` | Application number as entered. |
| `patents[].pending` | `bool` | Whether the patent is still an application rather than granted. Always present. |
| `patents[].issuedDate` | `string` | When granted, e.g. Jan 2017. Omitted while pending. |
| `patents[].filedDate` | `string` | When filed, e.g. Dec 2024. |
| `patents[].issuedOn` | `struct` | `issuedDate` as a year, a month and a day. |
| `patents[].issuedOn.year` | `int64` | The year. |
| `patents[].issuedOn.month` | `int64` | The month, 1 to 12. |
| `patents[].issuedOn.day` | `int64` | The day of the month. |
| `patents[].filedOn` | `struct` | `filedDate` as a year, a month and a day. |
| `patents[].filedOn.year` | `int64` | The year. |
| `patents[].filedOn.month` | `int64` | The month, 1 to 12. |
| `patents[].filedOn.day` | `int64` | The day of the month. |
| `patents[].inventors` | `list<struct>` | Credited inventors. |
| `patents[].inventors[].fullName` | `string` | The contributor name. Omitted when a credited member profile could not be resolved, never an empty string. |
| `patents[].inventors[].publicIdentifier` | `string` | Public identifier (slug), when the contributor is a member. |
| `patents[].inventors[].profileUrn` | `string` | Profile URN, usable directly as `profileUrlOrUrn` on this endpoint. |
| `patents[].inventors[].url` | `string` | Public profile URL. |
| `patents[].inventors[].headline` | `string` | Headline at the time of the fetch. |
| `patents[].patentUrn` | `string` | URN of this patent entry. |
| `honors` | `list<struct>` | Honors and awards listed on the profile, in display order. |
| `honors[].title` | `string` | Award title. |
| `honors[].issuer` | `string` | Who granted it, as free text. |
| `honors[].description` | `string` | The member's own description. Omitted when blank. |
| `honors[].issuedDate` | `string` | When it was awarded, e.g. Oct 2018. A single date: an award has no end. |
| `honors[].positionUrn` | `string` | Joins to `experiences[].positionUrn` when attached to a role. |
| `honors[].educationUrn` | `string` | Joins to `educations[].educationUrn` when attached to a school. |
| `honors[].honorUrn` | `string` | URN of this award entry. |
| `organizations` | `list<struct>` | Organizations the member belongs to, in display order. |
| `organizations[].name` | `string` | Organization name. |
| `organizations[].positionHeld` | `string` | The role the member held there, e.g. "Membership Chairperson". |
| `organizations[].description` | `string` | The member's own description. Omitted when blank. |
| `organizations[].dateRange` | `string` | Formatted range, e.g. "2015 - Jun 2016". Empty string when no dates were given. |
| `organizations[].timePeriod` | `struct` | Structured start/end dates. |
| `organizations[].timePeriod.startDate` | `struct` | When it started. |
| `organizations[].timePeriod.startDate.year` | `int64` | The year. |
| `organizations[].timePeriod.startDate.month` | `int64` | The month, 1 to 12. |
| `organizations[].timePeriod.endDate` | `struct` | When it ended. `null` while it lasts. |
| `organizations[].timePeriod.endDate.year` | `int64` | The year. |
| `organizations[].timePeriod.endDate.month` | `int64` | The month, 1 to 12. |
| `organizations[].positionUrn` | `string` | Joins to `experiences[].positionUrn` when attached to a role. |
| `organizations[].educationUrn` | `string` | Joins to `educations[].educationUrn` when attached to a school. |
| `organizations[].organizationUrn` | `string` | URN of this entry. |
| `courses` | `list<struct>` | Courses listed on the profile, in display order. |
| `courses[].name` | `string` | Course name. |
| `courses[].number` | `string` | Course code as entered, e.g. "Fin335". Omitted when blank. |
| `courses[].positionUrn` | `string` | Joins to `experiences[].positionUrn` when attached to a role. |
| `courses[].educationUrn` | `string` | Joins to `educations[].educationUrn` when attached to a school. |
| `courses[].courseUrn` | `string` | URN of this entry. |
| `volunteerExperiences` | `list<struct>` | Volunteering roles: what the member did and for whom, in display order. Not the same as `volunteerCauses`, which lists the causes they say they care about. |
| `volunteerExperiences[].role` | `string` | What the member did, e.g. "Pianist", "Instructor". |
| `volunteerExperiences[].name` | `string` | Organization name, following the same convention as `experiences[].name`. |
| `volunteerExperiences[].cause` | `string` | The cause this role served, as a stable identifier, e.g. "EDUCATION". Omitted when not set. |
| `volunteerExperiences[].description` | `string` | The member's own description. Omitted when blank. |
| `volunteerExperiences[].dateRange` | `string` | Formatted range, e.g. "Mar 2014 - Present". Empty string when no dates were given. |
| `volunteerExperiences[].timePeriod` | `struct` | Structured start/end dates. |
| `volunteerExperiences[].timePeriod.startDate` | `struct` | When it started. |
| `volunteerExperiences[].timePeriod.startDate.year` | `int64` | The year. |
| `volunteerExperiences[].timePeriod.startDate.month` | `int64` | The month, 1 to 12. |
| `volunteerExperiences[].timePeriod.endDate` | `struct` | When it ended. `null` while it lasts. |
| `volunteerExperiences[].timePeriod.endDate.year` | `int64` | The year. |
| `volunteerExperiences[].timePeriod.endDate.month` | `int64` | The month, 1 to 12. |
| `volunteerExperiences[].company` | `struct` | The organization page, when it has one. Same shape as `experiences[].company`. |
| `volunteerExperiences[].company.url` | `string` | Organization page URL. |
| `volunteerExperiences[].company.name` | `string` | Organization name. |
| `volunteerExperiences[].company.logo` | `string` | Logo image URL. |
| `volunteerExperiences[].company.companyId` | `string` | Numeric company id. |
| `volunteerExperiences[].company.urn` | `string` | Full company URN. |
| `volunteerExperiences[].volunteerExperienceUrn` | `string` | URN of this entry. |
| `partial_sections` | `list<string>` | Names of the response fields that may be short or missing on this call, e.g. `["experiences"]`. An array Fetchin returned shorter than the member's real list: `experiences`, `educations`, `skills`, `certifications`, `languages`, `testScores`, `publications`, `projects`, `patents`, `honors`, `organizations`, `courses` or `volunteerExperiences`. A best-effort field Fetchin could not fetch, or fetched only in part: `recommendations` and `recommendationsGiven` (absent, or shorter than the member's real list), and `joinDate`, `birthDate`, `websites` and `openProfile` (absent). `joinDate`, `birthDate` and `websites` come from one read, so they are listed together. When `birthDate` is listed, Fetchin could not read it on this call. When it is absent and not listed, the member's profile does not show a birthday. |
| `partial_totals` | `map<string, int64>` | The count LinkedIn gives for each incomplete section, when it gives one. It uses the same keys, except `experienceGroups`, which counts stints. A stint is one unbroken period at one employer: a member who left an employer and came back has two stints there (see `experiences[].positionGroupUrn`). |
| `recommendationsGiven` | `list<struct>` | Recommendations the member wrote for other people. Best-effort, exactly like `recommendations`: an empty array means they wrote none, while an absent key means the fetch failed and `partial` will say so. Note the named person here is the recipient, whereas in `recommendations` it is the author. |
| `recommendationsGiven[].description` | `string` | The recommendation text. |
| `recommendationsGiven[].caption` | `string` | The recipient's headline at the time of the fetch. |
| `recommendationsGiven[].recipientFullname` | `string` | Full name of the person who was recommended. |
| `recommendationsGiven[].recipientUrl` | `string` | The recipient's public profile page URL. |
| `recommendationsGiven[].createdAt` | `string` | When the recommendation was written, ISO 8601. Omitted when the source carries no timestamp. |
| `recommendationsGiven[].lastModifiedAt` | `string` | When it was last edited, ISO 8601. Equal to `createdAt` when it was never edited. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.