{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/datacircle/main/json-schema/datacircle-harvest-api-profile-response-schema.json", "title": "HarvestApiProfileResponse", "description": "HarvestAPI's own answer to `GET /linkedin/profile`, minus `user` and `requestId` (our account with HarvestAPI), plus `datacircle_meta`.", "x-generated": "2026-10-11", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/datacircle-harvestapi-api-openapi.yml#/components/schemas/HarvestApiProfileResponse", "type": "object", "properties": { "element": { "anyOf": [ { "$ref": "#/$defs/HarvestApiProfile" }, { "type": "null" } ], "description": "The profile. `null` when HarvestAPI can't find it (`status` `404`) or refuses the request (`status` `400`)." }, "cost": { "type": "number", "description": "What HarvestAPI billed for the call, e.g. `0.0037` for a profile, `0.0023` for a profile it can't find. Datacircle charges you the same amount in dollars (`datacircle_meta.cost_usd`)." }, "entityId": { "type": [ "string", "null" ], "description": "The profile's LinkedIn member id (`ACoAA…`), as `element.id`. `null` when not found." }, "error": { "type": "string", "description": "HarvestAPI's message when `element` is `null`, e.g. `Profile not found`." }, "free": { "type": "boolean", "description": "`true` when HarvestAPI didn't bill the call (a request it refuses)." }, "originalQuery": { "type": "object", "properties": { "url": { "type": "string", "description": "The profile URL HarvestAPI got." } }, "required": [ "url" ], "additionalProperties": false, "description": "The request HarvestAPI got." }, "payments": { "type": "array", "items": { "type": "string" }, "description": "What HarvestAPI billed, by name: `linkedinProfile` for a profile, `linkedinProfileShort` for a lookup that found nothing." }, "query": { "type": "object", "properties": { "profileId": { "type": [ "string", "null" ], "description": "The profile's LinkedIn member id (`ACoAA…`). `null` when not found." }, "publicIdentifier": { "type": [ "string", "null" ], "description": "The profile's slug, linkedin.com/in/. `null` when not found." }, "url": { "type": "string", "description": "The profile URL HarvestAPI read." } }, "required": [ "url" ], "additionalProperties": false, "description": "The request as HarvestAPI understood it: the `url` it read, with the `publicIdentifier` and `profileId` it resolved." }, "retries": { "type": "integer", "description": "How many times HarvestAPI retried LinkedIn for this answer." }, "status": { "type": "integer", "description": "HarvestAPI's own status, inside an HTTP `200`: `200` found, `404` not found, `400` a request it refuses." }, "datacircle_meta": { "$ref": "#/$defs/DatacircleMeta" } }, "required": [ "cost", "element", "entityId", "originalQuery", "payments", "query", "retries", "status", "datacircle_meta" ], "additionalProperties": false, "$defs": { "DatacircleMeta": { "type": "object", "description": "Datacircle's only addition to the provider's answer", "required": [ "provider", "cost_usd", "balance_usd" ], "properties": { "provider": { "type": "string", "enum": [ "up2data", "harvestapi", "fetchin" ], "description": "Which provider answered" }, "cost_usd": { "type": "number", "description": "What this call cost, in dollars: the provider's price, no markup" }, "balance_usd": { "type": "number", "description": "Your balance after this call, in dollars (`balance_usd` in `GET /balance/`)" } }, "additionalProperties": false }, "HarvestApiProfile": { "type": "object", "properties": { "about": { "type": [ "string", "null" ], "description": "The profile's About section." }, "causes": { "type": "array", "items": { "type": "string" }, "description": "The causes the member cares about, e.g. `Education`." }, "certifications": { "type": "array", "items": { "type": "object", "properties": { "issuedAt": { "type": [ "string", "null" ], "description": "When, as LinkedIn shows it, e.g. `Issued Jul 1998 · Expired Jul 2018`." }, "issuedBy": { "type": [ "string", "null" ], "description": "Who issued it." }, "issuedByLink": { "type": [ "string", "null" ], "description": "The issuer's LinkedIn page." }, "issuedByLogo": { "type": "object", "properties": { "sizes": { "type": "array", "items": { "type": "object", "properties": { "height": { "type": "integer", "description": "Height, in pixels." }, "url": { "type": "string", "description": "The image's URL." }, "width": { "type": "integer", "description": "Width, in pixels." } }, "required": [ "height", "url", "width" ], "additionalProperties": false }, "description": "Every size LinkedIn serves." }, "url": { "type": [ "string", "null" ], "description": "The image's URL." } }, "required": [ "sizes", "url" ], "additionalProperties": false, "description": "The issuer's logo: `url` (the largest image) and `sizes`, every size LinkedIn serves." }, "link": { "type": [ "string", "null" ], "description": "The certificate's own URL." }, "title": { "type": "string", "description": "The certification." } }, "required": [ "issuedAt", "issuedBy", "issuedByLogo", "title" ], "additionalProperties": false }, "description": "Licenses and certifications." }, "composeOptionType": { "type": [ "string", "null" ], "description": "How LinkedIn lets someone not connected write to the member, e.g. `PREMIUM_INMAIL`." }, "connectionsCount": { "type": [ "integer", "null" ], "description": "The member's connections, as LinkedIn counts them (it shows `500+` past 500)." }, "courses": { "type": "array", "items": { "type": "object", "properties": { "associatedWith": { "type": [ "string", "null" ], "description": "The job or school it came with." }, "associatedWithLink": { "type": [ "string", "null" ], "description": "That job's or school's LinkedIn page." }, "number": { "type": [ "string", "null" ], "description": "The course's number." }, "title": { "type": "string", "description": "The course." } }, "required": [ "associatedWith", "associatedWithLink", "number", "title" ], "additionalProperties": false }, "description": "Courses." }, "coverPicture": { "type": [ "object", "null" ], "properties": { "sizes": { "type": "array", "items": { "type": "object", "properties": { "height": { "type": "integer", "description": "Height, in pixels." }, "url": { "type": "string", "description": "The image's URL." }, "width": { "type": "integer", "description": "Width, in pixels." } }, "required": [ "height", "url", "width" ], "additionalProperties": false }, "description": "Every size LinkedIn serves." }, "url": { "type": [ "string", "null" ], "description": "The image's URL." } }, "required": [ "sizes", "url" ], "additionalProperties": false, "description": "The banner image behind the photo: `url` (the largest image) and `sizes`, every size LinkedIn serves." }, "creator": { "type": "boolean", "description": "`true` when the member has creator mode on." }, "currentPosition": { "type": "array", "items": { "type": "object", "properties": { "companyId": { "type": [ "string", "null" ], "description": "LinkedIn's numeric id of the company." }, "companyLinkedinUrl": { "type": [ "string", "null" ], "description": "The company's LinkedIn page." }, "companyLogo": { "type": [ "object", "null" ], "properties": { "sizes": { "type": "array", "items": { "type": "object", "properties": { "height": { "type": "integer", "description": "Height, in pixels." }, "url": { "type": "string", "description": "The image's URL." }, "width": { "type": "integer", "description": "Width, in pixels." } }, "required": [ "height", "url", "width" ], "additionalProperties": false }, "description": "Every size LinkedIn serves." }, "url": { "type": "string", "description": "The image's URL." } }, "required": [ "sizes", "url" ], "additionalProperties": false, "description": "The company's logo: `url` (the largest image) and `sizes`, every size LinkedIn serves." }, "companyName": { "type": "string", "description": "The company's name." }, "companyUniversalName": { "type": [ "string", "null" ], "description": "The company's slug: `linkedin.com/company/`." }, "description": { "type": [ "string", "null" ], "description": "Its description, as written on the profile." }, "duration": { "type": [ "string", "null" ], "description": "How long, as LinkedIn shows it, e.g. `16 yrs 4 mos`." }, "employmentType": { "type": [ "string", "null" ], "description": "Employment type, e.g. `Full-time` or `Self-employed`." }, "endDate": { "type": "object", "properties": { "text": { "type": "string", "description": "The date as LinkedIn shows it." } }, "required": [ "text" ], "additionalProperties": false, "description": "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." }, "experienceGroupId": { "type": [ "string", "null" ], "description": "Groups several jobs at the same company: equal on each." }, "location": { "type": [ "string", "null" ], "description": "Where the job is." }, "position": { "type": "string", "description": "The job title." }, "skills": { "type": [ "array", "null" ], "items": { "type": "string" }, "description": "The skills listed with it." }, "startDate": { "type": [ "object", "null" ], "properties": { "month": { "type": "string", "description": "The month, e.g. `Jun`." }, "text": { "type": "string", "description": "The date as LinkedIn shows it." }, "year": { "type": "integer", "description": "The year." } }, "required": [ "text", "year" ], "additionalProperties": false, "description": "When it started: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them." }, "workplaceType": { "type": [ "string", "null" ], "description": "Where the role is worked, e.g. `On-site`, `Hybrid` or `Remote`." } }, "required": [ "companyId", "companyLinkedinUrl", "companyLogo", "companyName", "companyUniversalName", "description", "duration", "employmentType", "endDate", "location", "position", "skills", "startDate", "workplaceType" ], "additionalProperties": false }, "description": "The member's current jobs, the same shape as `experience`." }, "education": { "type": "array", "items": { "type": "object", "properties": { "degree": { "type": [ "string", "null" ], "description": "The degree." }, "description": { "type": [ "string", "null" ], "description": "Its description, as written on the profile." }, "endDate": { "type": [ "object", "null" ], "properties": { "month": { "type": [ "string", "null" ], "description": "The month, e.g. `Jun`." }, "text": { "type": "string", "description": "The date as LinkedIn shows it." }, "year": { "type": "integer", "description": "The year." } }, "required": [ "text", "year" ], "additionalProperties": false, "description": "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." }, "fieldOfStudy": { "type": [ "string", "null" ], "description": "The field of study." }, "insights": { "type": [ "string", "null" ], "description": "Activities and societies, as written on the profile." }, "period": { "type": [ "string", "null" ], "description": "When, as LinkedIn shows it, e.g. `1981 - 1985`." }, "schoolId": { "type": [ "string", "null" ], "description": "LinkedIn's numeric id of the school." }, "schoolLinkedinUrl": { "type": [ "string", "null" ], "description": "The school's LinkedIn page." }, "schoolLogo": { "type": [ "object", "null" ], "properties": { "sizes": { "type": "array", "items": { "type": "object", "properties": { "height": { "type": "integer", "description": "Height, in pixels." }, "url": { "type": "string", "description": "The image's URL." }, "width": { "type": "integer", "description": "Width, in pixels." } }, "required": [ "height", "url", "width" ], "additionalProperties": false }, "description": "Every size LinkedIn serves." }, "url": { "type": [ "string", "null" ], "description": "The image's URL." } }, "required": [ "sizes", "url" ], "additionalProperties": false, "description": "The school's logo: `url` (the largest image) and `sizes`, every size LinkedIn serves." }, "schoolName": { "type": "string", "description": "The school." }, "skills": { "type": [ "array", "null" ], "items": { "type": "string" }, "description": "The skills listed with it." }, "startDate": { "type": [ "object", "null" ], "properties": { "month": { "type": [ "string", "null" ], "description": "The month, e.g. `Jun`." }, "text": { "type": "string", "description": "The date as LinkedIn shows it." }, "year": { "type": "integer", "description": "The year." } }, "required": [ "text", "year" ], "additionalProperties": false, "description": "When it started: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them." } }, "required": [ "degree", "description", "endDate", "fieldOfStudy", "insights", "period", "schoolId", "schoolLinkedinUrl", "schoolLogo", "schoolName", "skills", "startDate" ], "additionalProperties": false }, "description": "Every school on the profile." }, "emails": { "type": "array", "items": { "type": "string" }, "maxItems": 0, "description": "Always empty: Datacircle sends HarvestAPI the profile lookup only, without its email search." }, "experience": { "type": "array", "items": { "type": "object", "properties": { "companyId": { "type": [ "string", "null" ], "description": "LinkedIn's numeric id of the company." }, "companyLinkedinUrl": { "type": [ "string", "null" ], "description": "The company's LinkedIn page." }, "companyLogo": { "type": [ "object", "null" ], "properties": { "sizes": { "type": "array", "items": { "type": "object", "properties": { "height": { "type": "integer", "description": "Height, in pixels." }, "url": { "type": "string", "description": "The image's URL." }, "width": { "type": "integer", "description": "Width, in pixels." } }, "required": [ "height", "url", "width" ], "additionalProperties": false }, "description": "Every size LinkedIn serves." }, "url": { "type": "string", "description": "The image's URL." } }, "required": [ "sizes", "url" ], "additionalProperties": false, "description": "The company's logo: `url` (the largest image) and `sizes`, every size LinkedIn serves." }, "companyName": { "type": "string", "description": "The company's name." }, "companyUniversalName": { "type": [ "string", "null" ], "description": "The company's slug: `linkedin.com/company/`." }, "description": { "type": [ "string", "null" ], "description": "Its description, as written on the profile." }, "duration": { "type": [ "string", "null" ], "description": "How long, as LinkedIn shows it, e.g. `16 yrs 4 mos`." }, "employmentType": { "type": [ "string", "null" ], "description": "Employment type, e.g. `Full-time` or `Self-employed`." }, "endDate": { "type": [ "object", "null" ], "properties": { "month": { "type": [ "string", "null" ], "description": "The month, e.g. `Jun`." }, "text": { "type": "string", "description": "The date as LinkedIn shows it." }, "year": { "type": "integer", "description": "The year." } }, "required": [ "text" ], "additionalProperties": false, "description": "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." }, "experienceGroupId": { "type": [ "string", "null" ], "description": "Groups several jobs at the same company: equal on each." }, "location": { "type": [ "string", "null" ], "description": "Where the job is." }, "position": { "type": "string", "description": "The job title." }, "skills": { "type": [ "array", "null" ], "items": { "type": "string" }, "description": "The skills listed with it." }, "startDate": { "type": [ "object", "null" ], "properties": { "month": { "type": [ "string", "null" ], "description": "The month, e.g. `Jun`." }, "text": { "type": "string", "description": "The date as LinkedIn shows it." }, "year": { "type": "integer", "description": "The year." } }, "required": [ "text", "year" ], "additionalProperties": false, "description": "When it started: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them." }, "workplaceType": { "type": [ "string", "null" ], "description": "Where the role is worked, e.g. `On-site`, `Hybrid` or `Remote`." } }, "required": [ "companyId", "companyLinkedinUrl", "companyLogo", "companyUniversalName", "description", "duration", "employmentType", "endDate", "location", "position", "skills", "startDate", "workplaceType" ], "additionalProperties": false }, "description": "Every job on the profile, the newest first." }, "featured": { "type": [ "object", "null" ], "properties": { "images": { "type": "array", "items": { "type": "string" }, "description": "Empty in every answer we hold." }, "link": { "type": "null", "description": "Always `null` in every answer we hold." }, "slides": { "type": "array", "items": { "type": "object", "properties": { "description": { "type": "null", "description": "Always `null` in every answer we hold." }, "image": { "type": "object", "properties": { "url": { "type": [ "string", "null" ], "description": "The image's URL." } }, "required": [ "url" ], "additionalProperties": false, "description": "Its image." }, "subtitle": { "type": [ "string", "null" ], "description": "Its subtitle." }, "title": { "type": [ "object", "string", "null" ], "properties": { "accessibilityText": { "type": "null", "description": "Always `null` in every answer we hold." }, "attributesV2": { "type": "array", "items": { "type": "object" }, "description": "LinkedIn's formatting of the title." }, "text": { "type": "string", "description": "The title." }, "textDirection": { "type": "string", "description": "The text's direction, e.g. `USER_LOCALE`." } }, "required": [ "accessibilityText", "attributesV2", "text", "textDirection" ], "additionalProperties": false, "description": "The item's title: a string, or LinkedIn's text object (`text`, `attributesV2`, `textDirection`, `accessibilityText`)." }, "url": { "type": "string", "description": "The item's URL (a post, an article, a link)." } }, "required": [ "description", "image", "subtitle", "title", "url" ], "additionalProperties": false }, "description": "Each featured item." }, "subtitle": { "type": "null", "description": "Always `null` in every answer we hold." }, "title": { "type": "null", "description": "Always `null` in every answer we hold." } }, "required": [ "images", "link", "slides", "subtitle", "title" ], "additionalProperties": false, "description": "The profile's Featured section. `null` when it has none." }, "firstName": { "type": "string", "description": "The member's first name." }, "followerCount": { "type": "integer", "description": "How many people follow the member." }, "headline": { "type": "string", "description": "The line under the member's name on the profile." }, "hiring": { "type": "boolean", "description": "`true` when the profile shows #Hiring." }, "honorsAndAwards": { "type": "array", "items": { "type": "object", "properties": { "associatedWith": { "type": [ "string", "null" ], "description": "The job or school it came with." }, "associatedWithLink": { "type": [ "string", "null" ], "description": "That job's or school's LinkedIn page." }, "description": { "type": [ "string", "null" ], "description": "Its description, as written on the profile." }, "issuedAt": { "type": [ "string", "null" ], "description": "When, as LinkedIn shows it." }, "issuedBy": { "type": "string", "description": "Who gave it." }, "title": { "type": "string", "description": "The award." } }, "required": [ "associatedWith", "associatedWithLink", "description", "issuedAt", "title" ], "additionalProperties": false }, "description": "Honors and awards." }, "id": { "type": "string", "description": "The profile's LinkedIn member id (`ACoAA…`, case-sensitive)." }, "influencer": { "type": "boolean", "description": "`true` when LinkedIn marks the member as an influencer (Top Voice)." }, "interests": { "type": "array", "items": { "type": "object", "properties": { "elements": { "type": "array", "items": { "type": "object", "properties": { "caption": { "type": "string", "description": "Its audience as LinkedIn shows it, e.g. `224,329 followers`." }, "image": { "type": "object", "properties": { "url": { "type": [ "string", "null" ], "description": "The image's URL." } }, "required": [ "url" ], "additionalProperties": false, "description": "Its image." }, "link": { "type": "string", "description": "Its LinkedIn URL." }, "subtitle": { "type": [ "string", "null" ], "description": "Its headline or tagline." }, "title": { "type": "string", "description": "Its name." } }, "required": [ "caption", "image", "link", "subtitle", "title" ], "additionalProperties": false }, "description": "What the member follows of that kind." }, "interestName": { "type": "string", "description": "The kind, e.g. `Top Voices`, `Companies` or `Groups`." } }, "required": [ "elements", "interestName" ], "additionalProperties": false }, "description": "What the member follows, by kind." }, "languages": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The language." }, "proficiency": { "type": "string", "description": "How well, as LinkedIn words it, e.g. `Native or bilingual proficiency`." } }, "required": [ "name" ], "additionalProperties": false }, "description": "The languages the member speaks." }, "lastName": { "type": "string", "description": "The member's last name." }, "linkedinUrl": { "type": "string", "description": "The profile's LinkedIn URL." }, "location": { "type": "object", "properties": { "countryCode": { "type": "string", "description": "The country's ISO 3166-1 alpha-2 code, e.g. `US`." }, "linkedinText": { "type": "string", "description": "The location exactly as LinkedIn shows it." }, "parsed": { "type": "object", "properties": { "city": { "type": "string", "description": "City." }, "country": { "type": "string", "description": "Country name, e.g. `United States`." }, "countryCode": { "type": "string", "description": "The country's ISO 3166-1 alpha-2 code, e.g. `US`." }, "countryFull": { "type": "string", "description": "The country's full name, e.g. `United States of America`." }, "regionCode": { "type": "null", "description": "Always `null` in every answer we hold." }, "state": { "type": "string", "description": "State or region." }, "text": { "type": "string", "description": "The parsed location as one line, e.g. `Miami, FL, United States`." } }, "required": [ "country", "countryCode", "countryFull", "regionCode", "text" ], "additionalProperties": false, "description": "The location, parsed." } }, "required": [ "countryCode", "linkedinText", "parsed" ], "additionalProperties": false, "description": "Where the member is: `linkedinText` as LinkedIn shows it, and `parsed` into city, state and country." }, "memorialized": { "type": "boolean", "description": "`true` when LinkedIn has memorialized the profile (the member died)." }, "moreProfiles": { "type": "array", "items": { "type": "object", "properties": { "firstName": { "type": "string", "description": "The member's first name." }, "id": { "type": "string", "description": "That member's LinkedIn member id (`ACoAA…`)." }, "lastName": { "type": "string", "description": "The member's last name." }, "linkedinUrl": { "type": "string", "description": "The member's LinkedIn URL." }, "position": { "type": "string", "description": "That member's headline." }, "publicIdentifier": { "type": "string", "description": "The member's slug." } }, "required": [ "firstName", "id", "lastName", "linkedinUrl", "position", "publicIdentifier" ], "additionalProperties": false }, "description": "The profiles LinkedIn suggests next to this one (\"More profiles for you\")." }, "multiLocaleHeadline": { "type": "array", "items": { "type": "object", "properties": { "headline": { "type": "string", "description": "The headline in that language." }, "locale": { "type": "string", "description": "The language, e.g. `en_US`." } }, "required": [ "headline", "locale" ], "additionalProperties": false }, "description": "The headline in each language the profile is written in." }, "objectUrn": { "type": "string", "description": "LinkedIn's numeric id of the member." }, "openToWork": { "type": "boolean", "description": "`true` when the profile shows #OpenToWork." }, "organizations": { "type": "array", "items": { "type": "object", "properties": { "companyLinkedinUrl": { "type": [ "string", "null" ], "description": "The organization's LinkedIn page." }, "description": { "type": [ "string", "null" ], "description": "Its description, as written on the profile." }, "endDate": { "type": [ "object", "null" ], "properties": { "month": { "type": "string", "description": "The month, e.g. `Jun`." }, "text": { "type": "string", "description": "The date as LinkedIn shows it." }, "year": { "type": "integer", "description": "The year." } }, "required": [ "text" ], "additionalProperties": false, "description": "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." }, "logo": { "type": [ "string", "null" ], "description": "The organization's logo URL." }, "name": { "type": "string", "description": "The organization." }, "positionHeld": { "type": [ "string", "null" ], "description": "The member's position there." }, "startDate": { "type": [ "object", "null" ], "properties": { "month": { "type": "string", "description": "The month, e.g. `Jun`." }, "text": { "type": "string", "description": "The date as LinkedIn shows it." }, "year": { "type": "integer", "description": "The year." } }, "required": [ "text" ], "additionalProperties": false, "description": "When it started: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them." } }, "required": [ "companyLinkedinUrl", "description", "endDate", "logo", "name", "positionHeld", "startDate" ], "additionalProperties": false }, "description": "Organizations the member belongs to." }, "patents": { "type": "array", "items": { "type": "object", "properties": { "description": { "type": [ "string", "null" ], "description": "Its description, as written on the profile." }, "issuedAt": { "type": [ "string", "null" ], "description": "When it was issued, as LinkedIn shows it." }, "number": { "type": "string", "description": "The patent's number." }, "title": { "type": "string", "description": "The patent." }, "url": { "type": "null", "description": "Always `null` in every answer we hold." } }, "required": [ "description", "issuedAt", "number", "title", "url" ], "additionalProperties": false }, "description": "Patents." }, "photo": { "type": [ "string", "null" ], "description": "The profile photo's URL (the largest size)." }, "premium": { "type": "boolean", "description": "`true` when the member has LinkedIn Premium." }, "primaryLocale": { "type": "object", "properties": { "country": { "type": "string", "description": "The country code, e.g. `US`." }, "language": { "type": "string", "description": "The language code, e.g. `en`." } }, "required": [ "country", "language" ], "additionalProperties": false, "description": "The profile's main language." }, "profileActions": { "type": "array", "items": { "type": "object", "properties": { "label": { "type": "string", "description": "The button's label." }, "url": { "type": "string", "description": "Where it goes." } }, "required": [ "label", "url" ], "additionalProperties": false }, "description": "The buttons the member added to the profile, e.g. `Visit my website`." }, "profileLocales": { "type": "array", "items": { "type": "object", "properties": { "country": { "type": "string", "description": "The country code, e.g. `US`." }, "language": { "type": "string", "description": "The language code, e.g. `en`." } }, "required": [ "country", "language" ], "additionalProperties": false }, "description": "Every language the profile is written in." }, "profilePicture": { "type": [ "object", "null" ], "properties": { "sizes": { "type": "array", "items": { "type": "object", "properties": { "height": { "type": "integer", "description": "Height, in pixels." }, "url": { "type": "string", "description": "The image's URL." }, "width": { "type": "integer", "description": "Width, in pixels." } }, "required": [ "height", "url", "width" ], "additionalProperties": false }, "description": "Every size LinkedIn serves." }, "url": { "type": [ "string", "null" ], "description": "The image's URL." } }, "required": [ "sizes", "url" ], "additionalProperties": false, "description": "The profile photo: `url` (the largest image) and `sizes`, every size LinkedIn serves." }, "profileTopEducation": { "type": "array", "items": { "type": "object", "properties": { "degree": { "type": [ "string", "null" ], "description": "The degree." }, "description": { "type": [ "string", "null" ], "description": "Its description, as written on the profile." }, "endDate": { "type": [ "object", "null" ], "properties": { "month": { "type": [ "string", "null" ], "description": "The month, e.g. `Jun`." }, "text": { "type": "string", "description": "The date as LinkedIn shows it." }, "year": { "type": "integer", "description": "The year." } }, "required": [ "text", "year" ], "additionalProperties": false, "description": "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." }, "fieldOfStudy": { "type": [ "string", "null" ], "description": "The field of study." }, "insights": { "type": [ "string", "null" ], "description": "Activities and societies, as written on the profile." }, "period": { "type": [ "string", "null" ], "description": "When, as LinkedIn shows it, e.g. `1981 - 1985`." }, "schoolId": { "type": [ "string", "null" ], "description": "LinkedIn's numeric id of the school." }, "schoolLinkedinUrl": { "type": [ "string", "null" ], "description": "The school's LinkedIn page." }, "schoolLogo": { "type": [ "object", "null" ], "properties": { "sizes": { "type": "array", "items": { "type": "object", "properties": { "height": { "type": "integer", "description": "Height, in pixels." }, "url": { "type": "string", "description": "The image's URL." }, "width": { "type": "integer", "description": "Width, in pixels." } }, "required": [ "height", "url", "width" ], "additionalProperties": false }, "description": "Every size LinkedIn serves." }, "url": { "type": [ "string", "null" ], "description": "The image's URL." } }, "required": [ "sizes", "url" ], "additionalProperties": false, "description": "The school's logo: `url` (the largest image) and `sizes`, every size LinkedIn serves." }, "schoolName": { "type": "string", "description": "The school." }, "skills": { "type": [ "array", "null" ], "items": { "type": "string" }, "description": "The skills listed with it." }, "startDate": { "type": [ "object", "null" ], "properties": { "month": { "type": [ "string", "null" ], "description": "The month, e.g. `Jun`." }, "text": { "type": "string", "description": "The date as LinkedIn shows it." }, "year": { "type": "integer", "description": "The year." } }, "required": [ "text", "year" ], "additionalProperties": false, "description": "When it started: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them." } }, "required": [ "degree", "description", "endDate", "fieldOfStudy", "insights", "period", "schoolId", "schoolLinkedinUrl", "schoolLogo", "schoolName", "skills", "startDate" ], "additionalProperties": false }, "description": "The school the profile shows under the member's name, the same shape as `education`." }, "projects": { "type": "array", "items": { "type": "object", "properties": { "description": { "type": [ "string", "null" ], "description": "Its description, as written on the profile." }, "duration": { "type": [ "string", "null" ], "description": "When, as LinkedIn shows it, e.g. `Dec 2016 - Present`." }, "endDate": { "type": [ "object", "null" ], "properties": { "month": { "type": "string", "description": "The month, e.g. `Jun`." }, "text": { "type": "string", "description": "The date as LinkedIn shows it." }, "year": { "type": "integer", "description": "The year." } }, "required": [ "text" ], "additionalProperties": false, "description": "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." }, "startDate": { "type": [ "object", "null" ], "properties": { "month": { "type": "string", "description": "The month, e.g. `Jun`." }, "text": { "type": "string", "description": "The date as LinkedIn shows it." }, "year": { "type": "integer", "description": "The year." } }, "required": [ "month", "text", "year" ], "additionalProperties": false, "description": "When it started: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them." }, "title": { "type": "string", "description": "The project." } }, "required": [ "description", "duration", "endDate", "startDate", "title" ], "additionalProperties": false }, "description": "Projects." }, "publicIdentifier": { "type": "string", "description": "The profile's slug: linkedin.com/in/." }, "publications": { "type": "array", "items": { "type": "object", "properties": { "description": { "type": [ "string", "null" ], "description": "Its description, as written on the profile." }, "link": { "type": [ "string", "null" ], "description": "The publication's URL." }, "publishedAt": { "type": [ "string", "null" ], "description": "Where and when, as LinkedIn shows it, e.g. `Springer · Dec 1, 2014`." }, "title": { "type": "string", "description": "The publication." } }, "required": [ "description", "link", "publishedAt", "title" ], "additionalProperties": false }, "description": "Publications." }, "receivedRecommendations": { "type": "array", "items": { "type": "object", "properties": { "description": { "type": [ "string", "null" ], "description": "Its description, as written on the profile." }, "givenAt": { "type": "string", "description": "When, as LinkedIn shows it, e.g. `June 13, 2026`." }, "givenBy": { "type": "string", "description": "Who wrote it." }, "givenByHeadline": { "type": "string", "description": "Their headline." }, "givenByLink": { "type": "string", "description": "Their LinkedIn URL." }, "givenByPicture": { "type": [ "object", "null" ], "properties": { "sizes": { "type": "array", "items": { "type": "object", "properties": { "height": { "type": "integer", "description": "Height, in pixels." }, "url": { "type": "string", "description": "The image's URL." }, "width": { "type": "integer", "description": "Width, in pixels." } }, "required": [ "height", "url", "width" ], "additionalProperties": false }, "description": "Every size LinkedIn serves." }, "url": { "type": "string", "description": "The image's URL." } }, "required": [ "sizes", "url" ], "additionalProperties": false, "description": "Their photo: `url` (the largest image) and `sizes`, every size LinkedIn serves." } }, "required": [ "description", "givenAt", "givenBy", "givenByHeadline", "givenByLink", "givenByPicture" ], "additionalProperties": false }, "description": "Recommendations the member received." }, "registeredAt": { "type": [ "string", "null" ], "description": "When the member joined LinkedIn (ISO 8601)." }, "sectionTotals": { "type": "object", "properties": { "causes": { "type": "integer", "description": "Causes on the profile, counted by LinkedIn." }, "certifications": { "type": "integer", "description": "Certifications on the profile, counted by LinkedIn." }, "courses": { "type": "integer", "description": "Courses on the profile, counted by LinkedIn." }, "education": { "type": "integer", "description": "Education on the profile, counted by LinkedIn." }, "experience": { "type": "integer", "description": "Jobs on the profile, counted by LinkedIn." }, "honorsAndAwards": { "type": "integer", "description": "Honors and awards on the profile, counted by LinkedIn." }, "languages": { "type": "integer", "description": "Languages on the profile, counted by LinkedIn." }, "organizations": { "type": "integer", "description": "Organizations on the profile, counted by LinkedIn." }, "patents": { "type": "integer", "description": "Patents on the profile, counted by LinkedIn." }, "projects": { "type": "integer", "description": "Projects on the profile, counted by LinkedIn." }, "publications": { "type": "integer", "description": "Publications on the profile, counted by LinkedIn." }, "receivedRecommendations": { "type": "integer", "description": "Recommendations received on the profile, counted by LinkedIn." }, "skills": { "type": "integer", "description": "The skills listed with it on the profile, counted by LinkedIn." }, "volunteering": { "type": "integer", "description": "Volunteering on the profile, counted by LinkedIn." } }, "required": [ "causes", "certifications", "courses", "education", "experience", "honorsAndAwards", "languages", "organizations", "patents", "projects", "publications", "receivedRecommendations", "skills", "volunteering" ], "additionalProperties": false, "description": "How many entries each section of the profile has on LinkedIn. A list above may hold fewer." }, "services": { "type": [ "object", "null" ], "properties": { "description": { "type": [ "string", "null" ], "description": "The member's description of them." }, "media": { "type": "array", "items": { "type": "object", "properties": { "image": { "type": "object", "properties": { "sizes": { "type": "array", "items": { "type": "object", "properties": { "url": { "type": "string", "description": "The image's URL." }, "width": { "type": "integer", "description": "Width, in pixels." }, "height": { "type": "integer", "description": "Height, in pixels." } }, "required": [ "url", "width", "height" ], "additionalProperties": false }, "description": "Every size LinkedIn serves." }, "url": { "type": [ "string", "null" ], "description": "The image's URL." } }, "required": [ "sizes", "url" ], "additionalProperties": false, "description": "Its image." }, "subtitle": { "type": [ "string", "null" ], "description": "Its subtitle." }, "title": { "type": "null", "description": "Its title." }, "url": { "type": "string", "description": "The image's URL." } }, "required": [ "image", "subtitle", "title", "url" ], "additionalProperties": false }, "description": "Media on the Services page." }, "rating": { "type": [ "string", "null" ], "description": "The services' rating." }, "requestUrl": { "type": [ "string", "null" ], "description": "The LinkedIn URL to request a proposal." }, "servicesList": { "type": "array", "items": { "type": "string" }, "description": "The services, e.g. `Business Consulting`." } }, "required": [ "description", "media", "rating", "requestUrl", "servicesList" ], "additionalProperties": false, "description": "The services the member offers (LinkedIn's Services page). `null` when none." }, "skills": { "type": "array", "items": { "type": "object", "properties": { "endorsements": { "type": "string", "description": "The endorsements as LinkedIn shows them, e.g. `51 endorsements`." }, "name": { "type": "string", "description": "The skill." }, "positions": { "type": "array", "items": { "type": "string" }, "description": "Where the skill shows on the profile and who endorsed it, as LinkedIn words it, e.g. `Endorsed by 2 colleagues at Acme`." } }, "required": [ "name" ], "additionalProperties": false }, "description": "Every skill on the profile." }, "topSkills": { "type": [ "array", "null" ], "items": { "type": "string" }, "description": "The skills the member put at the top of the profile." }, "verified": { "type": "boolean", "description": "`true` when LinkedIn shows the member as verified." }, "volunteering": { "type": "array", "items": { "type": "object", "properties": { "cause": { "type": [ "string", "null" ], "description": "The cause, e.g. `Health`." }, "description": { "type": [ "string", "null" ], "description": "Its description, as written on the profile." }, "duration": { "type": [ "string", "null" ], "description": "How long, as LinkedIn shows it." }, "endDate": { "type": [ "object", "null" ], "properties": { "month": { "type": "string", "description": "The month, e.g. `Jun`." }, "text": { "type": "string", "description": "The date as LinkedIn shows it." }, "year": { "type": "integer", "description": "The year." } }, "required": [ "text" ], "additionalProperties": false, "description": "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." }, "organizationLinkedinUrl": { "type": "string", "description": "The organization's LinkedIn page." }, "organizationName": { "type": "string", "description": "The organization." }, "role": { "type": "string", "description": "The member's role." }, "startDate": { "type": [ "object", "null" ], "properties": { "month": { "type": "string", "description": "The month, e.g. `Jun`." }, "text": { "type": "string", "description": "The date as LinkedIn shows it." }, "year": { "type": "integer", "description": "The year." } }, "required": [ "month", "text", "year" ], "additionalProperties": false, "description": "When it started: `text` as LinkedIn shows it (e.g. `Jun 2010`), with `year` and `month` when LinkedIn gives them." } }, "required": [ "cause", "duration", "endDate", "organizationName", "role", "startDate" ], "additionalProperties": false }, "description": "Volunteering." }, "websites": { "type": "array", "items": { "type": "string" }, "description": "The websites listed on the profile." }, "industry": { "type": [ "object", "null" ], "properties": { "id": { "type": "integer", "description": "LinkedIn's industry id." }, "name": { "type": "string", "description": "The industry's name, e.g. `Philanthropic Fundraising Services`." } }, "required": [ "id", "name" ], "additionalProperties": false, "description": "The member's industry, as LinkedIn classifies it: its `id` and `name`." } }, "required": [ "about", "causes", "certifications", "connectionsCount", "courses", "coverPicture", "creator", "currentPosition", "education", "emails", "experience", "featured", "firstName", "followerCount", "headline", "hiring", "honorsAndAwards", "id", "influencer", "languages", "lastName", "linkedinUrl", "location", "memorialized", "moreProfiles", "multiLocaleHeadline", "objectUrn", "openToWork", "photo", "premium", "primaryLocale", "profileActions", "profileLocales", "profilePicture", "profileTopEducation", "projects", "publicIdentifier", "publications", "receivedRecommendations", "services", "skills", "topSkills", "volunteering" ], "additionalProperties": false, "description": "A LinkedIn profile, as HarvestAPI answers it." } } }