Back to LinkedIn
Apify·LinkedIn

Search LinkedIn Profiles

/harvestapi/linkedin-profile-searchasync$0 / result

Search for LinkedIn profiles with filters and extract detailed profile information, including work experience, education history, location and more. No cookies or account required. Runs as an Apify actor (20–120 s); results are dataset rows.

Charged per returned row plus the flat fee.

Input
FieldTypeRequiredDescription
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 sear
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 sea
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://:@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.
postFilteringMongoDbAggregationarrayA MongoDB aggregation pipeline in JSON format to further filter the scraped profiles before saving them to the dataset.

Run it

curl -s https://sooma.dev/v1/run \ -H "Authorization: Bearer $SOOMA_API_KEY" \ -H "Content-Type: application/json" \ -d '{"provider":"apify","endpoint":"/harvestapi/linkedin-profile-search","input":{}}'

Or ask your agent: it will call inspect for this schema and run it over MCP.