Docs / Profile

get_profile_details

Read one person's profile in depth, live, with the sections you ask for.

This action only reads. It changes nothing, so it is safe to try.

What you give it

InputWhat it isWhere to get it
person
needed
A profile link or a member id or a Sales Navigator id or a Recruiter id. The person: a LinkedIn profile URL or member id.Open the person's profile on LinkedIn and copy the address from your browser. It looks like https://www.linkedin.com/in/their-name
Or run search_people and use people[].profileUrl from its answer.
53 more places to get it
sections
optional
A list (one of: *, about, experience, education, languages, skills, certifications, volunteering_experience, projects, recommendations_received, recommendations_given, recruiting_activity), up to 11. Which sections to include in full. Omit for the basic profile.You write it.
via
optional
One of: sales_navigator, recruiter. Read through this product instead of ordinary LinkedIn.You write it.
notify
optional
True or false. Whether the person is told you viewed their profile (default false).You write it.
connectionId
optional
A connection id. Which of your LinkedIn accounts to act from (its id from list_linkedin_accounts). Omit to use your first live one.Run list_linkedin_accounts and use accounts[].id from its answer.
15 more places to get it

Call it

curl -X POST https://api.heyreagent.com/v1/actions/get_profile_details \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "content-type: application/json" \
  -d '{"person":"PASTE_PROFILE_LINK_HERE"}'
The same call in JavaScript
const response = await fetch("https://api.heyreagent.com/v1/actions/get_profile_details", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_KEY",
    "content-type": "application/json",
  },
  body: JSON.stringify({
    "person": "PASTE_PROFILE_LINK_HERE"
  }),
});
const answer = await response.json();
console.log(answer);
The same call in Python
import requests

response = requests.post(
    "https://api.heyreagent.com/v1/actions/get_profile_details",
    headers={"Authorization": "Bearer YOUR_KEY"},
    json={
        "person": "PASTE_PROFILE_LINK_HERE",
    },
)
print(response.json())
The same call in n8n

Add an HTTP Request node and fill it in like this:

MethodPOST
URLhttps://api.heyreagent.com/v1/actions/get_profile_details
Send HeadersOn. Name Authorization, Value Bearer YOUR_KEY
Send BodyOn. Body Content Type JSON, Specify Body Using JSON, then paste the body below
{
  "person": "PASTE_PROFILE_LINK_HERE"
}

Put your own key where it says YOUR_KEY. Put your own value where it says PASTE_…_HERE: the table above says where each one comes from. New here? Start with your first call.

What you get back

When it worked, the answer is { "ok": true, "result": { … } }. Inside result:

providerIdA member id. Other actions take it.
publicIdentifierA public identifier. Other actions take it.
firstNamestring or null
lastNamestring or null
pronounstring
headlinestring
summarystring
contactInfo.emailsstring[]
contactInfo.phonesstring[]
contactInfo.adressesstring[]
birthdate.monthnumber
birthdate.daynumber
primaryLocale.countrystring
primaryLocale.languagestring
locationstring
websitesstring[]
creatorWebsite.urlstring
creatorWebsite.descriptionstring
profilePictureUrlstring
profilePictureUrlLargestring
backgroundPictureUrlstring
hashtagsstring[]
canSendInmailboolean
connectedAtnumber
isOpenProfileboolean
isPremiumboolean
isInfluencerboolean
isCreatorboolean
isHiringboolean
isOpenToWorkboolean
isSavedLeadboolean
isCrmImportedboolean
isRelationshipboolean
isSelfboolean
invitation.typeSENT | RECEIVED
invitation.statusPENDING | IGNORED | WITHDRAWN
workExperience[].idstring
workExperience[].positionstring
workExperience[].companyIdA company id. Other actions take it.
workExperience[].companyUrlstring
workExperience[].companyPictureUrlstring
workExperience[].industrystring[]
workExperience[].companystring
workExperience[].locationstring
workExperience[].descriptionstring
workExperience[].skillsstring[]
workExperience[].currentboolean
workExperience[].statusstring
workExperience[].startstring or null
workExperience[].endstring or null
workExperienceTotalCountnumber
volunteeringExperience[].companystring
volunteeringExperience[].descriptionstring
volunteeringExperience[].rolestring
volunteeringExperience[].causestring
volunteeringExperience[].startstring or null
volunteeringExperience[].endstring or null
volunteeringExperienceTotalCountnumber
education[].idstring
education[].degreestring
education[].gradestring
education[].descriptionstring
education[].activitiesstring
education[].schoolstring
education[].schoolIdstring
education[].schoolUrlstring
education[].schoolPictureUrlstring
education[].skillsstring[]
education[].fieldOfStudystring
education[].startstring or null
education[].endstring or null
educationTotalCountnumber
skills[].namestring
skills[].endorsementCountnumber
skills[].endorsementIdA skill endorsement id. Other actions take it.
skills[].insightsstring[]
skills[].endorsedboolean
skillsTotalCountnumber
languages[].namestring
languages[].proficiencystring
languagesTotalCountnumber
certifications[].namestring
certifications[].organizationstring
certifications[].urlstring
certificationsTotalCountnumber
projects[].namestring
projects[].descriptionstring
projects[].skillsstring[]
projects[].startstring or null
projects[].endstring or null
projectsTotalCountnumber
recommendations.receivedTotalCountnumber
recommendations.givenTotalCountnumber
tags[].idstring
tags[].namestring
notes[].projectIdstring
notes[].contentstring
notes[].createdAtnumber
candidateIdstring
recruitingActivity[].createdAtstring
recruitingActivity[].updatedAtstring
recruitingActivity[].eventUNHANDLED_EVENT
recruitingActivity[].contentstring
recruitingActivity[].statusPENDING | ACCEPTED | DECLINED | AWAITING_REPLY
recruitingActivity[].projectIdstring
recruitingActivity[].projectNamestring
recruitingActivity[].statestring
throttledSectionsexperience | education | languages | skills | certifications | volunteering_experience | projects | recommendations_received | recommendations_given[]
followerCountnumber
connectionsCountnumber
sharedConnectionsCountnumber
networkDistanceFIRST_DEGREE | SECOND_DEGREE | THIRD_DEGREE | OUT_OF_NETWORK
publicProfileUrlA profile link. Other actions take it.
lockedboolean
unlockCreditnumber

A field that does not apply to an answer is left out, or is null. There are 31 more fields nested inside these.

An example answer

A sample from the documentation of the API underneath, put in the shape this action returns it. Lists are cut to their first entry.

{
  "providerId": "ACoAAAEkwwAB9KEc2TrQgOLEQ-vzRyZeCDyc6DQ",
  "publicIdentifier": "satyanadella",
  "memberUrn": "19186432",
  "firstName": "Satya",
  "lastName": "Nadella",
  "headline": "Chairman and CEO at Microsoft",
  "primaryLocale": {
    "country": "US",
    "language": "en"
  },
  "isOpenProfile": true,
  "isPremium": true,
  "isInfluencer": true,
  "isCreator": true,
  "isRelationship": false,
  "networkDistance": "THIRD_DEGREE",
  "isSelf": false,
  "websites": [
    "https://snscratchpad.com/"
  ],
  "followerCount": 11888916,
  "connectionsCount": 831,
  "location": "Redmond, Washington, United States",
  "profilePictureUrl": "https://media.licdn.com/dms/image/v2/C5603AQHHUuOSlRVA1w/profile-displayphoto-shrink_100_100/profile-displayphoto-shrink_100_100/0/1579726625423?e=1775088000&v=beta&t=Ke9Wy1fa4eAgmuIdSmUPQg85GN-VoyFApO_SsW5cE5I",
  "profilePictureUrlLarge": "https://media.licdn.com/dms/image/v2/C5603AQHHUuOSlRVA1w/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1579726625483?e=1775088000&v=beta&t=H-7LfJ2hU-6Dg0eu-bVNKYcrKkcE_n4Wua1h7cb9mzc",
  "backgroundPictureUrl": "https://media.licdn.com/dms/image/v2/D5616AQFuhBYf-ocZug/profile-displaybackgroundimage-shrink_200_800/B56ZeD5uqRGQAY-/0/1750264638752?e=1775088000&v=beta&t=bcEcaplw3US6QTZgh-QUcEadmklqCGP55bAqrZ1uG-o",
  "educationTotalCount": 3,
  "education": [
    {
      "schoolId": "8398",
      "school": "The University of Chicago Booth School of Business",
      "schoolPictureUrl": "https://media.licdn.com/dms/image/v2/D560BAQFZO05jhYKSkw/company-logo_200_200/company-logo_200_200/0/1692627816910/universityofchicagoboothschoolofbusiness_logo?e=1775088000&v=beta&t=fhSQymVMLTTrUVveNXRwmHsRe3xkU2-rZEVQRSsSNSE",
      "start": "1/1/1994",
      "end": "1/1/1996"
    }
  ],
  "workExperienceTotalCount": 5,
  "workExperience": [
    {
      "companyId": "1035",
      "company": "Microsoft",
      "position": "Chairman and CEO",
      "location": "Greater Seattle Area",
      "companyPictureUrl": "https://media.licdn.com/dms/image/v2/D560BAQH32RJQCl3dDQ/company-logo_200_200/B56ZYQ0mrGGoAM-/0/1744038948046/microsoft_logo?e=1775088000&v=beta&t=IU8z-ovPIfLA6desCvsvN81PkiQ9dC8YJehCWbSpeaE",
      "skills": [],
      "start": "2/1/2014",
      "end": null
    }
  ],
  "skillsTotalCount": 0,
  "skills": [],
  "languagesTotalCount": 0,
  "languages": [],
  "certificationsTotalCount": 0,
  "certifications": [],
  "summary": "As chairman and CEO of Microsoft, I define my mission and that of my company as empowering every person and every organization on the planet to achieve more.",
  "volunteeringExperienceTotalCount": 0,
  "volunteeringExperience": [],
  "projectsTotalCount": 0,
  "projects": [],
  "recommendations": {
    "givenTotalCount": 1,
    "given": [
      {
        "caption": "May 3, 2010, Satya managed Ken directly",
        "text": "Ken is one of the solid engineering managers I have worked with.  Ken has the rare combination of skills/talent that one looks for in engineering leadership – attention to detail and also drive for innovation.  Ken also has a solid track record of recruiting and retaining good talent.  Overall it was a pleasure working with Ken and would love to have the opportunity to work together again.",
        "actor": {
          "firstName": "Ken",
          "lastName": "Moss",
          "providerId": "ACoAAACv_-sB5Ql4SvCZjwLgDeGUZjlW_V0nnKU",
          "publicIdentifier": "iamkenmoss",
          "headline": "Bringing the magic of software and AI to help as many people around the world as possible",
          "publicProfileUrl": "https://www.linkedin.com/in/iamkenmoss",
          "profilePictureUrl": "https://media.licdn.com/dms/image/v2/C5603AQFr7695HjAeXw/profile-displayphoto-shrink_100_100/profile-displayphoto-shrink_100_100/0/1633122939776?e=1775088000&v=beta&t=3zM7QQ6VBwQTRpajvyT5_a4i0L5yaP_eKvs5zc2EWes"
        }
      }
    ],
    "receivedTotalCount": 0,
    "received": []
  },
  "hashtags": []
}

When it did not work, the answer is { "ok": false, "error": "…", "message": "…" }. What each error means.

Good to know

In Claude or ChatGPT

Once connected, ask in your own words. The assistant sees this action as a tool with the same name, get_profile_details, and the same inputs.