LinkedIn email finder API

Search public profiles, get verified work emails back. Never a guess.

Verified emails only Free to try, no card Empty queries cost nothing
HOW IT WORKS

How does it work?

One GET request. No LinkedIn account, no cookies, no browser plugin. CrustAPI reads the public pages a signed-out visitor sees, then finds and checks a work email for the people it returns. People search is in beta.

1. Search people (beta)

Call /v1/linkedin?type=search with keywords, like a job title plus an industry. It reads public, logged-out LinkedIn data, so no account of yours is at risk.

2. We find and check the email

For each person, we look for a work address and test that it can actually receive mail. Addresses that fail the check are dropped, and the field returns null.

3. Clean JSON out

Each row carries name, headline, title, company, location, profile URL, and the verified email when one exists. It drops straight into Sheets, Clay, or a CRM.

4. Billed only on results

You are charged when a query returns results. A query that returns nothing is free, and unused paid funds never expire.

REQUEST AND RESPONSE

What data do you get?

Here is the request and the same sample rows shown two ways, CSV first and JSON below. The people are masked to protect real humans: first name plus last initial, starred profile URLs and domains. The shape is what the API returns.

# search people; a query with no results costs nothing curl "https://crustapi.com/v1/linkedin?type=search&keywords=head of marketing saas&limit=10" \ -H "x-api-key: YOUR_KEY"
# CSV view, same rows name,headline,currentTitle,currentCompany,location,profileUrl,email,emailStatus Priya S.,Head of Marketing | B2B SaaS,Head of Marketing,N******* Labs,"Austin, Texas, United States",https://www.linkedin.com/in/p******s,p.s****@n*******labs.com,verified Daniel R.,"VP Marketing, SaaS startup",VP Marketing,,"Toronto, Ontario, Canada",https://www.linkedin.com/in/d******r,,
// JSON view, trimmed to the first rows: { "type": "linkedin-search", "query": "head of marketing saas", "people": [ { "name": "Priya S.", "headline": "Head of Marketing | B2B SaaS", "currentTitle": "Head of Marketing", "currentCompany": "N******* Labs", "location": "Austin, Texas, United States", "profileUrl": "https://www.linkedin.com/in/p******s", "email": "p.s****@n*******labs.com", "emailStatus": "verified" }, { "name": "Daniel R.", "headline": "VP Marketing, SaaS startup", "currentTitle": "VP Marketing", "currentCompany": null, "location": "Toronto, Ontario, Canada", "profileUrl": "https://www.linkedin.com/in/d******r", "email": null, "emailStatus": null } // more rows follow ] }

The second row is the catch. No address passed verification for that person, so email is null and the profile data still comes back. Parameter reference lives at /docs#linkedin.

THREE STEPS

How do you get started?

No code needed. From zero to verified addresses in about two minutes:

  1. 1

    Create a free account. Try it free, no card needed.

  2. 2

    Type a search in the playground. Something like head of marketing saas. People land in a table.

  3. 3

    Export the CSV, or copy your key and run the curl above. Same data, JSON or rows.

Run your first search free
Try it free. No card, no contract.
Try for free
COVERAGE AND GAPS

Why are some emails null?

Not every profile produces an email. Some companies block verification checks, some people have no work address we can find, and some domains accept everything, which makes a real check impossible. When that happens we return null instead of a guess.

This is by design. A bounced email hurts your sender reputation, and enough bounces can get your domain flagged. Every address this finder returns has passed a live check first.

BEFORE YOU HIT SEND

The CAN-SPAM part

In the United States, the CAN-SPAM Act allows cold business email without prior permission, as long as you follow its rules:

Outside the US the bar is higher. Canada's CASL and Europe's GDPR and ePrivacy rules usually require consent or a documented legal basis. This is a plain summary, not legal advice. Check the rules where your recipients live.

PRICING

How much does it cost?

Every account gets Free to try, no card. Work email lookup is included in a successful profile request. Email availability varies. Current endpoint prices are below:

DepositGoogle Search / 1,000 requestsMaps / 1,000 businessesLinkedIn reads / 1,000 requestsPeople, Jobs, Refresh / 1,000 units
$10+$1.00$1.96$6.00$1.96
$149+$0.76$1.49$4.50$1.49
$549+$0.56$1.10$3.30$1.10
$1,999+$0.41$0.80$2.45$0.80
$6,500+$0.33$0.65$1.95$0.65
$27,500+$0.28$0.55$1.65$0.55
$50,000+$0.26$0.50$1.50$0.50
$100,000+$0.20$0.40$1.50$0.40

Every eligible account gets $6 of free usage monthly. Each deposit keeps its prices until spent; paid funds never expire. People and Jobs bill per successful search, Refresh per accessible profile. Full profiles in People use the read rate per full profile. See all billing details.

Larger deposits unlock lower endpoint prices. Each deposit keeps its prices until spent. See the full deposit table on the pricing page. Prices in USD, ex-tax.

Packs are prepaid and self-serve, and paid funds never expire. A pack you buy for one campaign waits for the next one.

WHO IT'S FOR

Who uses this finder?

The same key runs the rest of the LinkedIn set: people search (beta) · full profiles · companies, plus 12 live Google search types like Maps business data. Wondering how logged-out LinkedIn data works? Read how we scrape LinkedIn without a login. Migrating from a retired provider? See the Proxycurl comparison.

FAIR PLAY

When another tool is the better pick: if you want a full prospecting app with a browser extension, a built-in contact database, and a sequencer to send from, Apollo and Hunter are built for exactly that. CrustAPI is the API layer: you bring the workflow, we return the data, and you keep every row.

CrustAPI is a one-person company. If a response ever looks wrong, email support@crustapi.com and Dawson, the person who built it, will answer.

BEFORE YOU ASK

Common questions

No, and any tool that says otherwise is guessing. We return an address only after it passes a live verification check. Rows where no address verifies still return the profile data, with null in the email field. Coverage varies by company and industry, so run a real search on the free tier and see what your market returns.

Before an address is returned, we test that it can actually receive mail. If the check fails, or the domain accepts everything so a real check is impossible, the email field comes back null. You are never handed a guessed address labeled as real.

In the US, the CAN-SPAM Act allows cold business email if you use truthful from and subject lines, include your postal address, offer a working opt-out, and honor it within 10 business days. Canada and Europe are stricter and usually require consent or a documented legal basis. This is a summary, and it is not legal advice.

No. Maps records carry business name, address, phone, website, rating, review count, categories, and hours. There is no email field on Maps. Verified emails come from the LinkedIn people endpoints only.

Maps costs $1.96 per 1,000 businesses at standard prices, down to $0.40 for the largest deposit. Empty and failed searches are free. Every eligible account gets $6 of free usage monthly. Paid funds never expire.

Yes. The playground at /app runs searches from your browser with no code. The API also plugs into Clay, n8n, LangChain, CrewAI, and MCP clients like Claude, so it fits whatever workflow you already run.

WORKS WITH YOUR STACK

Point it at your real market

Search the titles you actually sell to. The free tier covers a real test, and the JSON decides, this page does not.

Try for free
No credit card required