Skip to content
Docs

Retrieve a profile

GETdirect.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

  • identifierstringrequired

    The person: provider id (ACo…), public identifier, urn:li:fsd_profile:…, a profile URL (URL-encoded) or me.

Query parameters

  • account_idstringrequired

    The account that reads: a Lempile LinkedIn account id (GET /accounts lists them).

  • linkedin_sectionsarray of string

    Sections to add: * (all, in full), *_preview, or any of about, 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_preview keeps the skills the profile shows; the other _preview values equal the full ones. Sections cost 1 to 6 more LinkedIn calls in all.

  • linkedin_apistring

    Any value (recruiter, sales_navigator) answers 501.

Responses

200

OK

›

application/json

  • objectstringrequired
    AlwaysUserProfile
  • providerstringrequired
    AlwaysLINKEDIN
  • provider_idstringrequired

    The member's provider id (ACo…): what the writes take.

  • public_identifierstring | nullrequired
  • first_namestring | nullrequired
  • last_namestring | nullrequired
  • headlinestringrequired
  • websitesarray of stringrequired

    The member's websites, as LinkedIn shows them to the account (its contact info).

  • is_premiumbooleanrequired
  • is_influencerbooleanrequired
  • is_creatorbooleanrequired
  • is_open_profilebooleanrequired
  • is_relationshipbooleanrequired

    A first-degree connection of the account.

  • is_selfbooleanrequired

    The account itself.

  • public_profile_urlstring
  • member_urnstring

    The member's number.

  • locationstring
  • primary_localeobject
    ›Show fields
    • countrystringrequired
    • languagestringrequired
  • profile_picture_urlstring

    LinkedIn'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 as GET /users/me answers (400 px).

  • profile_picture_url_largestring

    LinkedIn'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_urlstring
  • follower_countinteger

    The member's followers (the profile page's own count).

  • connections_countinteger

    The member's connections, exact (LinkedIn's "500+" aside).

  • shared_connections_countinteger

    Mutual connections with the account, when LinkedIn shows any.

  • connected_atinteger

    When the member became a connection of the account (ms), connections only.

  • is_verifiedboolean

    LinkedIn's verification badge.

  • network_distancestring
    One ofFIRST_DEGREESECOND_DEGREETHIRD_DEGREEOUT_OF_NETWORK
  • invitationobject

    An invitation between the account and this person: SENT by the account, or RECEIVED from them.

    ›Show fields
    • typestringrequired
      One ofSENTRECEIVED
    • statusstringrequired

      IGNORED: a received invitation the account ignored.

      One ofPENDINGIGNOREDWITHDRAWN
  • contact_infoobject

    What the member shares with the account (from its contact info, read with every profile, as Unipile).

    ›Show fields
    • emailsarray of string
    • phonesarray of string
    • adressesarray of string

      Unipile's spelling.

    • socialsarray of object
      ›Show fields
      • typestringrequired
      • namestringrequired
  • birthdateobject
    ›Show fields
    • monthintegerrequired
    • dayintegerrequired
  • summarystring

    The About section (about).

  • work_experiencearray of WorkExperience

    experience: every position, grouped by company, newest first.

    ›Show fields
    • idstringrequired
    • positionstringrequired
    • companystringrequired
    • skillsarray of stringrequired
    • currentbooleanrequired
    • startstring | nullrequired

      month/day/year, the 1st of the month: 2/1/2024.

    • endstring | nullrequired

      month/day/year, the 1st of the month: 2/1/2024.

    • company_idstring
    • company_urlstring
    • company_picture_urlstring
    • locationstring
    • descriptionstring
    • statusstring

      The employment type, e.g. Full-time.

  • work_experience_total_countinteger
  • educationarray of Education
    ›Show fields
    • schoolstringrequired
    • startstring | nullrequired

      month/day/year, the 1st of the month: 2/1/2024.

    • endstring | nullrequired

      month/day/year, the 1st of the month: 2/1/2024.

    • idstring | null
    • degreestring | null
    • field_of_studystring | null
    • gradestring | null
    • descriptionstring | null
    • activitiesstring | null
    • school_idstring | null
    • school_urlstring | null
    • school_picture_urlstring | null
  • education_total_countinteger
  • languagesarray of object
    ›Show fields
    • namestring | nullrequired
    • proficiencystring
  • languages_total_countinteger
  • skillsarray of Skill

    In full (skills): every skill; in preview: the ones the profile shows.

    ›Show fields
    • namestringrequired
    • endorsement_countintegerrequired

      Always 0 (not read).

    • endorsement_idnullrequired
    • insightsarray of stringrequired
    • endorsedbooleanrequired
  • skills_total_countinteger
  • certificationsarray of object
    ›Show fields
    • namestringrequired
    • organizationstringrequired
    • urlstring | null
  • certifications_total_countinteger
  • volunteering_experiencearray of object
    ›Show fields
    • companystringrequired
    • descriptionstringrequired
    • rolestringrequired
    • causestringrequired
    • startstring | nullrequired

      month/day/year, the 1st of the month: 2/1/2024.

    • endstring | nullrequired

      month/day/year, the 1st of the month: 2/1/2024.

  • volunteering_experience_total_countinteger
  • projectsarray of object
    ›Show fields
    • namestringrequired
    • descriptionstringrequired
    • skillsarray of stringrequired
    • startstring | nullrequired

      month/day/year, the 1st of the month: 2/1/2024.

    • endstring | nullrequired

      month/day/year, the 1st of the month: 2/1/2024.

  • projects_total_countinteger
  • recruiting_activityarray of object

    Always [].

  • recommendationsobject

    recommendations_received and recommendations_given.

    ›Show fields
    • receivedarray of Recommendation
      ›Show fields
      • captionstringrequired

        When and how they worked together, as LinkedIn shows it.

      • textstringrequired
      • actorobjectrequired
        ›Show fields
        • first_namestringrequired
        • last_namestringrequired
        • provider_idstringrequired
        • headlinestringrequired
        • public_identifierstringrequired
        • public_profile_urlstringrequired
        • profile_picture_urlstring
    • received_total_countinteger
    • givenarray of Recommendation
      ›Show fields
      • captionstringrequired

        When and how they worked together, as LinkedIn shows it.

      • textstringrequired
      • actorobjectrequired
        ›Show fields
        • first_namestringrequired
        • last_namestringrequired
        • provider_idstringrequired
        • headlinestringrequired
        • public_identifierstringrequired
        • public_profile_urlstringrequired
        • profile_picture_urlstring
    • given_total_countinteger
400

A required parameter missing (errors/missing_parameters), or one that isn't valid (errors/invalid_parameters, errors/invalid_url, errors/content_too_large).

›

application/json

  • titlestringrequired

    A short title, e.g. Too many requests.

  • detailstringrequired

    What happened, in plain words. Never an account's data.

  • typestringrequired

    Unipile's error type: errors/<kind>. Branch on this, not on detail.

  • statusintegerrequired

    The HTTP status again.

  • retry_afterinteger

    Seconds to wait before trying this account again. Only on 429; the Retry-After header carries the same value.

401

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

  • titlestringrequired

    A short title, e.g. Too many requests.

  • detailstringrequired

    What happened, in plain words. Never an account's data.

  • typestringrequired

    Unipile's error type: errors/<kind>. Branch on this, not on detail.

  • statusintegerrequired

    The HTTP status again.

  • retry_afterinteger

    Seconds to wait before trying this account again. Only on 429; the Retry-After header carries the same value.

404

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

  • titlestringrequired

    A short title, e.g. Too many requests.

  • detailstringrequired

    What happened, in plain words. Never an account's data.

  • typestringrequired

    Unipile's error type: errors/<kind>. Branch on this, not on detail.

  • statusintegerrequired

    The HTTP status again.

  • retry_afterinteger

    Seconds to wait before trying this account again. Only on 429; the Retry-After header carries the same value.

429

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

  • titlestringrequired

    A short title, e.g. Too many requests.

  • detailstringrequired

    What happened, in plain words. Never an account's data.

  • typestringrequired

    Unipile's error type: errors/<kind>. Branch on this, not on detail.

  • statusintegerrequired

    The HTTP status again.

  • retry_afterinteger

    Seconds to wait before trying this account again. Only on 429; the Retry-After header carries the same value.

500

errors/provider_error: LinkedIn answered something Direct couldn't read (nothing was written). errors/unexpected_error: Direct failed.

›

application/json

  • titlestringrequired

    A short title, e.g. Too many requests.

  • detailstringrequired

    What happened, in plain words. Never an account's data.

  • typestringrequired

    Unipile's error type: errors/<kind>. Branch on this, not on detail.

  • statusintegerrequired

    The HTTP status again.

  • retry_afterinteger

    Seconds to wait before trying this account again. Only on 429; the Retry-After header carries the same value.

501

errors/feature_not_implemented: Direct doesn't do this (yet). A Unipile client can fall back to Unipile.

›

application/json

  • titlestringrequired

    A short title, e.g. Too many requests.

  • detailstringrequired

    What happened, in plain words. Never an account's data.

  • typestringrequired

    Unipile's error type: errors/<kind>. Branch on this, not on detail.

  • statusintegerrequired

    The HTTP status again.

  • retry_afterinteger

    Seconds to wait before trying this account again. Only on 429; the Retry-After header carries the same value.

503

errors/network_down: the account's proxy or browser server didn't answer. Nothing was sent.

›

application/json

  • titlestringrequired

    A short title, e.g. Too many requests.

  • detailstringrequired

    What happened, in plain words. Never an account's data.

  • typestringrequired

    Unipile's error type: errors/<kind>. Branch on this, not on detail.

  • statusintegerrequired

    The HTTP status again.

  • retry_afterinteger

    Seconds to wait before trying this account again. Only on 429; the Retry-After header carries the same value.

504

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

  • titlestringrequired

    A short title, e.g. Too many requests.

  • detailstringrequired

    What happened, in plain words. Never an account's data.

  • typestringrequired

    Unipile's error type: errors/<kind>. Branch on this, not on detail.

  • statusintegerrequired

    The HTTP status again.

  • retry_afterinteger

    Seconds to wait before trying this account again. Only on 429; the Retry-After header carries the same value.

Was this page helpful?