Retrieve a profile
GEThttps://api.postpress.ai/v1/users/{identifier}
Retrieve the profile of a user. Implement carefully and respect provider limits and restrictions.
Authorization
X-API-KEYstringrequired
API key from your postpress dashboard. Sent as a request header.
Path parameters
identifierstringrequired
The provider's internal id or public id of the requested user (for LinkedIn, the `provider_id` or `public_identifier`).
Query parameters
linkedin_sectionsarray of stringsoptional
LinkedIn-only. Sections to retrieve in detail. Use `*_preview` for all sections in preview, `*` for all sections in full (heavy), or pick individual sections. You can combine selectors, for example `["*_preview", "experience", "skills"]`. If LinkedIn throttles a section, it appears in `throttled_sections` in the response.
linkedin_apistringoptional
LinkedIn-only. Use a non-classic LinkedIn API for the lookup. Requires the corresponding subscription on the linked account.
notifybooleanoptional
LinkedIn-only. Whether the profile visit should be notified to the viewee. Defaults to `false`.
account_idstringrequired
The linked account to perform the request from.
Response 200 OK
The response shape depends on the provider behind the linked account.
LinkedIn profileobjectLinkedIn profile object
objectstringUserProfilerequiredproviderstringLINKEDINrequiredprovider_idstringrequiredpublic_identifierstringrequiredpublic_profile_urlstringfirst_namestringrequiredlast_namestringrequiredpronounstringheadlinestringrequiredsummarystringlocationstringwebsitesarray of stringsrequiredprofile_picture_urlstringprofile_picture_url_largestringbackground_picture_urlstringhashtagsarray of stringscontact_infoobjectcontact_info object
emailsarray of stringsphonesarray of stringsadressesarray of stringssocialsarray of objectssocials object
typestringrequirednamestringrequiredbirthdateobjectbirthdate object
monthnumberrequireddaynumberrequiredprimary_localeobjectprimary_locale object
countrystringrequiredlanguagestringrequiredcreator_websiteobjectcreator_website object
urlstringrequireddescriptionstringrequiredcan_send_inmailbooleanconnected_atnumberis_open_profilebooleanis_premiumbooleanis_influencerbooleanis_creatorbooleanis_hiringbooleanis_open_to_workbooleanis_saved_leadbooleanis_crm_importedbooleanis_relationshipbooleanis_selfbooleaninvitationobjectinvitation object
typestringrequiredSENTRECEIVEDstatusstringrequiredPENDINGIGNOREDWITHDRAWNwork_experiencearray of objectswork_experience object
idstringpositionstringrequiredcompanystringrequiredcompany_idstringcompany_urlstringcompany_picture_urlstringindustryarray of stringslocationstringdescriptionstringskillsarray of stringsrequiredcurrentbooleanstatusstringstartstringrequiredendstringrequiredwork_experience_total_countnumbervolunteering_experiencearray of objectsvolunteering_experience object
companystringrequireddescriptionstringrequiredrolestringrequiredcausestringrequiredstartstringrequiredendstringrequiredvolunteering_experience_total_countnumbereducationarray of objectseducation object
idstringschoolstringrequiredschool_idstringschool_urlstringschool_picture_urlstringdegreestringgradestringfield_of_studystringdescriptionstringactivitiesstringskillsarray of stringsstartstringrequiredendstringrequirededucation_total_countnumberskillsarray of objectsskills object
namestringrequiredendorsement_countnumberrequiredendorsement_idnumberrequiredinsightsarray of stringsrequiredendorsedbooleanrequiredskills_total_countnumberlanguagesarray of objectslanguages object
namestringrequiredproficiencystringlanguages_total_countnumbercertificationsarray of objectscertifications object
namestringrequiredorganizationstringrequiredurlstringcertifications_total_countnumberprojectsarray of objectsprojects object
namestringrequireddescriptionstringrequiredskillsarray of stringsrequiredstartstringrequiredendstringrequiredprojects_total_countnumberrecommendationsobjectrecommendations object
receivedarray of objectsreceived object
textstringrequiredcaptionstringrequiredactorobjectrequiredactor object
first_namestringrequiredlast_namestringrequiredprovider_idstringrequiredheadlinestringrequiredpublic_identifierstringrequiredpublic_profile_urlstringrequiredprofile_picture_urlstringreceived_total_countnumbergivenarray of objectsgiven object
textstringrequiredcaptionstringrequiredactorobjectrequiredactor object
first_namestringrequiredlast_namestringrequiredprovider_idstringrequiredheadlinestringrequiredpublic_identifierstringrequiredpublic_profile_urlstringrequiredprofile_picture_urlstringgiven_total_countnumbertagsarray of objectstags object
idstringrequirednamestringrequirednotesarray of objectsnotes object
project_idstringrequiredcontentstringrequiredcreated_atnumberrequiredauthorobjectrequiredauthor object
idstringrequiredseat_idstringrequiredfirst_namestringrequiredlast_namestringrequiredpublic_profile_urlbooleanrequiredcandidate_idstringrecruiting_activityarray of objectsEach item is one of the activity variants below.
recruiting_activity array
MessageobjectMessage object
eventstringMESSAGErequiredcontentstringrequiredstatusstringrequiredPENDINGACCEPTEDDECLINEDAWAITING_REPLYcreated_atstringrequiredcreated_byobjectrequiredcreated_by object
provider_idstringrequiredfull_namestringrequiredpicture_urlstringupdated_atstringupdated_byobjectupdated_by object
provider_idstringrequiredfull_namestringrequiredpicture_urlstringNoteobjectNote object
eventstringrequiredNOTE_ADDEDNOTE_EDITEDNOTE_DELETEDcontentstringcreated_atstringrequiredcreated_byobjectrequiredcreated_by object
provider_idstringrequiredfull_namestringrequiredpicture_urlstringupdated_atstringupdated_byobjectupdated_by object
provider_idstringrequiredfull_namestringrequiredpicture_urlstringLinkobjectLink object
eventstringrequiredLINK_ADDEDLINK_DELETEDcontentstringrequiredcreated_atstringrequiredcreated_byobjectrequiredcreated_by object
provider_idstringrequiredfull_namestringrequiredpicture_urlstringupdated_atstringupdated_byobjectupdated_by object
provider_idstringrequiredfull_namestringrequiredpicture_urlstringCandidate statusobjectCandidate status object
eventstringrequiredCANDIDATE_ADDEDCANDIDATE_MOVEDproject_idstringrequiredproject_namestringrequiredstatestringrequiredcreated_atstringrequiredcreated_byobjectrequiredcreated_by object
provider_idstringrequiredfull_namestringrequiredpicture_urlstringupdated_atstringupdated_byobjectupdated_by object
provider_idstringrequiredfull_namestringrequiredpicture_urlstringProfile viewobjectProfile view object
eventstringPROFILE_VIEWrequiredcreated_atstringrequiredcreated_byobjectrequiredcreated_by object
provider_idstringrequiredfull_namestringrequiredpicture_urlstringupdated_atstringupdated_byobjectupdated_by object
provider_idstringrequiredfull_namestringrequiredpicture_urlstringUnhandled eventobjectUnhandled event object
eventstringUNHANDLED_EVENTrequiredcreated_atstringrequiredcreated_byobjectrequiredcreated_by object
provider_idstringrequiredfull_namestringrequiredpicture_urlstringthrottled_sectionsarray of stringsexperienceeducationlanguagesskillscertificationsvolunteering_experienceprojectsrecommendations_receivedrecommendations_givenSections that returned empty because LinkedIn throttled the request.
follower_countnumberconnections_countnumbershared_connections_countnumbernetwork_distancestringFIRST_DEGREESECOND_DEGREETHIRD_DEGREEOUT_OF_NETWORKWhatsApp profileobjectWhatsApp profile object
objectstringUserProfilerequiredproviderstringWHATSAPPrequiredidstringrequiredis_businessbooleanInstagram profileobjectInstagram profile object
objectstringUserProfilerequiredproviderstringINSTAGRAMrequiredprovider_idstringrequiredprovider_messaging_idstringpublic_identifierstringrequiredfull_namestringrequiredbiographystringcategorystringprofile_picture_urlstringprofile_picture_url_largestringfollowers_countnumberrequiredmutual_followers_countnumberrequiredfollowing_countnumberrequiredposts_countnumberrequiredprofile_typestringrequiredPERSONNALBUSINESSPROFESSIONNALis_verifiedbooleanrequiredis_privatebooleanrequiredexternal_linksarray of stringsrequiredrelationship_statusobjectrequiredrelationship_status object
followingbooleanrequiredfollowed_bybooleanrequiredhas_sent_invitationbooleanrequiredhas_received_invitationbooleanrequiredbusinessobjectbusiness object
categorystringrequiredaddress_streetstringrequiredaddress_citystringrequiredaddress_zipcodestringrequiredphone_numberstringrequiredemailstringrequiredTelegram profileobjectTelegram profile object
objectstringUserProfilerequiredproviderstringTELEGRAMrequiredprovider_idstringrequiredprofile_picture_urlstringrequiredselfbooleancontactbooleanmutual_contactbooleandeletedbooleanbotbooleanverifiedbooleanrestrictedbooleanfakebooleanpremiumbooleanclose_friendbooleanfirst_namestringlast_namestringusernamestringphonestringlang_codestringstatusobjectstatus object
namestringrequiredexpiresnumberwas_onlinenumberrestriction_reasonarray of objectsrestriction_reason object
platformstringrequiredreasonstringrequiredtextstringrequiredTwitter profileobjectTwitter profile object
objectstringUserProfilerequiredproviderstringTWITTERrequiredidstringrequirednamestringrequiredscreen_namestringrequiredlocationstringrequireddescriptionstringrequiredurlstringrequiredentitiesobjectrequiredentities object
descriptionobjectrequireddescription object
urlsarrayrequiredprotectedbooleanrequiredverifiedbooleanrequiredfollowers_countnumberrequiredfriends_countnumberrequiredlisted_countnumberrequiredfavourites_countnumberrequiredstatuses_countnumberrequiredcreated_atstringrequiredprofile_banner_urlstringprofile_image_url_httpsstringrequireddefault_profilebooleanrequireddefault_profile_imagebooleanrequiredwithheld_in_countriesarray of stringsrequiredfollowed_bybooleanfollowingbooleanfollow_request_sentbooleanhas_extended_profilebooleannotificationsbooleanadvertiser_account_typestringbusiness_profile_statestringrequire_some_consentbooleanExample request
curl --request GET \
--url 'https://api.postpress.ai/api/v1/users/jordan-walke?account_id=acc_linkedin_01HXYZ4QK3WJ8FN3M6QH7TZ8GR' \
--header 'X-API-KEY: pp_live_...' \
--header 'accept: application/json'Example response
{
"object": "UserProfile",
"provider": "LINKEDIN",
"provider_id": "ACoAACr-1eYBl...",
"public_identifier": "jordan-walke",
"public_profile_url": "https://www.linkedin.com/in/jordan-walke",
"first_name": "Jordan",
"last_name": "Walke",
"headline": "Engineer at Acme",
"summary": "Building things for the web.",
"location": "San Francisco, California, United States",
"websites": ["https://jordan.dev"],
"profile_picture_url": "https://media.licdn.com/.../profile.jpg",
"profile_picture_url_large": "https://media.licdn.com/.../profile-large.jpg",
"background_picture_url": "https://media.licdn.com/.../background.jpg",
"follower_count": 12450,
"connections_count": 980,
"shared_connections_count": 23,
"network_distance": "SECOND_DEGREE",
"is_premium": true,
"is_open_to_work": false,
"is_self": false,
"work_experience": [
{
"position": "Staff Engineer",
"company": "Acme",
"company_id": "1234567",
"company_url": "https://www.linkedin.com/company/acme",
"industry": ["Software"],
"location": "Remote",
"description": "Leading platform team.",
"skills": ["React", "Node.js"],
"current": true,
"start": "2022-04",
"end": null
}
],
"work_experience_total_count": 5,
"education": [
{
"school": "MIT",
"degree": "B.S.",
"field_of_study": "Computer Science",
"start": "2010",
"end": "2014"
}
],
"education_total_count": 1,
"skills_total_count": 32,
"languages": [{ "name": "English", "proficiency": "NATIVE_OR_BILINGUAL" }],
"languages_total_count": 1,
"throttled_sections": []
}Errors
Every error response follows the same envelope:
titlestringrequired
Short error title.
detailstringoptional
Human-readable explanation.
instancestringoptional
Request identifier for support.
typestringrequired
Error type identifier.
statusnumberrequired
HTTP status code.
401 Unauthorized13 types
Credentials are missing, expired, or otherwise invalid.
errors/missing_credentials- Some credentials are necessary to perform the request.errors/multiple_sessions- LinkedIn limits multiple sessions on certain Recruiter accounts. Use the cookie connection method.errors/invalid_checkpoint_solution- The checkpoint resolution did not pass successfully. Retry.errors/invalid_proxy_credentials- The provided proxy credentials are invalid.errors/checkpoint_error- The checkpoint does not appear to be resolvable.errors/invalid_credentials- The provided credentials are invalid.errors/expired_credentials- Credentials have expired. Reconnect the account.errors/insufficient_privileges- This resource is out of your API-key scopes.errors/disconnected_account- The account is disconnected from the provider service.errors/disconnected_feature- The service you're trying to reach is disconnected.errors/invalid_credentials_but_valid_account_imap- IMAP/SMTP credentials are invalid but the account is otherwise valid.errors/expired_link- This link has expired. Generate a new one.errors/wrong_account- The provided credentials do not match the correct account.
403 Forbidden9 types
Authenticated but the account is restricted or the action is not allowed.
errors/account_restricted- The account has been restricted by the provider.errors/account_mismatch- This action cannot be done with your account.errors/insufficient_permissions- Valid authentication but insufficient permissions to perform the request.errors/session_mismatch- Token user id does not match client session id.errors/feature_not_subscribed- The requested feature has not been subscribed or authenticated properly.errors/subscription_required- A subscription is required to use this feature.errors/unknown_authentication_context- An additional step seems necessary to complete login.errors/action_required- An additional step is required.errors/resource_access_restricted- You don't have access to this resource.
404 Not Found2 types
The user could not be found.
errors/resource_not_found- The requested user was not found.errors/invalid_resource_identifier- The provided identifier is not valid.
422 Unprocessable Entity5 types
The request is well-formed but cannot be fulfilled as-is.
errors/invalid_account- The provided account is not designed for this feature.errors/user_unreachable- The target user cannot be reached on the provider.errors/unprocessable_entity- The request cannot be processed in its current form.errors/account_configuration_error- The account configuration prevents this request.errors/provider_unreachable- The provider is currently unreachable.
429 Too Many Requests1 types
The provider is rate-limiting this account. Slow down and retry.
errors/too_many_requests- The provider cannot accept any more requests at the moment.
500 Internal Server Error3 types
Something went wrong on our side or with the upstream provider.
errors/unexpected_error- Something went wrong.errors/provider_error- The provider is experiencing operational problems. Retry later.errors/authentication_intent_error- The current authentication intent was killed after failure.
501 Not Implemented1 types
The requested feature is planned but not yet available.
errors/feature_not_implemented- This feature has not been implemented yet.
503 Service Unavailable5 types
postpress is temporarily unable to handle the request.
errors/no_client_session- No client session is currently running.errors/no_channel- No channel to client session.errors/no_handler- Handler missing for that request.errors/network_down- Network is down on the server side. Retry shortly.errors/service_unavailable- Service temporarily unavailable. Retry later.
504 Gateway Timeout1 types
The upstream provider did not respond in time.
errors/request_timeout- Request timed out. Retry, and contact support if it persists.
Updated May 2026