LinkedIn People Search Scraper & Lead Scorer avatar

LinkedIn People Search Scraper & Lead Scorer

Pricing

from $30.00 / 1,000 search pages

Go to Apify Store
LinkedIn People Search Scraper & Lead Scorer

LinkedIn People Search Scraper & Lead Scorer

Search public LinkedIn profiles by job title, company, location, name and keywords without login or cookies. Export scored, deduplicated leads to CSV/API and optionally scan the public web for emails.

Pricing

from $30.00 / 1,000 search pages

Rating

0.0

(0)

Developer

Cracks API

Cracks API

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

9

Monthly active users

18 days ago

Last modified

Share

LinkedIn People Search & Lead Scorer

Search publicly indexed LinkedIn profiles by role, company, location, skills, or name without LinkedIn cookies or an account. Export clean, deduplicated people leads with transparent relevance scores and optional public email discovery.

Unofficial. This independent Actor is not affiliated with, endorsed by, or sponsored by LinkedIn. LinkedIn is a trademark of its respective owner.

What it does

  • Finds public LinkedIn profile URLs without login or cookies
  • Targets roles, companies, locations, skills, names, and keyword combinations
  • Extracts names, headlines, visible job/company/location data, followers, connections, and summaries when indexed
  • Fixes common search-result title parsing with LinkedIn public-identifier matching
  • Ranks each page by a transparent 0-100 lead-fit score
  • Reports matched and missing query terms instead of silently discarding partial matches
  • Applies explicit title, company, keyword, exclusion, and score filters
  • Deduplicates profiles within every run
  • Supports resumable pagination
  • Optionally scans indexed public web pages for a visible email address
  • Exports to JSON, CSV, Excel, XML, API, webhooks, n8n, Make, and MCP workflows

Result modes

Fast public-index results. Returns the profile URL and visible indexed data with lightweight match metadata.

enriched

Adds structured fields, lead-fit score, match reasons, query coverage, and all visible enrichment. This does not open private LinkedIn pages.

email

Returns enriched leads and performs a separate best-effort public web email scan. The email is not taken from private LinkedIn contact data and is not guaranteed.

Input

FieldTypeDescription
searchQuerystringGeneral role, skill, person, or keyword query
modestringsearch, enriched, or email
locationsstring[]Locations added to the public search query
currentJobTitlesstring[]Required visible role-title matches
currentCompaniesstring[]Required visible company matches
includeKeywordsstring[]Additional terms that must all be visible
excludeKeywordsstring[]Skip profiles containing any listed term
minimumScoreintegerKeep profiles at or above this 0-100 fit score; 0 keeps all indexed results
maxResultsintegerMaximum unique profiles to save, up to 500
startPageintegerFirst public-search page to inspect
maxSearchPagesintegerMaximum pages to inspect
countryCodestringTwo-letter result-localization country code
languageCodestringTwo-letter result language code
proxyConfigurationobjectOptional Apify proxy settings

Example input

{
"searchQuery": "Automation Specialist",
"mode": "enriched",
"locations": ["Jaipur"],
"minimumScore": 55,
"maxResults": 20,
"startPage": 1,
"maxSearchPages": 2,
"countryCode": "in",
"languageCode": "en"
}

Output fields

Each saved profile can include:

  • fullName, firstName, lastName
  • headline, currentJobTitle, currentCompany, location
  • followers, connections, summary
  • linkedinUrl, publicIdentifier
  • leadFitScore, leadFitReasons
  • queryMatchPercent, queryMatchLevel
  • matchedQueryTerms, missingQueryTerms
  • email, emailSourceUrl, emailScanPerformed
  • source, sourceProvider, sourcePage, resultMode, collectedAt

Fields may be null when they are not visible in the public search index. The Actor does not invent missing profile data.

Lead-fit scoring and filters

The score combines visible matches for the general query, titles, companies, locations, and must-have keywords, plus a small completeness bonus. Results are ranked by fit score on each page.

minimumScore is the only score threshold. The default 55 favors stronger leads; set it to 0 to keep public-index results, including partial query matches. Use currentJobTitles, currentCompanies, includeKeywords, and excludeKeywords when you need explicit visible-data filters.

A requested location is added to the search query. If the public result exposes a location, the Actor validates it. When the index omits location, the value remains null rather than being fabricated.

Pricing

Pay per event:

  • Search page: $0.03 per successfully fetched public-search page, requesting up to 25 results
  • Structured public profile: $0.001 per saved profile in enriched mode
  • Public email scan: $0.002 per profile when an email scan is actually performed in email mode

For example, one page with five enriched profiles costs $0.035 at list price. Actual results per page depend on the public index.

API

Replace <APIFY_TOKEN> with your Apify API token.

curl -X POST \
"https://api.apify.com/v2/acts/generous_fog~linkedin-people-finder-lead-scorer/run-sync-get-dataset-items?token=<APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"searchQuery": "Automation Specialist",
"locations": ["Jaipur"],
"mode": "enriched",
"maxResults": 20,
"maxSearchPages": 2
}'

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('generous_fog/linkedin-people-finder-lead-scorer').call({
searchQuery: 'Automation Specialist',
locations: ['Jaipur'],
mode: 'enriched',
maxResults: 20,
maxSearchPages: 2,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("generous_fog/linkedin-people-finder-lead-scorer").call(run_input={
"searchQuery": "Automation Specialist",
"locations": ["Jaipur"],
"mode": "enriched",
"maxResults": 20,
"maxSearchPages": 2,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

n8n

  1. Add an HTTP Request node.
  2. Use POST with the synchronous API URL shown above.
  3. Send the Actor input as JSON.
  4. Pass returned leads to Google Sheets, Airtable, a CRM, or your scoring workflow.

For longer runs, start the Actor asynchronously, wait for completion, and fetch the default dataset.

Make

Use HTTP > Make a request with the synchronous API endpoint, method POST, header Content-Type: application/json, and your Actor input as the request body.

MCP and AI agents

Connect Apify's MCP server, expose this Actor as a tool, and let an agent provide structured search inputs. Keep limits explicit so the agent cannot create unexpectedly large runs.

Limitations

  • This Actor relies on publicly indexed web results, not LinkedIn's private search API.
  • It cannot provide complete LinkedIn coverage or guarantee that indexed data is current.
  • Targeting fields are public-search constraints, not identical to LinkedIn's internal filter semantics.
  • Missing role, company, location, follower, connection, or summary data remains null.
  • Public email discovery is best-effort and does not guarantee an address.
  • Search engines may rate-limit larger runs. Enable an Apify proxy when needed.
  • Use personal data responsibly and follow applicable privacy, employment, marketing, and data-protection laws.

More LinkedIn Actors by Cracks API