Skip to main content
Public LinkedIn data via Apify scrapers — no LinkedIn account required. Search people profiles by keyword, title, company, or location, and search job postings. Use this for cold/public people (anyone, not just your connections) and jobs; to operate your OWN signed-in inbox, network, and DMs in Lava Desktop, use the linkedin_session provider instead. 2 endpoints available through Lava’s AI Gateway. See the LinkedIn (public search) API docs for full documentation.
Supports both managed (Lava’s API keys) and unmanaged (bring your own credentials) mode.

Endpoints

Search LinkedIn for people profiles by keyword, job title, company, location, school, industry, seniority, or function. Returns a list of profiles with work experience, education, skills, certifications, and location. No LinkedIn cookies or account required. Pricing is pay-per-event: profileScraperMode: "Short" costs 0.10/page(snippetonly);"Full"costs0.10/page (snippet only); `"Full"` costs 0.10/page + 0.004/profile;"Full+emailsearch"(defaultinexample)costs0.004/profile; `"Full + email search"` (default in example) costs 0.10/page + $0.01/profile. A page returns up to 25 profiles. Keep maxItems or takePages small to stay inside the gateway sync timeout.

POST https://api.apify.com/v2/acts/harvestapi~linkedin-profile-search/run-sync-get-dataset-items — $0.35 / request
const data = await lava.gateway('https://api.apify.com/v2/acts/harvestapi~linkedin-profile-search/run-sync-get-dataset-items', {
  body: {
"searchQuery": "Software Engineer",
"locations": [
  "San Francisco"
],
"maxItems": 25,
"profileScraperMode": "Full + email search"
},
});

Search LinkedIn job postings by keyword, location, date posted, experience level, or company. Pass one or more LinkedIn jobs search URLs (copy from the address bar after filtering on linkedin.com/jobs); set count to cap results (min 10). By default Lava returns ~5KB/job with title, companyName, location, salaryInfo, postedAt, seniorityLevel, employmentType, jobFunction, industries, applicantsCount, jobPosterName/Title, descriptionText; descriptionHtml (a byte-for-byte duplicate of descriptionText with HTML markup) and companyLogo are stripped. Pass filter.mode="full" to receive the raw ~9KB/job payload. No LinkedIn cookies or account required. 1.00per1,000results,flat1.00 per 1,000 results, flat 0.025/request through Lava. CRITICAL TIMEOUT NOTE: the actor takes ~2.5s per job and the Lava gateway has a 30s edge-function ceiling. Keep count: 10 (the actor minimum) to stay inside the timeout; count: 25 consistently 504s. scrapeCompany: true roughly triples per-job latency and pushes even a minimum-count call past the gateway timeout, leave it false on this sync endpoint (do not try to fetch companyDescription/Website/EmployeesCount through this path). For larger pulls split into multiple smaller calls or use splitByLocation: true + splitCountry.

POST https://api.apify.com/v2/acts/curious_coder~linkedin-jobs-scraper/run-sync-get-dataset-items — $0.025 / request
const data = await lava.gateway('https://api.apify.com/v2/acts/curious_coder~linkedin-jobs-scraper/run-sync-get-dataset-items', {
  body: {
"urls": [
  "https://www.linkedin.com/jobs/search/?keywords=software%20engineer&location=San%20Francisco"
],
"count": 10,
"scrapeCompany": false
},
});

Next Steps

All Providers

Browse all supported AI providers

Forward Proxy

Learn how to construct proxy URLs and authenticate requests