LinkedIn Profile API

LinkedIn Profile API for public profile enrichment

Turn public LinkedIn profile URLs and usernames into structured JSON for CRM enrichment, recruiting workflows, sales intelligence, and internal data systems with EnvoAPI's profile endpoints, built for developers and data teams.

100 free credits · No credit card required

Not an official LinkedIn API. Built for responsible public professional data enrichment workflows.

What you work with

  • Profile URLs or usernames
  • Structured JSON
  • v2 response envelope
  • X-API-Key auth
  • Synthetic examples

Overview

LinkedIn Profile API endpoint overview

Submit a public profile URL or username, receive normalized profile fields, and map the response into your CRM, recruiting database, warehouse, or custom application without manual copy-paste or spreadsheet cleanup. Whichever route you take, the record and the envelope that carries it are the same.

  • url

    A full public /in/… profile URL

    Get Profile by URL

    GET/api/v2/profiles/detail

    The profile link arrives from a CRM field, a form, or a spreadsheet and has not been parsed yet.

  • public_identifier

    The username segment of the profile URL

    Get Profile by Username

    GET/api/v2/profiles/{public_identifier}

    You already parsed the identifier, or you are re-reading a profile you have resolved before.

  • profile_id

    A profileId stored from an earlier response

    Get Profile by Internal ID

    GET/api/v2/profiles/id/{profile_id}

    A scheduled job refreshes records your warehouse already keys on the returned profile identifier.

Commonly used for

  • CRM enrichment
  • Recruiting workflows
  • Sales intelligence
  • Lead enrichment
  • Data warehouse enrichment
  • Internal research tools

3 routes, one response contract. All three answer with the same top-level keys, so a field mapping built against one route survives switching to another.Browse the API reference

Inputs

Request input

Use a public LinkedIn profile URL or the username from that URL as the input, and EnvoAPI returns the available professional fields in a developer-friendly JSON response for downstream enrichment workflows at scale.

Accepted input

Public profile URL
https://www.linkedin.com/in/avery-chen-synthetic/
Public username
avery-chen-synthetic
Internal profile ID
synthetic-profile-001

Send one identifier per request. The profile URL and the username resolve to the same record, so parse the slug once and re-read the profile by username afterwards if that suits your pipeline.

Input parameters

urlstringRequired
Full public LinkedIn /in/… profile URL. Sent as a query parameter to GET /api/v2/profiles/detail.
public_identifierstringRequired
The username segment of a profile URL — avery-chen-synthetic from /in/avery-chen-synthetic/. Path parameter on GET /api/v2/profiles/{public_identifier}.
profile_idstringRequired
An internal profileId returned by an earlier response. Path parameter on GET /api/v2/profiles/id/{profile_id}.

Each parameter is required on its own route. Keep input validation in your integration layer, and keep your internal record IDs in your own system so you can map the response back.

Schema

Response fields

Each response can include identity, person, role, company, and location fields, depending on what is available from public professional sources for that profile and request. 14 documented fields, filed by the part of the record they belong to, ready to map into CRMs, recruiting tools, and data systems.

Identity

5 fields
profileId
Internal profile identifier returned by the API.
profileUrn
Profile URN when available from the normalized response.
memberId
Member identifier when returned by the profile endpoint.
memberUrn
Member URN when returned by the profile endpoint.
publicIdentifier
Public profile identifier resolved from the profile URL.

Person

4 fields
fullName
Person name when available.
firstName / lastName
Parsed name fields when available.
headline
Public professional headline.
location
Structured location object when available.

Professional history

3 fields
industry
Structured industry information when available.
skills
Public skills collection when returned.
positions / topPositions / currentPositions
Role and company history fields when available.

Reach and sections

2 fields
followerCount / connectionCount
Public count fields when returned by the endpoint.
educations / languages / profileCollections
Additional profile sections when available in the response.

Returned fields depend on public data availability. The current OpenAPI profile detail response does not include a confidence score field — use the resolved metadata and returned identifiers for match review in your own systems. Field depth and returned sections may vary by profile, endpoint behaviour, source availability, rate limits, and plan.

Example call

Example API request and JSON response.

Call the endpoint with your API key, send a public profile URL or username, and receive structured JSON ready for enrichment or internal tools in one workflow step. Run production calls from a server-side integration layer so the API key stays out of browser code.

Try it in the Playground

The response envelope

  • success
  • data
  • pagination
  • meta

The response is easy to parse, map, store, and sync across CRM, recruiting, analytics, and warehouse systems. Treat pagination as null on single-record responses.

Request

GET/api/v2/profiles/detailbash
curl -G "https://api.envoapi.com/api/v2/profiles/detail" \  -H "X-API-Key: $ENVO_API_KEY" \  --data-urlencode "url=https://www.linkedin.com/in/avery-chen-synthetic/"# Same record, resolved from the username instead of the URLcurl "https://api.envoapi.com/api/v2/profiles/avery-chen-synthetic" \  -H "X-API-Key: $ENVO_API_KEY"

Example JSON response

Synthetic profile response

Response200application/jsonjson
{  "success": true,  "data": {    "profileId": "synthetic-profile-001",    "profileUrn": "urn:li:fsd_profile:synthetic-profile-001",    "memberId": "synthetic-member-001",    "memberUrn": "urn:li:member:synthetic-member-001",    "fullName": "Avery Chen",    "firstName": "Avery",    "lastName": "Chen",    "headline": "Revenue operations leader at Northstar Systems",    "publicIdentifier": "avery-chen-synthetic",    "location": {      "fullLocation": "San Francisco Bay Area",      "country": "United States",      "countryCode": "US"    },    "followerCount": 1840,    "connectionCount": 500,    "industry": {      "name": "Software Development"    },    "skills": [      { "name": "Revenue operations" },      { "name": "Data operations" }    ],    "positions": [      {        "title": "Head of Sales",        "companyName": "Northstar Systems",        "location": "San Francisco, CA",        "startDate": {          "year": 2022,          "month": null,          "day": null        },        "endDate": null      }    ]  },  "pagination": null,  "meta": {    "operation": "get_v2_profile_by_url_query",    "input": {      "url": "https://www.linkedin.com/in/avery-chen-synthetic/"    },    "resolved": {      "publicIdentifier": "avery-chen-synthetic",      "profileId": "synthetic-profile-001"    },    "cache": {      "hit": false    },    "note": "Synthetic example for public documentation."  }}

Use cases

Common use cases

Use LinkedIn profile enrichment when your team needs cleaner professional records, better context, or structured data for automated business workflows across sales, recruiting, and operations.

  • CRM enrichment

    Enrich contact records with public professional fields such as name, headline, location, public identifier, role context, and profile metadata when available.

  • Recruiting workflows

    Structure public profile data for candidate research, sourcing workflows, talent databases, and recruiter dashboards.

  • Sales intelligence

    Use profile-level data to understand prospect roles, companies, seniority signals, and professional context before segmentation or routing.

  • Data warehouse enrichment

    Send profile URLs or usernames through a server-side pipeline and store normalized JSON responses in BigQuery, Snowflake, Airtable, or internal systems.

At volume

Bulk profile enrichment

Process multiple public profile URLs or usernames through API-based workflows when enriching lead lists, candidate databases, CRM exports, or internal datasets at scale, with consistent JSON output and status handling. Implement it as a server-side queue or pipeline that calls documented profile endpoints once per identifier, within plan, rate-limit, and responsible-use constraints — never expose EnvoAPI credentials in browser code or public demo payloads.

Implementation notes

  1. Use server-side integration code so X-API-Key never reaches the browser.
  2. Validate profile URLs before sending requests from forms or queues.
  3. Store only the fields your CRM, recruiting, or analytics workflow needs.
  4. Handle 400, 401, 404, 409, 422, 429, 502, and 503 response states.
  5. Use bounded retries only for transient upstream or rate-limit states.

Bulk workflows can support

  • CRM cleanup
  • Lead list enrichment
  • Recruiting database updates
  • Sales segmentation
  • Internal analytics
  • AI workflow preparation

Throughput depends on endpoint behaviour, rate limits, and plan availability.

Integrations

Integration patterns

Connect EnvoAPI to the tools your team already uses, then route enriched profile data into the systems where decisions and workflows happen. Four shapes teams ship most often, each a server-side path from the identifier you hold to the place the record lands.

  • CRM enrichment

    1. CRM contact
    2. profile URL
    3. EnvoAPI
    4. enriched JSON
  • Recruiting platform

    1. Candidate URL
    2. profile enrichment
    3. structured candidate record
  • Data warehouse

    1. Profile URLs
    2. server-side queue
    3. EnvoAPI
    4. warehouse rows
  • Internal tools

    1. Profile lookup
    2. JSON response
    3. dashboard or workflow

For broader enrichment workflows, pair this endpoint with EnvoAPI's Data Enrichment API and company enrichment endpoints.

Compliance

Responsible public data use

EnvoAPI is not an official LinkedIn API. The profile endpoints are designed to help teams structure available public professional information — not to access private profiles, restricted data, or sensitive personal information.

Responsible use guidelines

  • Use the endpoint for public professional data workflows.
  • Do not position the endpoint as private or restricted data access.
  • Understand that data availability may vary by profile.
  • Follow applicable privacy, communication, and platform regulations.
  • Include opt-out handling when enriched data is used for outreach.

Data availability

Data coverage, field depth, and returned sections may vary by profile, endpoint behaviour, source availability, rate limits, and plan. Treat unavailable fields as normal states in your integration rather than as failures.

For OAuth flows, authenticated LinkedIn users, Ads, campaign creation, conversion tracking, or Marketing API use cases, review official LinkedIn products and partner access requirements.

FAQ

FAQs about the LinkedIn Profile API

Quick answers about supported inputs, JSON responses, returned fields, bulk enrichment, responsible usage, and how EnvoAPI differs from an official LinkedIn API.

What the endpoint is

2 questions

Is EnvoAPI an official LinkedIn API?

No. EnvoAPI is not an official LinkedIn API. It provides endpoints for responsible public professional data enrichment workflows.

Does the endpoint return private LinkedIn data?

No. The endpoint should be positioned around public professional data enrichment, not private profile access, restricted data access, or sensitive personal information.

What goes in and comes back

4 questions

Can I get LinkedIn profile data as JSON?

Yes. You can submit a supported public profile identifier, such as a public LinkedIn profile URL or the username from that URL, and receive structured JSON fields depending on endpoint behavior and public data availability.

Can I use a username instead of a full profile URL?

Yes. Send a full public /in/… profile URL as the url query parameter on GET /api/v2/profiles/detail, or send the username segment of that URL as public_identifier on GET /api/v2/profiles/{public_identifier}. Both routes resolve to the same record and return the same response envelope.

What fields can the LinkedIn Profile API return?

The profile endpoint can return fields such as profileId, fullName, headline, publicIdentifier, location, followerCount, connectionCount, industry, skills, positions, education, languages, and profile section metadata when available.

What is a confidence score, and does the response include one?

A confidence score indicates how closely a returned record matches the submitted input. The current OpenAPI profile detail response does not expose a confidence score field — use the resolved metadata, returned identifiers, and available fields to review match quality in your own workflow.

Building on it

2 questions

Can I enrich LinkedIn profiles in bulk?

Yes, through API-based workflows. Implement bulk enrichment as a server-side queue or pipeline that calls documented profile endpoints once per URL or username, within plan, rate-limit, and responsible-use constraints.

Can I use this endpoint for CRM enrichment?

Yes. Common use cases include CRM enrichment, sales intelligence, recruiting workflows, data warehouse enrichment, and internal data systems.

8 questions filed. Endpoint-level parameters, response schemas, pagination, and error states are already written down.

Review the endpoint reference

Start enriching

Get started with EnvoAPI

Build on a profile endpoint that turns public professional identifiers into structured JSON your enrichment, recruiting, and internal systems can use with less manual work — for CRM enrichment, sales intelligence, recruiting workflows, and internal data operations.

100 free credits · No credit card required · 3 resolution routes