LinkedIn API No Login: Search, Profiles, Companies & Emails
Pricing
from $3.50 / 1,000 profiles
LinkedIn API No Login: Search, Profiles, Companies & Emails
LinkedIn API with no cookies and no login: search LinkedIn people and companies by keyword, job title and location (Sales Navigator alternative), scrape profiles, company data, jobs and posts, find verified work emails. Pay per result.
Pricing
from $3.50 / 1,000 profiles
Rating
0.0
(0)
Developer
PNDA
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
19 hours ago
Last modified
Categories
Share
LinkedIn API, No Login: Search Profiles & Companies, Scrape Data, Find Emails
A LinkedIn API with no cookies and no login. Search LinkedIn people and companies by keyword, job title and location, scrape full profiles, company data, jobs and posts from URLs, and get verified work emails. One actor, pay per result.
- 🔒 No cookies, no login, no LinkedIn account. Nothing touches your account, so it can never be restricted or banned.
- 🔎 LinkedIn search without Sales Navigator (
mode: "search"): find LinkedIn profiles like "CEO, marketing agency, Paris" or companies like "SaaS, London". A Sales Navigator alternative for lead generation, built on Google x-ray search of public LinkedIn pages. - 🏢➡️👤 Company → decision makers: find companies, then the CEO / head of sales / recruiter at each one, in the same run.
- 📧 Verified work email (
findEmail): name + company → professional email, checked live over SMTP. $9 / 1,000 emails found, charged only when verified. - 🧩 A LinkedIn API alternative: call it over HTTP from the Apify API, n8n, Make, Zapier, Clay or your own code. No LinkedIn developer app, no partner approval.
- 💸 Pay only for rows you receive. Invalid URLs, dead pages and empty searches are never charged.
- 💳 Paid Apify plans only. Runs from a free plan stop immediately with an upgrade message, at no cost.
- 📦 Export to JSON, CSV, Excel, HTML, XML or stream the dataset straight into your pipeline.
💡 Who is it for?
- Sales & SDR teams building lead lists from a LinkedIn search (title + industry + city) without Sales Navigator, then enriching them (job title, company, seniority) before outreach.
- Recruiters pulling full candidate profiles (experience, education) in bulk.
- RevOps / CRM owners refreshing job titles and employers every month.
- Market researchers & investors collecting LinkedIn company data (size, industry, HQ, followers, headcount on LinkedIn).
- Job-market analysts tracking open roles of target companies as hiring signals.
- Social & content teams measuring reactions and comments on posts.
- Data & AI teams feeding LinkedIn data into scoring models, RAG pipelines or agents.
⚙️ How it works
Two modes:
- Scrape URLs (
mode: "urls", default): pick a content type (Profile,Company,JoborPost), paste LinkedIn URLs, get one full row per URL. - Search LinkedIn (
mode: "search"): give keywords, a job title and a location, get LinkedIn profile or company URLs with name, position, company and location. Optionally scrape each result and find its verified email.
Scrape URLs
URLs that don't match the selected mode are skipped (and listed in the log) before anything happens. URLs that LinkedIn can't serve are saved in the key-value store record FAILED_URLS and are not charged.
| Mode | Accepted URLs | What you get |
|---|---|---|
| Profile | linkedin.com/in/<handle> | Name, headline, location, followers, connections, about, current company, full experience, education, awards, recent activity & posts, similar profiles |
| Company | linkedin.com/company/<slug> | Name, industry, company size, headquarters, website, followers, employees on LinkedIn, description, specialties, locations |
| Job | linkedin.com/jobs/view/<id> | Title, company, location, seniority, employment type, job function, industries, number of applicants, posted date, full description |
| Post | linkedin.com/posts/... or linkedin.com/feed/update/... | Author, post text (plain + HTML), date, likes, comments, top comments, hashtags, tagged people & companies, images, videos, documents |
Country subdomains (fr.linkedin.com, uk.linkedin.com...) and query strings are accepted.
📥 Input
| Field | Type | Required | Description |
|---|---|---|---|
type | string | ✅ | Profile (default), Company, Job or Post |
urls | array of strings | ✅ | LinkedIn URLs matching the selected type |
findEmail | boolean | Profile mode only, default false. Also finds the person's verified work email (see below) |
Example inputs
{"type": "Profile","urls": ["https://www.linkedin.com/in/satyanadella/","https://www.linkedin.com/in/jeffweiner08/"]}
Profiles with verified work email:
{"type": "Profile","findEmail": true,"urls": ["https://www.linkedin.com/in/satyanadella/"]}
{"type": "Company","urls": ["https://www.linkedin.com/company/microsoft/","https://www.linkedin.com/company/bereal/"]}
{ "type": "Job", "urls": ["https://www.linkedin.com/jobs/view/4440458716/"] }
{ "type": "Post", "urls": ["https://www.linkedin.com/posts/reidhoffman_give-people-a-reason-to-want-the-ai-future-activity-7508645307132600321-dOsB"] }
🔎 Search LinkedIn without cookies (mode: "search")
Find LinkedIn profiles and companies without a LinkedIn account, without cookies and without Sales Navigator. The actor runs a Google x-ray search of public LinkedIn pages (site:linkedin.com/in or site:linkedin.com/company) and parses every result.
| Field | Description |
|---|---|
searchType | people (profiles, default) or company |
keywords | Industry, skills, any words: marketing agency, saas, shopify |
role | Job title: CEO, head of sales, recruiter |
location | City, region or country: Paris, London, Texas |
maxResults | Max leads (default 20, min 5). Google pages hold ~10 results: multiples of 10 work best |
findPeopleAtCompanies | Company search: also find people with the role at each company found |
peoplePerCompany | 5 to 10 profiles per company (default 10) |
scrapeResults | Also scrape the full profile / company page of each lead (billed like URL mode) |
findEmail | Also find the verified work email of each person found |
country, language | Google country (us, fr, gb...) and language (en, fr...) |
Example: CEOs of agencies in Paris, with verified emails:
{ "mode": "search", "searchType": "people", "role": "CEO", "keywords": "agency", "location": "Paris", "maxResults": 50, "findEmail": true }
Example: marketing agencies in Lyon, then their CEO:
{ "mode": "search", "searchType": "company", "keywords": "marketing agency", "location": "Lyon", "maxResults": 20, "findPeopleAtCompanies": true, "role": "CEO" }
Output row (real result, trimmed):
{"resultType": "people","linkedinUrl": "https://www.linkedin.com/in/valeriebodocco","name": "Valérie Bodocco","position": "CEO","company": "L'Agence de Paris","location": null,"title": "Valérie Bodocco - CEO - L'Agence de Paris","snippet": "En immobilier, je dirige depuis 2010 le Groupe L'Agence...","query": "CEO agency Paris site:linkedin.com/in","rank": 1}
People found through findPeopleAtCompanies also carry sourceCompanyName, sourceCompanyUrl and companyMatch (true when the result mentions the company; false rows are looser Google matches such as former employees or namesakes, and come last).
Good to know: search covers what Google indexes of public LinkedIn pages (very broad, but not 100 % of LinkedIn), and name / position / company are parsed from the Google title and snippet. Turn on scrapeResults when you need the full, structured profile.
📤 Output examples (trimmed)
Profile
{"name": "Satya Nadella","first_name": "Satya","last_name": "Nadella","position": "Chairman and CEO at Microsoft","city": "Redmond, Washington, United States","country_code": "US","followers": 12183622,"connections": 500,"current_company": { "name": "Microsoft", "company_id": "microsoft", "title": "Chairman and CEO" },"about": "As chairman and CEO of Microsoft, I define my mission...","experience": [{ "title": "Chairman and CEO", "company": "Microsoft", "start_date": "..." }],"education": [{ "title": "The University of Chicago Booth School of Business" }],"url": "https://www.linkedin.com/in/satyanadella"}
With findEmail: true, each profile row gets these extra fields:
{"email": "jane.doe@acme.com","email_status": "found","email_confidence": "verified","email_pattern": "first.last","email_domain": "acme.com","email_domain_source": "guessed-from-company"}
Company
{"name": "Microsoft","industries": "Software Development","company_size": "10,001+ employees","headquarters": "Redmond, Washington","website": "https://news.microsoft.com/","followers": 29163922,"employees_in_linkedin": 231769,"url": "https://www.linkedin.com/company/microsoft"}
Job
{"job_title": "Data Engineer Expérimenté F/H","company_name": "EY","job_location": "Paris, Île-de-France, France","job_seniority_level": "Mid-Senior level","job_employment_type": "Full-time","job_function": "Information Technology","job_num_applicants": 98,"job_posted_date": "2026-09-23T08:00:26.424Z","job_summary": "Chez EY, nous sommes « All in » pour façonner votre avenir...","url": "https://www.linkedin.com/jobs/view/4440458716/"}
Post
{"user_id": "reidhoffman","date_posted": "2026-09-23T21:55:45.104Z","post_type": "post","num_likes": 492,"num_comments": 151,"post_text": "If people can't point to something in their lives that has become easier, more affordable...","url": "https://www.linkedin.com/posts/reidhoffman_give-people-a-reason-to-want-the-ai-future-activity-7508645307132600321-dOsB"}
Every row also contains the original input and a timestamp. Field names are stable, so you can map them once in your CRM or spreadsheet.
📧 Find verified work emails (findEmail)
Turn a list of LinkedIn profile URLs into a list of verified professional emails, in the same run.
- The actor takes the person's first and last name and current company from the profile.
- The company domain comes from the profile when it is there; otherwise it is deduced from the company name (only domains that actually receive email are kept).
- The usual corporate patterns (
first.last,first,flast,firstlast...) are tested one by one with a live SMTP check, stopping at the first verified address.
email_status | Meaning | Charged? |
|---|---|---|
found | Mailbox verified (email_confidence: "verified") | ✅ email-found |
catch-all | The domain accepts every address: email is the most likely pattern, unverified (email_confidence: "catch-all") | ❌ free |
not-found | No tested pattern exists | ❌ |
unknown | The mail server gave no clear answer | ❌ |
no-mx / no-company | No mail domain for the current company | ❌ |
The profile itself is always delivered and billed as a normal profile, whatever the email result.
💰 Pricing (pay per result)
Available on paid Apify plans only. You pay a fixed price per LinkedIn record actually returned. No start fee, no monthly rental, no charge for failed URLs.
| Event | What triggers it | Price |
|---|---|---|
profile | 1 profile returned | $3.50 / 1,000 |
company | 1 company page returned | $23.90 / 1,000 |
job | 1 job listing returned | $5.90 / 1,000 |
post | 1 post returned | $5.90 / 1,000 |
search-result | 1 LinkedIn profile or company found by a search (mode: "search") | $4.90 / 1,000 |
email-found | 1 verified work email found (findEmail) | $9.00 / 1,000 |
| Example run | Records | Approx. cost |
|---|---|---|
| Quick test | 10 profiles | ~$0.035 |
| Lead list | 1,000 profiles | ~$3.50 |
| Account list | 1,000 companies | ~$23.90 |
| Lead list + emails | 1,000 profiles, findEmail on, 400 verified emails | ~$3.50 + $3.60 = ~$7.10 |
| LinkedIn search | 1,000 people found by keyword + title + city | ~$4.90 |
| Search + emails | 1,000 people found, findEmail on, 350 verified emails | ~$4.90 + $3.15 = ~$8.05 |
Set Maximum cost per run in the run options to cap your spend: duplicate URLs are removed and the actor only scrapes as many URLs as your limit can pay for; the rest are skipped and listed in the log. With findEmail, each URL reserves the price of a profile and an email. In search mode, a Google page is only requested when your limit still covers at least 5 more results. Runs started from a free Apify plan stop immediately with an upgrade message, at no cost.
🔌 Use it as a LinkedIn API
Run it synchronously and get the rows in one HTTP call:
curl -X POST "https://api.apify.com/v2/acts/pnda~linkedin-scraper/run-sync-get-dataset-items?token=<APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"type":"Company","urls":["https://www.linkedin.com/company/microsoft/"]}'
Or use the Apify client for JavaScript/Python, the n8n / Make / Zapier integrations, webhooks, or Apify Schedules for recurring refreshes.
🚀 Why this actor
- ✅ Search + scrape + email in one actor: find LinkedIn profiles, scrape profiles, company data, jobs and posts, get verified emails. One integration instead of five.
- ✅ No cookies, no login: zero risk for your LinkedIn account.
- ✅ Bulk by URL: hundreds of URLs per run, one clean row per URL.
- ✅ Rich data: full career history, company headcount, applicants count, post engagement.
- ✅ Fair billing: invalid and dead URLs are never charged.
❓ FAQ
Do I need a LinkedIn account, cookies or a proxy? No.
How fresh is the data? Records are collected when you run the actor, typically within seconds to a few minutes per batch.
What if a URL fails? It is not charged. The error (e.g. dead_page) is stored in the key-value store record FAILED_URLS.
Does it return emails? Yes, for profiles, if you turn on findEmail. The email is built from the name and current company and verified over SMTP; you pay $9 / 1,000 only for verified emails. Catch-all guesses are returned for free, clearly flagged.
Can I use it on the free Apify plan? No. This Actor is available on paid Apify plans only (pricing).
Can I search LinkedIn by keyword without cookies? Yes: mode: "search" finds LinkedIn profiles and companies by keyword, job title and location through Google, with no LinkedIn login, no cookies and no Sales Navigator subscription. You pay $4.90 / 1,000 results found; empty searches are free.
Is it a Sales Navigator alternative? For prospect lists, yes: search by title + industry + city, get profile URLs, names, positions and companies, then verified emails. It does not send connection requests or messages.
Is it legal? It only collects publicly available data. You are responsible for using it in compliance with GDPR, CCPA and other laws in your jurisdiction. Do not use personal data without a legitimate purpose.
▶️ Start now
Search LinkedIn or paste your URLs, click Run, export your dataset. LinkedIn data and leads on tap: no cookies, no login.