To enrich leads with LinkedIn data inside a CRM job, a form handler or an AI agent, start with Scavio's LinkedIn API. Send a public profile URL to POST /api/v1/linkedin/person and you get the member's name, location, follower count, school and current employer, with the employer's LinkedIn page id; pass that id to /api/v1/linkedin/company and you get headcount, size band, industry, website and headquarters. Each call is 1 credit, so a lead with its company is 2 credits, about $0.004 on the Growth plan billed yearly, and job search and post history sit behind the same key.
You need a third-party API for this because LinkedIn's own APIs do not look up other people. The open Sign In with LinkedIn permissions return only the member who signs in to your app, and the sales, marketing and talent APIs require partner approval. LinkedIn's User Agreement (section 8.2) also prohibits scraping or copying profiles, so every option below works against those terms to some degree. Read public data only, keep your own LinkedIn account out of it, and store only what you need.
We build Scavio, so read this with that bias in mind. Every Scavio number below comes from live calls we made on October 27, 2026. Every competitor detail was read off the vendor's own page or documentation that day, and where a detail was not published we say so. The screenshots are each vendor's own page, captured the same day.
Which LinkedIn enrichment API fits your job?
| Tool | Choose it for | Company data for the lead | Emails and phones | Price (checked Oct 27, 2026) |
|---|---|---|---|---|
| Scavio | Enriching a profile URL with its employer, hiring and posts on one key | Company page lookup: headcount, industry, website, HQ; job search by company | No | From $2 per 1,000 requests (Growth, yearly); 1 credit a profile or company; 50 free credits |
| Bright Data | Nightly batches over thousands of URLs | Separate company collector | No | $1.50 per 1,000 records; 5,000 free records a month |
| Apify HarvestAPI | Profiles with skills, plus an optional email search | Not in this actor | Email search at $10 per 1,000 | $4 per 1,000 profiles |
| People Data Labs | Database matches that include contact data | Separate Company API | Yes, on paid plans | Pro from $98/mo for 350 credits (about $0.28 a record); 100 free a month |
| Coresignal | Multi-source career history and job-change alerts | Company records at 20 credits | Email found for 10 credits | $49/mo for 2,500 credits; full employee record 20 credits |
What a lead's public profile really gives you
Lead enrichment starts from an ordinary member, not a public figure, so we tested ordinary members. We searched Google for public "VP of Sales" SaaS profiles, took the 37 unique profiles in the first 40 results, looked each one up with Scavio, and then looked up every employer the profiles linked to.
The person lookup told us who and where: 36 of 36 returned a name, location and follower count, 33 a school and 32 a current employer, 31 of them with the employer's LinkedIn page id. It did not tell us the job: none of the 36 returned a headline, a current job title or a work history, and the about text was a teaser of about 90 characters. Bill Gates' profile, checked the same day as a control, returned his headline and full work history, so a test on famous profiles overstates what an ordinary lead list returns. Google's result for each profile usually still shows the headline, which is where Scavio's own workaround below comes from.
The employer filled the gap. All 31 company lookups returned an employee count, a size band and an industry, 30 a website and headquarters, and 29 recent company posts. For lead scoring, that is the part that matters: a VP of Sales at HighRadius (4,656 employees on LinkedIn, Software Development, Houston) and one at eSource Solutions (3 employees, 2-10 band) are different leads, and the person lookup alone would not tell you which is which. Treat employee_count as members who list the company: INE reported 1,449 against a self-chosen 51-200 band.
1. Scavio: the lead, the company, hiring and posts on one key

Scavio's LinkedIn API is 9 live POST endpoints that take the profile, company, post or job URL you already have. Measured on October 27:
- Person: name, location, city and country code, follower count, about teaser, school, and
current_companywith the company's page id, for 1 credit. Public figures also return headline, experiences and education entries. - Company: HighRadius returned 4,656 employees, the 1,001-5,000 size band, Software Development, highradius.com, a Houston headquarters, 8 office addresses and its last 10 posts with like and comment counts, for 1 credit.
- Job search: searching "HighRadius" in the United States returned 17 open roles, all at HighRadius and posted October 6 to 24, including an Enterprise Account Manager and a Regional VP of mid-market sales: a hiring signal for 10 credits.
- Person posts: 17 posts from the HighRadius VP of Sales with reactions and reposts, and 11 of them carried his full headline in the author block, which the profile lookup did not return. The newest, from September 1, was recruiting an Enterprise Account Manager. 10 credits a page.
What Scavio does badly, from the same tests:
- No title from the profile for most members. As the chart shows, 0 of 36 ordinary profiles returned a headline or job history. Take the headline from the member's posts or from the Google result title for the profile, which carried a "Name - headline" title on 39 of the 40 results we pulled (10 of them cut short).
- Slow profile lookups. The person endpoint took a median 22 seconds and up to 73 seconds; company lookups took a median 4.9 seconds. 3 of 37 first attempts failed after about 80 seconds with "LinkedIn data is temporarily unavailable"; 2 succeeded on retry, and failed calls are not billed. Run enrichment in a queue, not while a user waits.
- No emails, phones or people search. Those endpoints are retired and answer an unbilled 410.
connection_countstops at 500 (all 36 profiles showed 500).
What it buys you is one key and one JSON format across LinkedIn and the rest of the lookup: Google for the headline, plus Scavio's other platforms, an MCP server for agents, and SDKs for Python and JavaScript.
2. Bright Data: bulk profile and company records

Bright Data's LinkedIn Scraper API has collectors for people profiles, companies, job listings (by job URL, keyword or company URL), posts and people search, so it can also build the list you then enrich. It costs $1.50 per 1,000 records pay-as-you-go, or $499 a month for 384,000 records with more at $1.30 per 1,000, and every account gets 5,000 free records a month with no card. Results arrive as JSON, NDJSON or CSV by webhook or straight into S3, Google Cloud Storage, Azure, Snowflake or SFTP. Its limits page recommends one input per synchronous request, and a synchronous request that cannot finish within a minute returns a snapshot id to poll instead of the data. Choose it when enrichment is a nightly batch over thousands of URLs and per-record price is what you optimize.
3. Apify HarvestAPI: profiles with skills and an email search

HarvestAPI's LinkedIn Profile Scraper on the Apify Store takes profile URLs, public identifiers or profile ids and lists experience, education and skills among its fields. It charges $4 per 1,000 profiles, or $10 per 1,000 with an email search, and skips the email charge when a profile is too sparse to search. Its page lists 87,155 total users, 14,746 monthly users and a 4.63 rating, and says no cookies or LinkedIn account are needed. Runs write to a dataset, and the actor is maintained by its author rather than by Apify, so pin the version you test and check its field coverage on your own list. Choose it when skills or a guessed work email matter more than company and hiring data.
4. People Data Labs: database matches with contact data

People Data Labs' Person Enrichment API matches a person against PDL's own dataset, and its profile input takes a social profile URL such as a LinkedIn link. The answer comes from that dataset rather than the live page: PDL ships it in monthly versions, and v34.2 was released on June 16, 2026. Pricing gives 100 free credits a month with emails, phones and addresses obfuscated; Pro starts at $98 a month for as few as 350 credits, about $0.28 a record at that entry tier, with volume discounts above it. Choose it when you need emails and phone numbers and can accept data as of the last build.
5. Coresignal: multi-source employee and company records

Coresignal's Employee Data API serves 915M+ employee profiles assembled from multiple public sources, with search by title, seniority, location and company, a collect endpoint that takes a profile URL or its shorthand name, and webhooks for job changes. Credits are spent per record: a full employee record is 20 credits, a core record 10, and a found email 10 more. Plans run from $49 a month for 2,500 credits to $199 for 12,000 and $1,000 for 150,000, so a full employee record costs about $0.33 on Starter and $0.13 on Growth. There is a 7-day trial with 2,000 credits. Choose it for career history at scale and alerts when a contact changes jobs.
Proxycurl, long the default answer for LinkedIn profile lookups, shut down on July 4, 2025 after LinkedIn sued it. Tools that run on your own LinkedIn session, such as browser extensions, are left out here because enrichment at volume puts that account at risk; see our broader LinkedIn scrapers comparison for those.
Pick by the number you need
If your leads arrive as profile URLs and you score them on who employs them, the work is turning each URL into a company you can size, and keeping that current as people move jobs. That is what Scavio's LinkedIn API handles. Enriching 2,000 inbound leads a month with the person and the employer is 4,000 credits, and adding a job search for the 200 best-fit accounts is 2,000 more: 6,000 credits, or $12 at the Growth-yearly rate of $2 per 1,000 credits, and it fits inside the $30 Project plan's 7,000 monthly credits. Companies repeat across leads, so caching company lookups by page id cuts that further. Try the LinkedIn API free, 50 credits, no card, or run a profile in the playground.
Reference: all 9 LinkedIn endpoints · person docs · company docs · how to enrich leads with LinkedIn data
Frequently asked questions
Is the LinkedIn API free?
Only a small part of it. Sign In with LinkedIn is open to any developer, but it returns the name, headline, photo and email of the member who signs in to your app, not anyone else. Marketing, sales and talent APIs need partner approval, and the Sales Navigator permission that returns matched public profiles requires SNAP partner status. Reading an arbitrary lead's public profile needs a third-party API such as Scavio's LinkedIn API.
Is it legal to scrape data from LinkedIn?
This is not legal advice. LinkedIn's User Agreement, section 8.2, prohibits software or bots that scrape or copy profiles and other data, so any scraper works against LinkedIn's terms. In hiQ v. LinkedIn, earlier rulings said scraping public pages likely is not unauthorized access under the CFAA, but hiQ was still found to have breached the User Agreement. Collecting only public, logged-out data keeps your own account out of it, and privacy laws such as GDPR apply to what you store.
What is the cheapest LinkedIn lead enrichment API?
Per record, Bright Data at $1.50 per 1,000 records pay-as-you-go. Scavio costs $2 per 1,000 profile calls on its Growth plan billed yearly and $4 per 1,000 leads with the employer's company page, and Apify's HarvestAPI profile scraper is $4 per 1,000 profiles. Database APIs that include emails cost more per record: about $0.28 at People Data Labs' entry Pro tier and $0.13 to $0.33 for a full Coresignal employee record.
Why does a LinkedIn profile API return no job title?
Because for most ordinary members it comes back empty. In our sample of 36 public VP of Sales profiles, none returned a headline, current job title or work history through Scavio, while the employer and location came back on most. Public figures do return it. The headline is usually still in Google's result title for the profile, and in the author block of the member's own posts.
Can a LinkedIn API return a lead's email address?
Not from LinkedIn's public pages, which do not show emails or phone numbers. Tools that return them add a separate lookup: People Data Labs and Coresignal from their own databases, and HarvestAPI's Apify actor through an email search that costs $10 per 1,000 profiles. Scavio returns the person and company data and leaves email finding to a dedicated provider.