LinkedIn Search Extractor Profilles, Leads, Everything - Cheap
Pricing
from $1.00 / 1,000 results
LinkedIn Search Extractor Profilles, Leads, Everything - Cheap
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ış
Maintained by CommunityActor stats
1
Bookmarked
35
Total users
23
Monthly active users
10 hours ago
Last modified
Categories
Share
LinkedIn Profile Search Scraper
Search public LinkedIn profiles and companies and extract clean, structured rows without LinkedIn cookies or login. Built for lead generation, recruiting research, sales prospecting, market mapping, and people search workflows.
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
Shortmode for fast profile discoveryFullmode 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 or profileUrls must be provided.
| Field | Type | Required | Description |
|---|---|---|---|
profileScraperMode | string | No | Short returns fast profile search results. Full also opens public LinkedIn profile pages and merges available data. Default: Short. |
searchQuery | string | Yes* | Main search query, for example Founder, Marketing Manager, or John Doe. Required unless profileUrls is provided. |
currentJobTitles | array | No | Current job titles to include in the profile search. Multiple values are grouped together. |
pastJobTitles | array | No | Past job titles to include in the profile search. |
locations | array | No | Cities, regions, or countries to include in the profile search. |
currentCompanyUrls | array | No | LinkedIn company URLs, company slugs, or company names to include in the profile search. |
pastCompanyUrls | array | No | Past company URLs, company slugs, or company names to include in the profile search. |
schoolUrls | array | No | LinkedIn school URLs, school slugs, or school names to include in the profile search. |
industryIds | array | No | LinkedIn industry IDs accepted for compatibility. |
profileUrls | array | Yes* | Direct LinkedIn /in/ profile URLs. Required only when searchQuery is not provided. |
startPage | integer | No | First search results page to process. Default: 1. |
takePages | integer | No | Number of search result pages to process for each query. Default: 1, maximum: 100. |
maxItems | integer | No | Maximum number of unique profile or company results to output. Use 0 to process all results found in the selected pages. Default: 50. |
includeExperience | boolean | No | In Full mode, include public experience data when available. Default: true. |
includeEducation | boolean | No | In Full mode, include public education data when available. Default: true. |
maxConcurrency | integer | No | Maximum number of public LinkedIn profile pages processed in parallel 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, one LinkedIn company row, or one no-results diagnostic row.
| Field | Type | Description |
|---|---|---|
id | string/null | LinkedIn internal profile ID when available. |
resultType | string/null | profile, company, or null for diagnostic rows. |
publicIdentifier | string/null | LinkedIn public profile slug. |
linkedinUrl | string/null | Normalized LinkedIn profile or company URL. |
profileUrl | string/null | Profile URL for profile rows, otherwise null. |
url | string/null | Normalized LinkedIn profile or company URL. |
status | string | Row status: search_result, discovered, success, partial, login_required, no_results, or failed. |
firstName | string/null | Parsed first name. |
lastName | string/null | Parsed last name. |
fullName | string/null | Full name from public profile search or profile page data. |
headline | string/null | LinkedIn headline or title-derived headline. |
jobTitle | string/null | Best-effort current title. |
company | string/null | Best-effort current company. |
currentCompany | string/null | Alias-style current company field. |
currentTitle | string/null | Alias-style current title field. |
locationText | string/null | Human-readable location text. |
location | object/null | Location object with linkedinText and parsed placeholders. |
about | string/null | Public about text or profile summary when available. |
profileSummary | string/null | Best available profile summary. |
experienceSummary | string/null | Best available experience summary. |
educationSummary | string/null | Best available education summary. |
profilePicture | object/null | Profile image object when available. |
photo | string/null | Profile photo URL when available. |
currentPosition | array | Current position array. |
profileTopEducation | array | Top education array. |
experience | array | Experience rows or raw public experience text. |
education | array | Education rows or raw public education text. |
skills | array | Skills array when available. |
searchQuery | string/null | User-facing query used to discover the profile. |
resultRank | integer/null | Result rank within the search page. |
sourceProvider | string/null | Source label for this row. |
dataSource | string/null | Main row source, for example search_result, linkedin_profile, or direct_url. |
confidence | integer/null | 0-100 quality score based on populated useful fields. |
matchedFields | array | Fields used to calculate confidence. |
searchTitle | string/null | Original public result title. |
searchSnippet | string/null | Original public result snippet. |
_meta | object | Search query, result rank, source, and pagination details. |
checkedAt | string/null | ISO timestamp when the row was generated. |
error | string/null | Error 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
- Enter a
searchQuery, directprofileUrls, or both. - Add filters such as
currentJobTitles,locations,currentCompanyUrls, orschoolUrls. - Choose
Shortfor faster discovery orFullfor public profile page enrichment. - Set
takePagesandmaxItemsto control result volume. - Run the Actor.
- Export the dataset as JSON, CSV, Excel, XML, RSS, HTML, or consume it via API.
Pricing
This Actor uses Apify pay-per-event pricing based on Actor start and saved dataset rows.
Example pricing behavior:
- You are charged when the Actor starts, if Actor Start pricing is enabled.
- You are charged for each row saved to the default dataset.
- Each
ShortorFullprofile result is one dataset row. - Each company result is one dataset row.
- If a no-results diagnostic row is saved, it is also one dataset row.
- Higher
takePagesandmaxItemsvalues 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.
Fullmode 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. Add LinkedIn /in/ URLs to profileUrls. You can use direct URLs with or without a searchQuery.
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.