LinkedIn Profile Search – Leads & Recruiting (No Login) avatar

LinkedIn Profile Search – Leads & Recruiting (No Login)

Pricing

from $1.00 / 1,000 results

Go to Apify Store
LinkedIn Profile Search – Leads & Recruiting (No Login)

LinkedIn Profile Search – Leads & Recruiting (No Login)

Find public LinkedIn profile leads from keywords, titles, companies, schools, and locations. Returns normalized lead data without LinkedIn cookies or login.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Yusuf Barış

Yusuf Barış

Maintained by Community

Actor stats

2

Bookmarked

497

Total users

278

Monthly active users

11 hours

Issues response

9 days ago

Last modified

Categories

Share

LinkedIn Profile Search Scraper

LinkedIn people search scraper for lead generation, recruiting, and sales prospecting — no LinkedIn cookies or login required. Discover public /in/ profiles and /company/ pages, export structured JSON or CSV, or enrich rows in Full mode from publicly visible profile pages.

What does this Actor do?

This Actor finds public LinkedIn /in/ profile pages and /company/ pages from your search criteria and saves structured rows to the Apify Dataset. It can return fast discovery results in Short mode or enrich discovered profiles from publicly visible LinkedIn pages in Full mode.

The Actor is useful when you need profile URLs, company URLs, names, headlines, locations, company and title hints, education and experience summaries, and export-ready LinkedIn search data.

Features

  • Search public LinkedIn profiles and companies without LinkedIn cookies or account login
  • Find profiles and companies by keyword, job title, location, company, school, or industry ID
  • Supports direct LinkedIn profile URLs, pasted URL lists, and CSV/TXT uploads
  • Multiple searchQueries in one run for batch lead list building
  • preferBuiltinSearch to skip external SERP Actor charges when you want predictable cost
  • Apify Proxy support in Full mode with automatic retries on login walls
  • Short mode for fast profile discovery
  • Full mode for public profile page enrichment
  • Deduplicates normalized LinkedIn profile and company URLs
  • Returns result rank, page number, search query, and confidence score
  • Keeps partial rows when a profile is limited or login-only
  • Structured Apify Dataset output for JSON, CSV, Excel, XML, RSS, HTML, or API usage

Use cases

  • Build LinkedIn lead lists from job titles, companies, schools, or locations
  • Source candidates and recruiter longlists
  • Find founders, executives, engineers, salespeople, agencies, or creators
  • Map employees, alumni, or professional segments
  • Enrich CRM and prospecting workflows with public profile URLs
  • Run market research on professional audiences
  • Export public LinkedIn search results for manual review

Input

At least one of searchQuery, searchQueries, keywords, profileUrls, profileUrlsText, or profileUrlsFile must be provided.

FieldTypeRequiredDescription
profileScraperModestringNoShort returns fast profile search results. Full also opens public LinkedIn profile pages and merges available data. Default: Short.
searchQuerystringYes*Main search query, for example Founder, Marketing Manager, or John Doe.
searchQueriesarrayNoAdditional keyword searches in the same run (each uses the same filters).
keywordsstringNoLegacy alias for one extra search query.
preferBuiltinSearchbooleanNoUse built-in search only (no external SERP Actor). Default: false.
currentJobTitlesarrayNoCurrent job titles to include in the profile search. Multiple values are grouped together.
pastJobTitlesarrayNoPast job titles to include in the profile search.
locationsarrayNoCities, regions, or countries to include in the profile search.
currentCompanyUrlsarrayNoLinkedIn company URLs, company slugs, or company names to include in the profile search.
pastCompanyUrlsarrayNoPast company URLs, company slugs, or company names to include in the profile search.
schoolUrlsarrayNoLinkedIn school URLs, school slugs, or school names to include in the profile search.
industryIdsarrayNoLinkedIn industry IDs accepted for compatibility.
profileUrlsarrayNoDirect LinkedIn /in/ profile URLs.
profileUrlsTextstringNoPaste URLs (one per line, CSV, or comma-separated).
profileUrlsFilefileNoUpload TXT/CSV with LinkedIn /in/ URLs.
startPageintegerNoFirst search results page to process. Default: 1.
takePagesintegerNoNumber of search result pages to process for each query. Default: 1, maximum: 100.
maxItemsintegerNoMaximum number of unique profile or company results to output. Use 0 to process all results found in the selected pages. Default: 50.
includeExperiencebooleanNoIn Full mode, include public experience data when available. Default: true.
includeEducationbooleanNoIn Full mode, include public education data when available. Default: true.
maxConcurrencyintegerNoMaximum number of public LinkedIn profile pages processed in parallel in Full mode. Default: 2.
useApifyProxybooleanNoIn Full mode, route profile requests through Apify Proxy. Default: true.
proxyConfigurationobjectNoOptional Apify Proxy groups (for example residential) in Full mode.
maxProfileParseRetriesintegerNoRetries per profile on login walls in Full mode. Default: 2.

Example input

{
"profileScraperMode": "Short",
"searchQuery": "machine learning engineer",
"currentJobTitles": ["Founder", "Chief Executive Officer"],
"locations": ["Istanbul", "London"],
"currentCompanyUrls": ["https://www.linkedin.com/company/example-company/"],
"schoolUrls": ["https://www.linkedin.com/school/example-university/"],
"startPage": 1,
"takePages": 2,
"maxItems": 50,
"includeExperience": true,
"includeEducation": true,
"maxConcurrency": 2
}

Output

The Actor stores results in the default Apify Dataset. Each dataset item is one LinkedIn profile row or one LinkedIn company row. Empty searches are logged in the run log only and are not saved as billable dataset rows.

FieldTypeDescription
idstring/nullLinkedIn internal profile ID when available.
resultTypestring/nullprofile, company, or null for diagnostic rows.
publicIdentifierstring/nullLinkedIn public profile slug.
linkedinUrlstring/nullNormalized LinkedIn profile or company URL.
profileUrlstring/nullProfile URL for profile rows, otherwise null.
urlstring/nullNormalized LinkedIn profile or company URL.
statusstringRow status: search_result, discovered, success, partial, login_required, no_results, or failed.
firstNamestring/nullParsed first name.
lastNamestring/nullParsed last name.
fullNamestring/nullFull name from public profile search or profile page data.
headlinestring/nullLinkedIn headline or title-derived headline.
jobTitlestring/nullBest-effort current title.
companystring/nullBest-effort current company.
currentCompanystring/nullAlias-style current company field.
currentTitlestring/nullAlias-style current title field.
locationTextstring/nullHuman-readable location text.
locationobject/nullLocation object with linkedinText and parsed placeholders.
aboutstring/nullPublic about text or profile summary when available.
profileSummarystring/nullBest available profile summary.
experienceSummarystring/nullBest available experience summary.
educationSummarystring/nullBest available education summary.
profilePictureobject/nullProfile image object when available.
photostring/nullProfile photo URL when available.
currentPositionarrayCurrent position array.
profileTopEducationarrayTop education array.
experiencearrayExperience rows or raw public experience text.
educationarrayEducation rows or raw public education text.
skillsarraySkills array when available.
searchQuerystring/nullUser-facing query used to discover the profile.
resultRankinteger/nullResult rank within the search page.
sourceProviderstring/nullSource label for this row.
dataSourcestring/nullMain row source, for example search_result, linkedin_profile, or direct_url.
confidenceinteger/null0-100 quality score based on populated useful fields.
matchedFieldsarrayFields used to calculate confidence.
searchTitlestring/nullOriginal public result title.
searchSnippetstring/nullOriginal public result snippet.
_metaobjectSearch query, result rank, source, and pagination details.
checkedAtstring/nullISO timestamp when the row was generated.
errorstring/nullError message for failed, login wall, or no-result rows.

Example output

{
"id": null,
"resultType": "profile",
"publicIdentifier": "jane-doe",
"linkedinUrl": "https://www.linkedin.com/in/jane-doe/",
"profileUrl": "https://www.linkedin.com/in/jane-doe/",
"url": "https://www.linkedin.com/in/jane-doe/",
"status": "search_result",
"firstName": "Jane",
"lastName": "Doe",
"fullName": "Jane Doe",
"headline": "Founder - Example AI",
"jobTitle": "Founder",
"company": "Example AI",
"currentCompany": "Example AI",
"currentTitle": "Founder",
"locationText": "London",
"location": {
"linkedinText": "London",
"parsed": {
"text": "London",
"countryCode": null,
"regionCode": null,
"country": null,
"countryFull": null,
"state": null,
"city": null
}
},
"about": "Experience: Example AI - Education: University of Example - Location: London",
"profileSummary": "Experience: Example AI - Education: University of Example - Location: London",
"experienceSummary": "Example AI",
"educationSummary": "University of Example",
"profilePicture": null,
"photo": null,
"currentPosition": [
{
"companyId": null,
"companyLinkedinUrl": null,
"companyName": "Example AI",
"title": "Founder",
"dateRange": null
}
],
"profileTopEducation": [
{
"schoolId": null,
"companyId": null,
"schoolLinkedinUrl": null,
"schoolName": "University of Example"
}
],
"experience": [{ "raw": "Example AI" }],
"education": [{ "raw": "University of Example" }],
"skills": [],
"searchQuery": "founder",
"resultRank": 1,
"sourceProvider": "profile_search",
"dataSource": "search_result",
"confidence": 100,
"matchedFields": ["name", "headline", "jobTitle", "company", "location", "profileSummary", "experience", "education"],
"searchTitle": "Jane Doe - Founder - Example AI | LinkedIn",
"searchSnippet": "Experience: Example AI - Education: University of Example - Location: London",
"_meta": {
"searchQuery": "founder",
"resultRank": 1,
"sourceProvider": "profile_search",
"pagination": {
"pageNumber": 1,
"totalElements": 100
}
},
"checkedAt": "2026-05-18T10:00:00.000Z",
"error": null
}

How to use

  1. Enter a searchQuery, direct profileUrls, or both.
  2. Add filters such as currentJobTitles, locations, currentCompanyUrls, or schoolUrls.
  3. Choose Short for faster discovery or Full for public profile page enrichment.
  4. Set takePages and maxItems to control result volume.
  5. Run the Actor.
  6. Export the dataset as JSON, CSV, Excel, XML, RSS, HTML, or consume it via API.

Pricing and total run cost

This Actor uses Apify pay-per-event pricing based on Actor start and saved dataset rows.

What you pay on this Actor

  • Actor start event (if enabled in your pricing model).
  • One event per profile or company row saved to the dataset.
  • No charge for empty searches — when nothing is found, no dataset row is written.

Extra costs to plan for

CostWhenHow to control it
Google SERP ActorDefault search mode (preferBuiltinSearch: false)Enable preferBuiltinSearch to use built-in search only (may return fewer results).
Apify ProxyFull mode with useApifyProxy: true (default)Set useApifyProxy: false or tune proxyConfiguration.
Compute timeLarge maxItems, takePages, or Full modeUse Short mode for discovery; limit pages and concurrency.

On run start, the log shows which search backend is used (serp:<actorId> or builtin) and whether proxy is enabled.

Example pricing behavior:

  • Each Short or Full profile result is one dataset row.
  • Each company result is one dataset row.
  • Higher takePages and maxItems values may create more dataset rows and increase runtime.

Limitations

  • This Actor is independent and is not affiliated with, endorsed by, or sponsored by LinkedIn.
  • Search filtering is text based and cannot perfectly reproduce LinkedIn internal filters.
  • Full mode can only extract data visible on public LinkedIn pages without login.
  • LinkedIn may show login walls, unavailable pages, or incomplete public profile data.
  • Some fields may be missing depending on profile visibility, language, region, and source availability.
  • Email search and hidden contact enrichment are not included.
  • Very large runs may take longer depending on result count and platform usage.

FAQ

Why are some fields empty?

Some fields are not publicly available. Full mode can enrich some profiles, but it cannot access private or login-only data.

Does this Actor require LinkedIn cookies?

No. It does not use LinkedIn cookies, LinkedIn login sessions, or private LinkedIn APIs.

What is the difference between Short and Full mode?

Short mode returns fast public search results. Full mode also opens each discovered public LinkedIn profile page and merges any readable public details. Company rows remain search-result rows.

Can I provide direct profile URLs?

Yes. Use profileUrls, paste a list into profileUrlsText, or upload profileUrlsFile (TXT/CSV). You can combine direct URLs with search queries.

Why was I charged by another Actor?

By default, search uses a Google SERP Actor to discover LinkedIn URLs. That is a separate Apify run with its own pricing. Turn on preferBuiltinSearch if you want this Actor to search without calling the SERP Actor.

Are empty searches billed?

No. If no profiles or companies are found, the run logs a warning and does not write a paid dataset row for that empty query.

Can I continue from a later page?

Yes. Set startPage to the first page you want to process and takePages to the number of pages to process.

Can I export results to Excel?

Yes. Apify datasets can be exported as Excel, CSV, JSON, XML, RSS, HTML, or accessed via API.

Does this Actor support API usage?

Yes. You can run the Actor via Apify API and consume the default dataset programmatically.

Does this Actor find emails?

No. Email search is not included in this version.

Support

If you have questions, feature requests, or find a bug, open an issue on the Actor page.