Apify Store
AS
Apify Store
/harvestapi/linkedin-profile-search

Search LinkedIn Profiles

Search for LinkedIn profiles with filters and extract detailed profile information, including work experience, education history, location and more. No cookies or account required.

liveverifiedasyncdegraded · 186ms~30s typical
linkedinpeopleprofilesleads
$0.0020
per result + $0.01 call
plus $0.001 platform fee per run
Usage-based actor: event charges passed through at cost plus 25%
Bring your own Apify Store key: provider portion drops to $0.
$Set up https://cracked-ai-pearl.vercel.app/SKILL.md, then use Cracked to run apify /harvestapi/linkedin-profile-search for me.

Input

FieldTypeDescription
profileScraperModestring (Short | Full | Full + email search)Choose the mode for scraping LinkedIn profiles. The Short mode provides basic information, while the Full mode includes full detailed profile data. default "Full"
searchQuerystringQuery to search LinkedIn profiles. (e.g., `Founder`, `Marketing Manager`, `John Doe`). [The query supports search operators](https://www.linkedin.com/help/linkedin/answer/a524335)
maxItemsintegerMaximum number of profiles to scrape. The actor will stop scraping when this limit is reached.
locationsarrayFilter Profiles by these LinkedIn locations. Example: `San Francisco`. LinkedIn does not always understand your text queries. For example for "UK" query it will apply "Ukraine" location, so you should use "United Kingdom" in this case. Try this out first in the location filter input of LinkedIn search at `https://www.linkedin.com/search/results/people/?geoUrn=%5B%22103644278%22%5D` - we will use the first suggestion from the autocomplete popup when you type your location
currentCompaniesarrayFilter Profiles by these LinkedIn companies. Provide full LinkedIn URLs
pastCompaniesarrayFilter Profiles by these LinkedIn past companies. Provide full LinkedIn URLs
schoolsarrayFilter Profiles by these LinkedIn schools. Example: `Stanford University`.
currentJobTitlesarrayFilter Profiles by these LinkedIn current job titles. Example: `Software Engineer`.
pastJobTitlesarrayFilter Profiles by these LinkedIn past job titles. Example: `Software Engineer`.
yearsOfExperienceIdsarrayFilter Profiles by these LinkedIn years of experience IDs. Example: `3` for '3 to 5 years'.
yearsAtCurrentCompanyIdsarrayFilter Profiles by these LinkedIn years at current company IDs. Example: `3` for '3 to 5 years'.
seniorityLevelIdsarrayFilter Profiles by these LinkedIn seniority level IDs. Example: `120` for 'Senior'.
functionIdsarrayFilter Profiles by these LinkedIn function IDs. Example: `8` for 'Engineering'.
industryIdsarrayFilter Profiles by these LinkedIn industry IDs. Example: `4` for 'Software Development'. Full list: `https://github.com/HarvestAPI/linkedin-industry-codes-v2/blob/main/linkedin_industry_code_v2_all_eng_with_header.csv`
firstNamesarrayFilter Profiles by these LinkedIn first names. We recommend using another actor for searches by name: https://apify.com/harvestapi/linkedin-profile-search-by-name
lastNamesarrayFilter Profiles by these LinkedIn last names. We recommend using another actor for searches by name: https://apify.com/harvestapi/linkedin-profile-search-by-name
profileLanguagesarrayFilter Profiles by these LinkedIn profile languages.
companyHeadcountarrayFilter Profiles by their current company's headcount.
companyHeadquarterLocationsarrayFilter Profiles by their current company's headquarter location.
recentlyChangedJobsbooleanFilter Profiles to only those who have changed jobs in the last 90 days.
recentlyPostedOnLinkedInbooleanFilter Profiles to only those who have posted on LinkedIn in the last 30 days.
excludeLocationsarrayExclude Profiles by these LinkedIn locations. Example: `San Francisco`. LinkedIn does not always understand your text queries. For example for "UK" query it will apply "Ukraine" location, so you should use "United Kingdom" in this case. Try this out first in the location filter input of LinkedIn search at `https://www.linkedin.com/search/results/people/?geoUrn=%5B%22103644278%22%5D` - we will use the first suggestion from the autocomplete popup when you type your location
excludeCurrentCompaniesarrayExclude Profiles by these LinkedIn companies. Provide full LinkedIn URLs
excludePastCompaniesarrayExclude Profiles by these LinkedIn past companies. Provide full LinkedIn URLs
excludeSchoolsarrayExclude Profiles by these LinkedIn schools. Example: `Stanford University`.
excludeCurrentJobTitlesarrayExclude Profiles by these LinkedIn current job titles. Example: `Software Engineer`.
excludePastJobTitlesarrayExclude Profiles by these LinkedIn past job titles. Example: `Software Engineer`.
excludeIndustryIdsarrayExclude Profiles by these LinkedIn industry IDs. Example: `4` for 'Software Development'. Full list: `https://github.com/HarvestAPI/linkedin-industry-codes-v2/blob/main/linkedin_industry_code_v2_all_eng_with_header.csv`
excludeSeniorityLevelIdsarrayFilter Profiles by these LinkedIn seniority level IDs. Example: `120` for 'Senior'.
excludeFunctionIdsarrayFilter Profiles by these LinkedIn function IDs. Example: `8` for 'Engineering'.
excludeCompanyHeadquarterLocationsarrayExclude Profiles by their current company's headquarter location.
startPageintegerThe page number to start scraping from. default 1
takePagesintegerThe number of search pages to scrape. Each page contains 25 profiles.
autoQuerySegmentationbooleanEnable automatic query segmentation to split broad search queries into smaller segments based on LinkedIn filters. This helps in scraping a larger number of unique profiles without hitting LinkedIn's search limits.
autoQuerySegmentationLevelsarraySelect the segmentation levels to be used for automatic query segmentation.
autoQuerySegmentationTargetCountriesarraySelect the target country to focus the automatic query segmentation. This helps in narrowing down the search results to a specific geographic location.
profileDeduplicationModestring (off | insert_ids | insert_profiles | read_only)Choose how the actor should handle deduplication of LinkedIn profiles across multiple runs using your MongoDB database.
mongoDbConnectionStringstringYour MongoDB connection string to the database where the actor will store and check scraped profile IDs for deduplication. Example: `mongodb+srv://<username>:<password>@cluster0.mongodb.net`
mongoDbDatabaseNamestringThe name of the MongoDB database where the actor will store and check scraped profile IDs for deduplication. Default name is: `harvestapi`
postFilteringMongoDbQueryobjectA MongoDB query in JSON format to further filter the scraped profiles before saving them to the dataset.

Call it

curl
curl https://cracked-ai-pearl.vercel.app/v1/run \
  -H "Authorization: Bearer ck_live_..." -H "content-type: application/json" \
  -d '{"provider":"apify","endpoint":"/harvestapi/linkedin-profile-search","input":{"searchQuery":"head of growth","locations":["United States"],"maxItems":20},"wait":false}'
poll
curl "https://cracked-ai-pearl.vercel.app/v1/runs/<runId>?wait=30" -H "Authorization: Bearer ck_live_..."
cli
npx cracked-ai run -p apify -e /harvestapi/linkedin-profile-search -i '{"searchQuery":"head of growth","locations":["United States"],"maxItems":20}' -w 120
mcp
run_tool({ provider: "apify", endpoint: "/harvestapi/linkedin-profile-search", input: {"searchQuery":"head of growth","locations":["United States"],"maxItems":20}, wait: false })

Try it

Runs against your signed-in workspace balance. Sign in if you have not.