Retrieve a profile
direct.lempile.com/api/v1/users/{identifier}A member's profile, as Unipile answers it: its top card, the profile page's second card (followers, connections, mutual connections, verification) and its contact info (websites, emails, phones): three LinkedIn calls. linkedin_sections adds the sections. Someone from the account's recent conversations, read by provider id without sections, is answered from what the conversation showed, with no LinkedIn call (names, headline, picture, link, degree).
Authentication
X-API-KEY header·A Lempile Direct key, one per workspace, made in Lempile's dashboard.Path parameters
identifierstringrequiredThe person: provider id (
ACo…), public identifier,urn:li:fsd_profile:…, a profile URL (URL-encoded) orme.
Query parameters
account_idstringrequiredThe account that reads: a Lempile LinkedIn account id (
GET /accountslists them).linkedin_sectionsarray of stringSections to add:
*(all, in full),*_preview, or any ofabout,experience,education,skills,languages,certifications,volunteering_experience,projects,recommendations_received,recommendations_given,recruiting_activity, each also<name>_preview. Repeat the parameter or separate with commas.skills_previewkeeps the skills the profile shows; the other_previewvalues equal the full ones. Sections cost 1 to 6 more LinkedIn calls in all.linkedin_apistringAny value (
recruiter,sales_navigator) answers 501.
Responses
200OK
›
application/json
objectstringrequiredAlwaysUserProfileproviderstringrequiredAlwaysLINKEDINprovider_idstringrequiredThe member's provider id (
ACo…): what the writes take.public_identifierstring | nullrequiredfirst_namestring | nullrequiredlast_namestring | nullrequiredheadlinestringrequiredwebsitesarray of stringrequiredThe member's websites, as LinkedIn shows them to the account (its contact info).
is_premiumbooleanrequiredis_influencerbooleanrequiredis_creatorbooleanrequiredis_open_profilebooleanrequiredis_relationshipbooleanrequiredA first-degree connection of the account.
is_selfbooleanrequiredThe account itself.
public_profile_urlstringmember_urnstringThe member's number.
locationstringprimary_localeobject›Show fieldsHide fields
countrystringrequiredlanguagestringrequired
profile_picture_urlstringLinkedIn's link to the smallest picture (100 px; it expires about three weeks after it's read). The connected account's own profile (
is_self): the same permanent address asGET /users/meanswers (400 px).profile_picture_url_largestringLinkedIn's link to the largest picture (800 px), read fresh each time; it expires about three weeks after it's read, the account's own profile included.
background_picture_urlstringfollower_countintegerThe member's followers (the profile page's own count).
connections_countintegerThe member's connections, exact (LinkedIn's "500+" aside).
shared_connections_countintegerMutual connections with the account, when LinkedIn shows any.
connected_atintegerWhen the member became a connection of the account (ms), connections only.
is_verifiedbooleanLinkedIn's verification badge.
network_distancestringOne ofFIRST_DEGREESECOND_DEGREETHIRD_DEGREEOUT_OF_NETWORKinvitationobjectAn invitation between the account and this person:
SENTby the account, orRECEIVEDfrom them.›Show fieldsHide fields
typestringrequiredOne ofSENTRECEIVEDstatusstringrequiredIGNORED: a received invitation the account ignored.One ofPENDINGIGNOREDWITHDRAWN
contact_infoobjectWhat the member shares with the account (from its contact info, read with every profile, as Unipile).
›Show fieldsHide fields
emailsarray of stringphonesarray of stringadressesarray of stringUnipile's spelling.
socialsarray of object›Show fieldsHide fields
typestringrequirednamestringrequired
birthdateobject›Show fieldsHide fields
monthintegerrequireddayintegerrequired
summarystringThe About section (
about).work_experiencearray of WorkExperienceexperience: every position, grouped by company, newest first.›Show fieldsHide fields
idstringrequiredpositionstringrequiredcompanystringrequiredskillsarray of stringrequiredcurrentbooleanrequiredstartstring | nullrequiredmonth/day/year, the 1st of the month:2/1/2024.endstring | nullrequiredmonth/day/year, the 1st of the month:2/1/2024.company_idstringcompany_urlstringcompany_picture_urlstringlocationstringdescriptionstringstatusstringThe employment type, e.g.
Full-time.
work_experience_total_countintegereducationarray of Education›Show fieldsHide fields
schoolstringrequiredstartstring | nullrequiredmonth/day/year, the 1st of the month:2/1/2024.endstring | nullrequiredmonth/day/year, the 1st of the month:2/1/2024.idstring | nulldegreestring | nullfield_of_studystring | nullgradestring | nulldescriptionstring | nullactivitiesstring | nullschool_idstring | nullschool_urlstring | nullschool_picture_urlstring | null
education_total_countintegerlanguagesarray of object›Show fieldsHide fields
namestring | nullrequiredproficiencystring
languages_total_countintegerskillsarray of SkillIn full (
skills): every skill; in preview: the ones the profile shows.›Show fieldsHide fields
namestringrequiredendorsement_countintegerrequiredAlways 0 (not read).
endorsement_idnullrequiredinsightsarray of stringrequiredendorsedbooleanrequired
skills_total_countintegercertificationsarray of object›Show fieldsHide fields
namestringrequiredorganizationstringrequiredurlstring | null
certifications_total_countintegervolunteering_experiencearray of object›Show fieldsHide fields
companystringrequireddescriptionstringrequiredrolestringrequiredcausestringrequiredstartstring | nullrequiredmonth/day/year, the 1st of the month:2/1/2024.endstring | nullrequiredmonth/day/year, the 1st of the month:2/1/2024.
volunteering_experience_total_countintegerprojectsarray of object›Show fieldsHide fields
namestringrequireddescriptionstringrequiredskillsarray of stringrequiredstartstring | nullrequiredmonth/day/year, the 1st of the month:2/1/2024.endstring | nullrequiredmonth/day/year, the 1st of the month:2/1/2024.
projects_total_countintegerrecruiting_activityarray of objectAlways
[].recommendationsobjectrecommendations_receivedandrecommendations_given.›Show fieldsHide fields
receivedarray of Recommendation›Show fieldsHide fields
captionstringrequiredWhen and how they worked together, as LinkedIn shows it.
textstringrequiredactorobjectrequired›Show fieldsHide fields
first_namestringrequiredlast_namestringrequiredprovider_idstringrequiredheadlinestringrequiredpublic_identifierstringrequiredpublic_profile_urlstringrequiredprofile_picture_urlstring
received_total_countintegergivenarray of Recommendation›Show fieldsHide fields
captionstringrequiredWhen and how they worked together, as LinkedIn shows it.
textstringrequiredactorobjectrequired›Show fieldsHide fields
first_namestringrequiredlast_namestringrequiredprovider_idstringrequiredheadlinestringrequiredpublic_identifierstringrequiredpublic_profile_urlstringrequiredprofile_picture_urlstring
given_total_countinteger
400A required parameter missing (errors/missing_parameters), or one that isn't valid (errors/invalid_parameters, errors/invalid_url, errors/content_too_large).
›
errors/missing_parameters), or one that isn't valid (errors/invalid_parameters, errors/invalid_url, errors/content_too_large).application/json
titlestringrequiredA short title, e.g.
Too many requests.detailstringrequiredWhat happened, in plain words. Never an account's data.
typestringrequiredUnipile's error type:
errors/<kind>. Branch on this, not ondetail.statusintegerrequiredThe HTTP status again.
retry_afterintegerSeconds to wait before trying this account again. Only on 429; the
Retry-Afterheader carries the same value.
401errors/missing_credentials: the X-API-KEY header is missing, wrong or revoked. errors/disconnected_account: LinkedIn signed the account out (or asks it for a security check); reconnect it.
›
errors/missing_credentials: the X-API-KEY header is missing, wrong or revoked. errors/disconnected_account: LinkedIn signed the account out (or asks it for a security check); reconnect it.application/json
titlestringrequiredA short title, e.g.
Too many requests.detailstringrequiredWhat happened, in plain words. Never an account's data.
typestringrequiredUnipile's error type:
errors/<kind>. Branch on this, not ondetail.statusintegerrequiredThe HTTP status again.
retry_afterintegerSeconds to wait before trying this account again. Only on 429; the
Retry-Afterheader carries the same value.
404errors/resource_not_found: an unknown or removed account, an account of another workspace (answered exactly the same), or nothing on LinkedIn with this id.
›
errors/resource_not_found: an unknown or removed account, an account of another workspace (answered exactly the same), or nothing on LinkedIn with this id.application/json
titlestringrequiredA short title, e.g.
Too many requests.detailstringrequiredWhat happened, in plain words. Never an account's data.
typestringrequiredUnipile's error type:
errors/<kind>. Branch on this, not ondetail.statusintegerrequiredThe HTTP status again.
retry_afterintegerSeconds to wait before trying this account again. Only on 429; the
Retry-Afterheader carries the same value.
429errors/too_many_requests: LinkedIn asked the account to slow down (it rests 15 minutes), its daily calls or writes are used up, or it's busy with other calls. Wait retry_after seconds.
›
errors/too_many_requests: LinkedIn asked the account to slow down (it rests 15 minutes), its daily calls or writes are used up, or it's busy with other calls. Wait retry_after seconds.application/json
titlestringrequiredA short title, e.g.
Too many requests.detailstringrequiredWhat happened, in plain words. Never an account's data.
typestringrequiredUnipile's error type:
errors/<kind>. Branch on this, not ondetail.statusintegerrequiredThe HTTP status again.
retry_afterintegerSeconds to wait before trying this account again. Only on 429; the
Retry-Afterheader carries the same value.
500errors/provider_error: LinkedIn answered something Direct couldn't read (nothing was written). errors/unexpected_error: Direct failed.
›
errors/provider_error: LinkedIn answered something Direct couldn't read (nothing was written). errors/unexpected_error: Direct failed.application/json
titlestringrequiredA short title, e.g.
Too many requests.detailstringrequiredWhat happened, in plain words. Never an account's data.
typestringrequiredUnipile's error type:
errors/<kind>. Branch on this, not ondetail.statusintegerrequiredThe HTTP status again.
retry_afterintegerSeconds to wait before trying this account again. Only on 429; the
Retry-Afterheader carries the same value.
501errors/feature_not_implemented: Direct doesn't do this (yet). A Unipile client can fall back to Unipile.
›
errors/feature_not_implemented: Direct doesn't do this (yet). A Unipile client can fall back to Unipile.application/json
titlestringrequiredA short title, e.g.
Too many requests.detailstringrequiredWhat happened, in plain words. Never an account's data.
typestringrequiredUnipile's error type:
errors/<kind>. Branch on this, not ondetail.statusintegerrequiredThe HTTP status again.
retry_afterintegerSeconds to wait before trying this account again. Only on 429; the
Retry-Afterheader carries the same value.
503errors/network_down: the account's proxy or browser server didn't answer. Nothing was sent.
›
errors/network_down: the account's proxy or browser server didn't answer. Nothing was sent.application/json
titlestringrequiredA short title, e.g.
Too many requests.detailstringrequiredWhat happened, in plain words. Never an account's data.
typestringrequiredUnipile's error type:
errors/<kind>. Branch on this, not ondetail.statusintegerrequiredThe HTTP status again.
retry_afterintegerSeconds to wait before trying this account again. Only on 429; the
Retry-Afterheader carries the same value.
504errors/request_timeout: LinkedIn didn't answer in time. On a write: an unknown outcome (it may have been sent); it's never retried and its Idempotency-Key never writes again.
›
errors/request_timeout: LinkedIn didn't answer in time. On a write: an unknown outcome (it may have been sent); it's never retried and its Idempotency-Key never writes again.application/json
titlestringrequiredA short title, e.g.
Too many requests.detailstringrequiredWhat happened, in plain words. Never an account's data.
typestringrequiredUnipile's error type:
errors/<kind>. Branch on this, not ondetail.statusintegerrequiredThe HTTP status again.
retry_afterintegerSeconds to wait before trying this account again. Only on 429; the
Retry-Afterheader carries the same value.
Was this page helpful?