LinkedIn Easy Apply Jobs Scraper, Verified avatar

LinkedIn Easy Apply Jobs Scraper, Verified

Pricing

from $0.16 / 1,000 easy apply jobs

Go to Apify Store
LinkedIn Easy Apply Jobs Scraper, Verified

LinkedIn Easy Apply Jobs Scraper, Verified

Find LinkedIn Easy Apply jobs with no login and no cookies. Every job is checked on its own public LinkedIn page and ships the evidence: the apply control seen and its raw marker. Get title, company, location, salary, seniority, job type and full description. Pay only for confirmed Easy Apply jobs.

Pricing

from $0.16 / 1,000 easy apply jobs

Rating

0.0

(0)

Developer

Automation Craft

Automation Craft

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

LinkedIn Easy Apply Jobs Scraper, Verified

Find LinkedIn Easy Apply jobs with no login and no cookies, each one confirmed on its own public LinkedIn job page and delivered with the evidence. Search by keyword, location, date posted, company, distance and applicant count, filter by experience level and job type, go past LinkedIn's 1,000 result cap, or paste a list of job links and learn which ones are Easy Apply. You pay only for jobs that passed the Easy Apply check.

Other LinkedIn scrapers give you an easyApply: true column and ask you to trust it. This Actor opens every job's public page, reads the apply button LinkedIn renders there and ships what it saw: the signal that fired, the raw page marker, whether LinkedIn's own Easy Apply search filter agreed, and when the check was made. External apply, closed and unclear jobs are never charged.

What makes it different

  • Verified Easy Apply, with evidence on every row. The check is plain deterministic code on LinkedIn's own markup, never a guess and never an AI model. In our launch measurements the marker agreed with LinkedIn's Easy Apply filter on 299 of 299 labelled jobs and with a person's view of the page in Chrome on 13 of 13.
  • Honest about LinkedIn's filters. LinkedIn ignores the workplace type, job type and experience filters for logged-out visitors. Experience level and job type are therefore checked on each job page, and jobs that do not match are free. Workplace type is not offered, because the public page does not carry it.
  • Past the 1,000 result cap. Every public LinkedIn search stops at 1,000 results. When a search reaches the cap, the Actor repeats it with narrower posting windows until one fits, and the run summary tells you which window was covered completely.
  • Check your own job links. Paste LinkedIn job URLs and get a paid row for each Easy Apply job and a free check row for every other link, with the reason: external apply, closed, or not found.
  • Only new jobs on a schedule. Give a memory name and later runs skip every job already delivered, free.
  • Relevance you control. LinkedIn fills thin searches with unrelated jobs. A title match option drops them before their page is even opened.

Quick start

  1. Type one or more Keywords (for example data analyst) and Locations (for example United States).
  2. Pick Date posted and, if you like, experience level, job type, company ids or under 10 applicants.
  3. Set Max Easy Apply jobs (20 is a good first run) and click Start.
  4. Open the Easy Apply jobs view, or export JSON, CSV or Excel. Every row links to the LinkedIn page with the Easy Apply button.

To check a list of links instead, leave the search empty and paste them into Job URLs to check.

What you get

One job row per confirmed Easy Apply job. Real values from a launch test run:

FieldExampleFilled on
jobId, jobUrl4462847517, https://www.linkedin.com/jobs/view/4462847517every row
titleC# Developer .Net - FinTechevery row
companyName, companyId, companyUrl, companyLogoClient Server, 99339111 of 113 measured
locationColumbus, OHevery row
postedDate, postedTimeAgo2026-09-24, 4 days ago (LinkedIn's own date, never estimated)every row
applicantsText, applicantsCount57 applicants, 57 (count only when LinkedIn states a number)text on every row, count on 29 of 113
seniorityLevel, employmentTypeAssociate, Full-time113 of 113
jobFunction, industriesEngineering, Information Technology, and Consulting101 and 111 of 113
salary{ "text": "$140,000.00/yr - $160,000.00/yr", "min": 140000, "max": 160000, "currency": "$", "period": "yr" }when the employer shows pay (9 of 113)
descriptionText (and descriptionHtml on request)the full descriptionevery row
jobPoster (on request)name, headline and profile link of the poster LinkedIn shows22 of 113
easyApply, applyTypetrue, easy_applyevery row
easyApplyEvidencesee belowevery row
searchkeywords, location, posting window, slice and a link to the same search on LinkedInsearch rows

The evidence object on every row:

{
"verdict": "easy_apply",
"signal": "onsite_apply_control",
"rawMarker": "data-tracking-control-name=\"public_jobs_apply-link-onsite\"",
"markers": { "onsiteApplyControl": true, "offsiteApplyControl": false, "offsiteApplyIcon": false, "closedNotice": false },
"searchFilter": "f_AL=true",
"filterAgrees": true,
"pageJobId": "4462847517",
"sourceUrl": "https://www.linkedin.com/jobs-guest/jobs/api/jobPosting/4462847517",
"checkedAt": "2026-09-29T02:38:26.867Z",
"method": "deterministic check of the apply control on LinkedIn's public job page"
}

A free check row (only for job links you pasted, or for searches when Include free check rows is on) carries the job id, title, company, the verdict (external, closed, unknown, not_found, a filter) and the same evidence. The last row of every run is a free summary with counters, the coverage of each search and slice, and what was billed.

How the Easy Apply check works

LinkedIn renders one apply control on each public job page. An Easy Apply job has LinkedIn's on-site apply button (tracking name ending in onsite). An external job has a sign-in button with LinkedIn's off-site icon (tracking names containing offsite). A closed job says "No longer accepting applications" and has no button. The Actor delivers a job only when the on-site control is present and no off-site control is. Anything else is reported as external, closed or unknown and is free. The searches also use LinkedIn's own Easy Apply filter, so almost every job checked passes; filterDisagreements in the summary counts the ones that did not.

How much does it cost to scrape LinkedIn Easy Apply jobs?

Pay per event, no subscription. You pay for confirmed Easy Apply jobs and a tiny start fee, nothing else:

EventFree planBronzeSilverGold
Easy Apply job$0.25 / 1,000$0.20 / 1,000$0.18 / 1,000$0.16 / 1,000
Actor start (per run, 256 MB)$0.0005$0.0005$0.0005$0.0005

Platinum and Diamond plans pay the Gold price.

So 1,000 verified Easy Apply jobs with full descriptions cost $0.20 on the Bronze plan, plus $0.0005 for the run. External apply jobs, closed jobs, jobs your filters removed, duplicates, jobs already delivered under your memory name, check rows, status rows and the summary are all free. Set a maximum cost per run in the run options and the Actor stops cleanly when it is reached.

Input

FieldWhat it does
keywords, locationsEvery keyword is searched in every location, with LinkedIn's Easy Apply filter on.
geoIdsNumeric LinkedIn geo ids when a place name is ambiguous (103644278 is the United States).
searchUrlsPaste LinkedIn jobs search URLs; their keywords, location, date, company, distance and under 10 applicants filters are used.
jobUrlsLinkedIn job links or ids to check one by one.
datePosted, postedWithinHoursAny time, past month, past week, past 24 hours, or a custom window in hours (for example 2).
companyIds, under10Applicants, distanceMilesFilters LinkedIn applies to the search itself.
experienceLevels, jobTypesChecked on each job page (LinkedIn ignores these search filters for logged-out visitors). If 100 job pages in a row fail them, that search stops and the summary says so.
titleMatch, excludeTitleWords, excludeCompaniesRelevance filters applied before a job page is opened.
maxJobs, maxJobsPerSearchHard caps on delivered and charged jobs, honoured exactly.
splitWhenCappedOn by default: go past the 1,000 result cap with narrower posting windows.
memoryName, resetMemoryDeliver only jobs you have not received before under that name.
includeDescriptionHtml, includeJobPoster, includeRejectedOptional extra output.

Defaults for API callers: fields you leave out take the values below, not the Console form's prefills. maxJobs is 100, titleMatch is linkedin (no extra check), datePosted is any time, splitWhenCapped is on. An input with no search field at all ({}) runs a small example search (software engineer, United States, 10 jobs); an input that names a search field but leaves it empty or null is treated as empty and costs nothing.

API example:

curl -X POST "https://api.apify.com/v2/acts/automation_craft~linkedin-easy-apply-jobs-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"keywords":["data analyst"],"locations":["United States"],"datePosted":"pastWeek","titleMatch":"allWords","maxJobs":20}'

What this Actor does NOT do

  • It does not log in, apply to jobs or use your LinkedIn account.
  • It does not return the employer's external apply URL: LinkedIn hides it behind a sign-in wall for logged-out visitors, so an external job is reported as external without a fake link.
  • It does not filter by workplace type (remote, hybrid, on-site): LinkedIn ignores that filter for logged-out visitors and the public job page has no workplace field.
  • It does not promise every job past the 1,000 cap: narrower windows cover recent jobs completely, and the summary says exactly which window was complete.

FAQ

How do I find only Easy Apply jobs on LinkedIn?

Search with LinkedIn's Easy Apply filter, which this Actor always does, and then confirm each job on its page. Every delivered row is a job whose public page shows LinkedIn's on-site Easy Apply button, with the evidence attached.

Yes. Easy Apply, date posted, company and under 10 applicants still work for logged-out visitors. Workplace type, job type and experience level do not, which is why this Actor checks job type and experience on each job page instead.

What is the difference between Easy Apply and Apply on LinkedIn?

Easy Apply means you apply inside LinkedIn with your profile. Apply sends you to the employer's own careers site. The easyApplyEvidence.signal field says which button the job page showed.

Yes. Paste them into Job URLs to check. Easy Apply jobs come back as full paid rows, and every other link gets a free check row saying external, closed or not found.

LinkedIn stops every public search at 1,000 results. With Go past the 1,000 result cap on, the Actor repeats a capped search with narrower posting windows (30 days, 21 days, 14 days and so on) until a window fits under the cap, and reports it as covered completely. Splitting a search by location or keyword also helps.

Why does this Actor run with limited permissions?

Least privilege: it can only read and write its own run storage and the memory store it creates for your memory name. It cannot see anything else in your account.

More data tools by Automation Craft

Changelog

  • 0.1 (2026-09-29): first release. Easy Apply filtered search with a per job page check and evidence, experience and job type checked on the job page, 1,000 cap splitting, job link checks, cross-run memory.