Current employer, numeric ids, and an opt-in email, fetched live.
You already have LinkedIn URLs. Point the enrichment API at one and it fetches the public page at request time, then returns three things a GTM or sales-intel team actually joins on.
Most enrichment providers serve you a stored record scraped weeks or months ago, so the employer can be stale the day you need it. This one reads the page fresh on every call.
Drop it into a Clay column or an enrichment waterfall and it behaves like any other HTTP step.
| What comes back | The field | Why it matters for enrichment |
|---|---|---|
| Current employer | currentCompany, experience | The live job, read at request time, not a snapshot. The full experience history rides along. |
| Numeric ids | companyLinkedInId, schoolLinkedInId, memberIdentifier | Stable numeric keys, so an enriched row reconciles against your database instead of matching on a messy name string. |
| Work email | workEmail, emailStatus | Opt-in with email=true. Comes with a status of verified, pattern-likely, or unknown so you can filter. |
Everything lives at one endpoint, GET /v1/linkedin. Pass type=profile with the profile url, and turn on the ids and email with query flags. It takes a linkedin.com/in URL, never a name or search query.
This is the exact JSON the curl above returned, trimmed for width. It came back in 1.9 seconds and cost 1 credit.
Read the ids from the row. companyLinkedInId is HubSpot's own numeric id, schoolLinkedInId is MIT's, and memberIdentifier is Dharmesh's permanent member id. Those are the values you join on.
The email came back verified with a confidence of 92, so it goes straight into the confirmed bucket.
The whole public record, structured the same way on every call, so your parser is written once and your reconciliation logic never changes.
Names are a bad join key and numbers are a good one. A person moves companies, a company rebrands, someone edits their vanity URL, and a string match quietly breaks.
The numeric ids do not move, so an enriched row lines up against the record you already hold. Turn them on with companyId=true and schoolId=true.
The email field is opt-in: add email=true to a profile call and the response appends workEmail, emailStatus, and emailConfidence.
The status is verified, pattern-likely, or unknown, so you can keep the confirmed addresses and treat the rest as guesses. Email is a field on the profile call, not a separate product.
Fields that only exist behind a login stay out, on purpose. A person's connection list, mutual connections, who viewed a profile, or anything else that never appears on the logged-out page is not in the response. That boundary is what lets the API run with no accounts and nothing of yours at risk.
Refreshing a list should not take one HTTP round trip per row. Send up to 100 LinkedIn URLs in one POST and get results back in the same order you sent them.
The rules are built for large runs: results come back in the same order you sent them, a failing row never fails the batch, and a malformed URL is a per-row error, not a charge.
Billing matches the single endpoint: one credit per successful row, not-accessible rows free. type defaults to refresh, the lean call that returns the current company and school with their numeric ids; set it to profile for the full record.
From zero to your first enriched profile in about two minutes:
Create a free account. You get 3,000 credits a month, no card needed.
Copy your key from the dashboard. It is issued the moment you sign up.
Run the curl above with any LinkedIn URL. The live record comes back as JSON.
Every successful enrichment is one credit, single call or batch row. A profile that is not accessible costs nothing. Here is what the packs cost:
| Profiles enriched | Credits | You pay |
|---|---|---|
| 3,000 every month | 3,000 | $0, free tier, no card |
| 25,000 profiles | 25,000 | $49 ($1.96 per 1,000) |
| 100,000 profiles | 100,000 | $149 ($1.49 per 1,000) |
| 500,000 profiles | 500,000 | $549 ($1.10 per 1,000) |
| 2.5 million profiles | 2,500,000 | $1,999 ($0.80 per 1,000) |
Packs continue up to 250 million credits for $100,000, which is $0.40 per 1,000. Prices ex-tax.
Credits are prepaid and never expire. The numeric ids and the email field are included flags, not add-on line items.
Related: LinkedIn API reference · LinkedIn Profile Scraper · Proxycurl alternative · Bright Data LinkedIn alternative
It takes a LinkedIn profile URL and returns the current record: name, headline, current employer, numeric company and school ids, follower count, and an opt-in work email. Every request is fetched live from the public page, not read from a cache. One credit per successful call.
Live. Each call fetches the public profile at request time, so the employer and title reflect the page as it reads today, not a snapshot from weeks ago. That is the difference from most enrichment providers, which return a stored record.
Yes. POST up to 100 LinkedIn URLs to /v1/linkedin/batch and results come back in the same order you sent them. The default type is refresh, which returns the current company and school with their numeric ids. Failing rows never fail the batch and not-accessible rows are free.
Because names are messy join keys and numbers are not. companyLinkedInId and schoolLinkedInId are LinkedIn's own numeric ids, and memberIdentifier is the person's permanent member id, so an enriched row reconciles against your database even after someone changes jobs or renames a vanity URL.
Add email=true to a profile call and the response appends workEmail, emailStatus, and emailConfidence. The status is verified, pattern-likely, or unknown, so you can keep the confirmed addresses and treat the rest as guesses. Email is a field on the profile call, not a separate product.
We read only the public, logged-out version of each page and use no fake accounts or logins. Logged-out, public-only collection has repeatedly defeated computer-fraud and contract claims, and what you get back is data that is public for anyone to see.
Start on the free 3,000 credits a month, no card needed. Send a URL, get the live employer, numeric ids, and an opt-in email, and a profile that is not accessible costs you nothing. No account of yours is ever part of the request.
Get 3,000 free credits