~ / endpoints / Email & Lead API

LinkedIn Email Scraper API

Our LinkedIn email scraper reads the public contact fields of a profile or company and returns them as JSON: the external website, a phone number when listed, and an email when one is genuinely public. This LinkedIn email and lead scraper is honest by design, since a LinkedIn member's email is a private field that almost never appears logged-out.

Get a free API keyBrowse the endpoints
1,000
free requests / mo
2.6s
median response
JSON
structured output
1
flat charge per lookup

Why it is hard

A LinkedIn member's email lives behind the logged-in "Contact info" modal, which needs a first-degree connection, so it is essentially never in the public page. What is public is the external website (companies expose it in their Organization data), so this endpoint returns a website far more often than an email, and the response says so on every call.

Quickstart

cURL
curl "https://api.linkedinscraperapi.com/api/v1/linkedin/email?url=https://www.linkedin.com/company/microsoft/&api_key=$API_KEY"
Python
import requests

BASE = "https://api.linkedinscraperapi.com"
API_KEY = "YOUR_API_KEY"

# Pass a /company/ or /in/ URL (or username= for a person).
data = requests.get(
    f"{BASE}/api/v1/linkedin/email",
    params={
        "url": "https://www.linkedin.com/company/microsoft/",
        "api_key": API_KEY,
    },
    timeout=30,
).json()

# website is the field that actually populates; email is usually null.
print("website:", data["website"])
print("email:", data["email"], "| phone:", data["phone"])
print(data["note"])   # states the member-email wall on every response

Response

200 OK
{
  "url": "https://www.linkedin.com/company/microsoft/",
  "is_company": true,
  "email": null,
  "website": "https://news.microsoft.com/",
  "phone": null,
  "note": "LinkedIn member emails are private (behind the logged-in \"Contact info\" modal) and are essentially never present in the public/logged-out page; only an external website (and rarely a company phone) is publicly exposed."
}
FieldTypeDescription
urlstringThe canonical profile or company URL the lookup resolved to.
is_companybooleanTrue when the target is a /company/ page, false for a /in/ person profile.
emailstringA public email when one is exposed (a mailto: link or an email field in the page data). Usually null, since member emails are private.
websitestringThe external website, the first non-LinkedIn URL in the Organization or Person data. The field that most often populates.
phonestringA phone number when the page lists one (mostly companies), otherwise null.
notestringA plain-language statement of the member-email wall, returned on every response so the scope is never ambiguous.

Use it for

>

Company website enrichment

Resolve a list of company URLs into the external website, the field that reliably populates, to enrich accounts with their real homepage.
>

Lead qualification

Read is_company and website to confirm and route a lead, then reach out through the company's own site or listed contact channels.
>

Contact-channel discovery

Capture the website and any listed phone for a company so your team has a public, respectful way to make contact.
>

CRM website backfill

Fill missing company website fields in a CRM from LinkedIn company pages in one call each, without manual lookups.

Pricing

PlanPriceBest for
Free1,000 requestsTesting and small jobs
Pro$0.60 / 1kProduction workloads
Pay-as-you-go$0.90 / 1kSpiky or one-off volume

Median response 2.6s. You only pay for successful requests.

FAQ

Can I get a LinkedIn member's email from this API?

Almost never, and we say so on every response. A LinkedIn member's email sits behind the logged-in "Contact info" modal, which requires a first-degree connection, so it is essentially never present in the public logged-out page. This endpoint returns the contact fields that are actually public, chiefly the external website, and returns email as null when no public address exists. It does not bypass the private Contact-info modal.

What does the LinkedIn email and lead scraper actually return?

It returns url, is_company, email, website, phone, and a note. In practice website is the field that populates, since companies expose their homepage in their Organization data. email and phone come back only when a mailto: or a listed number is genuinely public, and null otherwise. The note states the member-email wall in plain language so the scope is always clear.

Why is website populated but email null?

Because they have different visibility. A company's external website is part of the public Organization data LinkedIn renders logged-out, so it comes through reliably. A member's email is a private field gated behind a login and a connection, so it is not in the public page. That is why this endpoint returns a website far more often than an email, and why it is honest about the difference rather than implying it can reveal private addresses.

Can I pass a person profile as well as a company?

Yes. Pass a /in/ profile URL or a bare username to look up a person, or a /company/ URL to look up a company. The endpoint detects which it is and returns is_company accordingly. For people, website comes from the profile's public links when present; the email remains private in almost all cases.

Is it legal to collect contact data this way?

This endpoint only reads contact fields that are already public, and it is explicit about how little of that is an email. Collecting publicly available business data is generally permitted, but sending is regulated: laws such as the US CAN-SPAM Act require a working opt-out, and the EU GDPR requires a documented lawful basis. Treat any address as a public business contact, message people about genuine business reasons, and honor every unsubscribe. This is general information, not legal advice.

Do I need a LinkedIn login or the official API?

No. You only need a linkedinscraperapi key, passed as the api_key query parameter. There is no LinkedIn login, no cookies, and no Partner Program approval. We read the public logged-out page. The free tier includes 1,000 requests per month.

Get email & lead api as JSON
Free plan, 1,000 requests. No credit card required.
Get a free API key All endpoints