LinkedIn B2B Lead Scraper (no login) avatar

LinkedIn B2B Lead Scraper (no login)

Pricing

from $1.40 / 1,000 results

Go to Apify Store
LinkedIn B2B Lead Scraper (no login)

LinkedIn B2B Lead Scraper (no login)

Finds companies hiring for your keywords on LinkedIn and enriches each one with public firmographics — industry, headcount, HQ, website, founded year. Uses only LinkedIn's public guest surfaces; no login, no cookies, no people-profile scraping.

Pricing

from $1.40 / 1,000 results

Rating

0.0

(0)

Developer

Ibnu Adzim

Ibnu Adzim

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Finds companies that are hiring for the roles you care about, then enriches each one with public firmographics — industry, headcount, HQ, website, founded year, company type. A job opening is a buying signal; this actor turns that signal into a lead list.

Uses only LinkedIn's public guest surfaces. No login, no cookies, no session transplant, no CAPTCHA solving, no browser. Pure HTTP.

What you get

leads mode (default) — one row per employer:

FieldExample
companyName / companySlug / companyUrlKerry Consulting
openJobCount3
openJobs[]every matching posting: title, location, posted date, URL
company.industryStaffing and Recruiting
company.employeeCountRange / employeeCountExact51-200 employees / 148
company.headquartersSingapore
company.websitehttps://www.kerryconsulting.com
company.companyTypePrivately Held
company.foundedOn, company.specialties, full postal address

jobs mode — one row per posting. With fetchJobDetail you also get the full description, seniority level, employment type, job function and industries.

companies mode — firmographics for LinkedIn company URLs you already have. Accepts full URLs, country-subdomain URLs (de.linkedin.com/company/siemens) and bare slugs (ibm).

Input

{
"mode": "leads",
"keywords": "data engineer",
"location": "Singapore",
"maxItems": 50,
"maxCompanies": 25,
"datePosted": "r604800"
}

Things worth knowing

Your location is validated before the run starts. LinkedIn does not reject an unknown location — it silently returns United States results instead. So this actor resolves your location against LinkedIn's own geo endpoint first and aborts with an explanation if it does not resolve, rather than handing you country-wide rows under a city label. The resolved place is reported back as locationResolved / locationEcho.

1000 rows per query is LinkedIn's ceiling, not ours. The guest result window ends at start=1000 (which answers HTTP 400). For more coverage, run several narrower queries rather than one broad one.

Company enrichment is the slow part. LinkedIn's guest budget forces a fresh session for every company page, so keep maxCompanies modest and leave minRequestInterval at its default.

People profiles are not scraped. Every LinkedIn people surface (/pub/dir/, /search/results/people/, Voyager) sits behind a login wall, and this actor does not do logins. It scrapes companies and job postings only.

Output

Rows are pushed to the default dataset with a recordType of lead, job or company. Failures produce a diagnostic row (_error: NOT_FOUND, BLOCKED_AFTER_RETRIES) rather than a silent gap, so downstream joins never lose an input. A RUN_SUMMARY key-value record carries the resolved location, pages fetched, ceiling status and transport stats.