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.
- 47API endpoints
- <1.8sAvg response time
- 99.95%Uptime · last 90 days
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.
urlA full public /in/… profile URL
Get Profile by URL
GET
/api/v2/profiles/detailThe profile link arrives from a CRM field, a form, or a spreadsheet and has not been parsed yet.
public_identifierThe 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_idA 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 fieldsprofileId- 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 fieldsfullName- Person name when available.
firstName / lastName- Parsed name fields when available.
headline- Public professional headline.
location- Structured location object when available.
Professional history
3 fieldsindustry- 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 fieldsfollowerCount / 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 PlaygroundThe response envelope
successdatapaginationmeta
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
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
{ "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
- Use server-side integration code so X-API-Key never reaches the browser.
- Validate profile URLs before sending requests from forms or queues.
- Store only the fields your CRM, recruiting, or analytics workflow needs.
- Handle 400, 401, 404, 409, 422, 429, 502, and 503 response states.
- 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
- CRM contact
- profile URL
- EnvoAPI
- enriched JSON
Recruiting platform
- Candidate URL
- profile enrichment
- structured candidate record
Data warehouse
- Profile URLs
- server-side queue
- EnvoAPI
- warehouse rows
Internal tools
- Profile lookup
- JSON response
- 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 questionsIs 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 questionsCan 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 questionsCan 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 referenceStart 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