Apify Store
AS
Apify Store
/fantastic-jobs/advanced-linkedin-job-search-api

Advanced LinkedIn Job Search API

Access our real-time LinkedIn Jobs database with over 10 million new jobs per month. With detailed company data, recruiter data, and AI enrichments! Get exact results with our advanced filters on titl

liveasyncunknown~30s typical
jobslead generationadvancedlinkedinjobsearch
$0.0063
per result + $0.005 call
plus $0.001 platform fee per run
Actor charges $0.005 per result; Cracked adds 25% plus a $0.005 call fee
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 /fantastic-jobs/advanced-linkedin-job-search-api for me.

Input

FieldTypeDescription
timeRangestring (1h | 24h | 7d | 6m)Select the time range for job listings. You can choose between hourly (1h), daily (24h), weekly (7d), or all active jobs (great to get started, last 6 months, 6m). We strongly recommend running the Actor at the same time every hour/day/week to ensure that you get all jobs without duplicates default "7d"
limitintegerMaximum number of jobs to return per run. The minimum is 10 and the maximum is 5,000. Please set the memory to 1GB for runs above 2,000 jobs. default 10
removeAgencybooleanFilter out recruitment agencies, job boards and other low quality sources
recruiterOnlybooleanOnly return jobs that include a `recruiter_url` (a LinkedIn profile link to the recruiter who posted the job) ⚠️ Enabling this option triggers an additional per-result charge — see pricing. default false
titleSearcharrayArray of job titles to search for. Use :* for prefix matching (e.g., 'Soft:*' will match 'Software', 'Softball', etc.)
titleExclusionSearcharrayArray of job titles to exclude. Use :* for prefix matching (e.g., 'Soft:*' will match 'Software', 'Softball', etc.)
locationSearcharrayArray of locations to search for. Location search uses phrase matching, so you must use the exact 'City, State/Region, Country' format. All locations use English names (e.g., 'Munich' not 'München', 'Bavaria' not 'Bayern'). For the UK, use the constituent country as the state (e.g., 'London, England, United Kingdom', 'Edinburgh, Scotland, United Kingdom'). For the US, use the full state name (e.g., 'New York, New York, United States', 'San Francisco, California, United States'). You can also search by just a country (e.g., 'United Kingdom') or a city (e.g., 'London'). Do not use abbreviations (NY, US, UK). Use :* for prefix matching (e.g., 'New:*' will match 'New York', 'New Jersey', etc.). If anything is unclear, please create an issue.
locationExclusionSearcharrayArray of locations to exclude. Location search uses phrase matching, so you must use the exact 'City, State/Region, Country' format. All locations use English names. For the UK, use the constituent country as the state (e.g., 'London, England, United Kingdom'). Do not use abbreviations (NY, US, UK). Use :* for prefix matching (e.g., 'New:*' will match 'New York', 'New Jersey', etc.). If anything is unclear, please create an issue.
descriptionSearcharrayWarning: This search is NOT supported with the 6m backfill API. It might also be too intensive for the 7d API. Please be very specific, limit your searches to a handful of keywords, and combine with one of the other searches, preferably titleSearch. Array of terms to search in job title & description. Use :* for prefix matching (e.g., 'Python:*' will match 'Python', 'Pythonic', etc.)
descriptionExclusionSearcharrayWarning: This search is NOT supported with the 6m backfill API. It might also be too intensive for the 7d API. Please be very specific, limit your searches to a handful of keywords, and combine with one of the other searches, preferably titleSearch. Array of terms to exclude from job title & description. Use :* for prefix matching (e.g., 'Python:*' will match 'Python', 'Pythonic', etc.)
organizationSlugFilterarrayFilter by LinkedIn organization slugs (exact match). The slug is the company specific part of the url. For example the slug in the following url is 'tesla-motors': https://www.linkedin.com/company/tesla-motors/
organizationSlugExclusionFilterarrayExclude jobs from specific LinkedIn organization slugs (exact match). The slug is the company specific part of the url. For example the slug in the following url is 'tesla-motors': https://www.linkedin.com/company/tesla-motors/
organizationSearcharrayArray of organization names to search for. Use :* for prefix matching (e.g., 'Google:*' will match 'Google', 'Google Cloud', etc.) Getting several companies with the same name? Use the organizationSlugFilter to filter by LinkedIn organization slugs.
organizationExclusionSearcharrayArray of organization names to exclude. Use :* for prefix matching (e.g., 'Google:*' will match 'Google', 'Google Cloud', etc.) Getting several companies with the same name? Use the organizationSlugExclusionFilter to filter by LinkedIn organization slugs.
descriptionTypestring (text | html)Format of the job description. Choose 'text' for plain text or 'html' for HTML formatted description. Leave empty to include no description. default "text"
datePostedAfterstringWe don't recommend using this parameter if you retrieve jobs on a regular interval with the 1h/24h/7d time range. Filter jobs posted on or after a specific date. The correct format is '2025-01-01'. To include time, use the following syntax: '2025-01-01T14:00:00'. Warning, some LinkedIn jobs don't include time and default to 00:00 Please keep in mind that the jobs posted date/time is UTC and there's a 1 to 2 hour delay before jobs appear on this API. Please be wary of duplicate jobs when using this filter.
seniorityFilterarrayFilter English speaking countries by seniority level. This filter is case sensitive. You can select multiple seniority levels.
noDirectApplybooleanFilter for jobs that do not have easy apply on LinkedIn.
directApplybooleanFilter for jobs that can be applied to directly through LinkedIn Easy Apply
industryFilterarrayFilter by LinkedIn industries. Use exact industry names. Industries containing commas will be automatically wrapped in quotes. You can find a list of industries on our website: https://fantastic.jobs/article/linkedin-industries
organizationEmployeesLteintegerMaximum number of employees in the company
organizationEmployeesGteintegerMinimum number of employees in the company
aiEmploymentTypeFilterarrayFilter by AI-derived employment type. Normalized, market-independent values now that every job is AI-analysed.
excludeATSDuplicatebooleanSet this parameter to true to remove the majority of duplicate jobs between this API and the 'Career Site Job Listing API' actor. LinkedIn jobs are checked against the ATS dataset using two exact-match signals: job title + organization name + country, and job title + LinkedIn company profile + country. Agency listings are now checked. Jobs flagged as duplicates will have ats_duplicate=true, checked non-duplicates will have ats_duplicate=false, and unchecked jobs will have ats_duplicate=null.
populateAiRemoteLocationbooleanIf enabled, populates ai_remote_location with locations_derived when ai_remote_location is empty. default false
populateAiRemoteLocationDerivedbooleanIf enabled, populates ai_remote_location_derived with locations_derived when ai_remote_location_derived is empty. default false
aiWorkArrangementFilterarrayFilter by work arrangement. Remote OK = remote with an office available. Remote Solely = remote with no office available. Include both to include all remote jobs.
hasSalarybooleanFilter for jobs with salary information only. Set to false to include all jobs. Results include jobs that have either an AI enriched salary or a raw salary (discovered in the job posting schema).
aiExperienceLevelFilterarrayFilter by years of experience
aiVisaSponsorshipFilterbooleanFilter for jobs offering visa sponsorship only. Set to false to include all jobs.
aiTaxonomiesFilterarrayFilter by AI taxonomies
aiTaxonomiesPrimaryFilterarrayFilter by primary AI taxonomy
aiTaxonomiesExclusionFilterarrayExclude jobs by AI taxonomies. Warning: this filter is very broad and will exclude jobs that are not in any of the selected taxonomies. For example, 'Healthcare' might exclude Software Engineer job in Healthcare. Use inclusive filters to avoid this.
industryExclusionFilterarrayExclude jobs from these LinkedIn industries. Use exact industry names; industries containing commas are automatically wrapped in quotes.
organizationSizeFilterarrayFilter by LinkedIn company-size bucket (matches the org_linkedin_size field).
aiLanguageFilterarrayFilter by the AI-detected language of the job description (e.g. English, French, German, Spanish). Matches the ai_job_language field.
hasNoLocationbooleanWhen true, returns only jobs with no normalized location (locations_derived is null). Do not combine with location search, which would always return zero rows. default false
remotebooleanDeprecated in favor of AI Work Arrangement (aiWorkArrangementFilter). When set to true, this is translated to ai_work_arrangement=Remote OK,Remote Solely. If you set AI Work Arrangement explicitly, this parameter is ignored. Set to false to include all jobs.
EmploymentTypeFilterarrayDeprecated in favor of AI Employment Type (aiEmploymentTypeFilter). Filter by raw, source-provided employment type. Values are country-specific and vary by job board.
aiHasSalarybooleanDeprecated alias of hasSalary with the same functionality. Filter for jobs with salary information only. Set to false to include all jobs. Results include jobs that have either an AI enriched salary or a raw salary (discovered in the job posting schema).

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":"/fantastic-jobs/advanced-linkedin-job-search-api","input":{"limit":10},"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 /fantastic-jobs/advanced-linkedin-job-search-api -i '{"limit":10}' -w 120
mcp
run_tool({ provider: "apify", endpoint: "/fantastic-jobs/advanced-linkedin-job-search-api", input: {"limit":10}, wait: false })

Try it

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