agenttoolworks

An Apify Actor Store listing soon

LinkedIn Jobs scraper and Indeed scraper, in one run

Type a job title and a city once. Get the public listings of LinkedIn Jobs and Indeed back in one table: title, company, location, the employer's posting date, salary parsed into numbers, seniority, applicants and the full description. No account, no cookies, past the 1,000-result wall of both boards.

soon Coming to the Apify Store. Until it is listed, ask us for access.What each board shows logged out
One search for data engineer in Paris goes in; the Actor reads LinkedIn Jobs and Indeed and returns one row per job in the same format, 20 per board, no duplicates
The output row and the counts are from a real cloud run, trimmed for space.

What you get

One row per job, the same fields on both boards.

Where a board does not publish a field, it is null rather than guessed, so a LinkedIn row and an Indeed row sit in the same spreadsheet without a mapping step.

The Jobs view of a real run in Apify Console: LinkedIn data engineer jobs in Paris with logo, title, company, location, type, seniority, posting date, applicants and apply type
The Jobs view of a real run, in Apify Console.

LinkedIn and Indeed, side by side

What each board actually publishes to a visitor.

The two boards do not expose the same things logged out. This is what the Actor reads from each, with the share of rows filled in our measured runs.

FieldLinkedIn JobsIndeed
Read fromThe public job search and each job's own page, logged outThe country site's public search, through Apify residential proxy
DescriptionFull, text and HTML (100% of rows with details on)Full, text and HTML (100% with descriptions on)
SalaryWhen the employer publishes it: 5 to 15% of rows22 to 29% in Paris, 86 to 88% in London
Posting dateThe employer's dateThe employer's date (Indeed's publication date)
WorkplaceRead from title, location and description: 0 to 13%Indeed's own remote and hybrid labels: 16 to 30%
Seniority, industries, applicantsYes, on every row with details onNot published
Apply linkThe job page, plus external or Easy ApplyIndeed's apply link
Depth per searchAbout 1,000, then date windows1,000, then narrower searches

The one field we do not deliver: LinkedIn shows logged-out visitors a sign-in page instead of the employer's apply URL. The Actor never logs in to get it. The guide shows what each board serves, request by request.

Past the first 1,000

Both boards stop at about 1,000 per search. The Actor keeps going.

LinkedIn shows a visitor about 1,000 results for a search, and Indeed's search ends at 1,000. When a board stops, the Actor reads narrower date windows of the same search and unions them by job ID, so nothing is returned or charged twice.

1,812Indeed jobs for a Paris search Indeed counts at 1,821, in 136 seconds on Apify
1,000LinkedIn jobs with full descriptions in about 5.5 minutes on Apify
10 sfor 100 Indeed jobs with descriptions, browser start included
0accounts, logins or cookies

Measured against the leaders

Same queries, cloud runs, numbers only.

"Data engineer" in Paris and "nurse" in London, 100 jobs each, on the most used LinkedIn and Indeed Actors of the Apify Store (runs of 2026-10-02) and on this one (2026-10-05). Prices are the free-tier Store prices per 1,000 jobs.

ActorPrice per 1,000Time per 100Salary filled, Paris / LondonPast 1,000
curious_coder LinkedIn$2.0071 to 87 s6% / 14%Its most reported issue
bebity LinkedIn$1.5033 to 44 s10% / 12%Not measured
valig LinkedIn$0.4046 to 54 s6% / 14%Not measured
valig Indeed$0.103 to 4 s20% / 58%"Hardcapped at 1000", per its reviews
misceres Indeed$6.009 to 17 s22% / 90%Not measured
This Actor, LinkedIn$0.35 ($0.15 cards only)23 to 36 s5% / 15%Yes, by date windows
This Actor, Indeed$0.10 ($0.05 without descriptions)10 to 11 s22% / 88%Yes: 1,812 of 1,821

Where we lose: valig's Indeed Actor answers 100 jobs in 3 to 4 seconds against our 10 to 11, and bebity returns the employer's external apply URL on 58 to 93% of LinkedIn rows, which we do not. Where the leaders lose: misceres returns no posting date at all, valig's Indeed rows carry Indeed's ingestion date and drop one-sided salaries, and none of them reads both boards in one run.

A real run

Data engineer in Paris, both boards, 13 seconds.

This input returned 40 jobs (20 per board) on Apify on 2026-10-05. A LinkedIn row from it, and an Indeed row from the same search for nurses in London, trimmed:

input
{
  "keywords": "data engineer",
  "location": "Paris",
  "country": "FR",
  "boards": ["linkedin", "indeed"],
  "maxResultsPerBoard": 20
}
a LinkedIn rowreal
{
  "provider": "linkedin",
  "jobId": "4462226292",
  "title": "Senior Data Engineer",
  "company": "PUR",
  "location": "Paris, Île-de-France, France",
  "postedAt": "2026-09-07",
  "employmentType": "Full-time",
  "seniority": "Associate",
  "industries": "Environmental Services",
  "salaryText": "€50,000.00/yr - €60,000.00/yr",
  "salaryMin": 50000,
  "salaryMax": 60000,
  "salaryCurrency": "EUR",
  "salaryPeriod": "year",
  "applicantsCount": 89,
  "applyType": "external",
  "jobUrl": "https://fr.linkedin.com/jobs/view/senior-data-engineer-at-pur-4462226292",
  "description": "Job title: Senior Data Engineer\nDepartment: Data team\nReports to: Lead Data Engineer..."
}
an Indeed rowreal
{
  "provider": "indeed",
  "jobId": "7f2a10ab8e5955bf",
  "title": "Nurse Prescriber - PRP, Phlebotomy, ScleroTherapy practitioner",
  "company": "Advanced Aesthetics of London",
  "location": "Claremont KT10 8QS",
  "postedAt": "2026-10-04T16:57:46.648Z",
  "workplaceType": "onsite",
  "salaryText": "From £37.50 an hour",
  "salaryMin": 37.5,
  "salaryMax": null,
  "salaryCurrency": "GBP",
  "salaryPeriod": "hour",
  "jobUrl": "https://uk.indeed.com/viewjob?jk=7f2a10ab8e5955bf",
  "applyUrl": "https://uk.indeed.com/applystart?jk=7f2a10ab8e5955bf",
  "description": "Self-Employed: PRP / Phlebotomy / Sclerotherapy Practitioner / Independent Prescriber..."
}
The Salaries view of a real run: Indeed nurse jobs in London with the salary as published, parsed minimum and maximum, currency and period, below the last LinkedIn rows
The Salaries view of the London run, in Apify Console.

Indeed's search is broad: it matches the keywords anywhere in the job, so a "data engineer" search also brings data scientists and other engineers (7 of the first 20 Indeed titles in Paris named data; all 20 LinkedIn titles did). That is what Indeed's own site returns. Turn on the exact-city option to drop the suburbs both boards add to a city search.

With JobsRadar

LinkedIn, Indeed and the employers' own boards.

Companies that hire through an applicant tracking system also publish their jobs on their own career page. JobsRadar reads those boards directly (Greenhouse, Lever, Ashby, SmartRecruiters, Workable, Personio and Pinpoint) and returns the direct apply link that LinkedIn hides from visitors. It runs as an MCP server for AI agents and as an Apify Actor. Both Actors share their first columns (ID, title, company, location, remote, department, posting date, apply link, board), so their outputs stack into one table.

Pricing

Pay per job, no subscription.

$0.35 per 1,000 LinkedIn jobs with the full description and details, $0.15 for search cards only; $0.10 per 1,000 Indeed jobs with the description, $0.05 without. Billed by Apify with platform usage included, residential proxy for Indeed too. 1,000 jobs from each board cost $0.45. A duplicate, a job past your maximum or a job left out by a filter is never charged. Apify's free plan covers about 14,285 LinkedIn jobs or 50,000 Indeed jobs a month.

soon Coming to the Apify Store. Until it is listed, ask us for access.

For developers

The Apify Actor, in one HTTP call.

Run it and get the jobs back in the same request through the Apify API. Snippets for Node.js and Python are in the Actor's README.

http
curl -X POST "https://api.apify.com/v2/acts/agenttoolworks~linkedin-indeed-jobs-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": "data engineer", "location": "Paris", "country": "FR", "maxResultsPerBoard": 50}'

Questions

Do I need a LinkedIn account to scrape LinkedIn Jobs?

No. The Actor reads LinkedIn's public job search and job pages the way a logged-out visitor sees them, with no account and no cookies. The same goes for Indeed. Your own LinkedIn account is never involved, so it is never at risk.

Does it return the employer's apply link from LinkedIn?

No, and nothing logged out can: LinkedIn's Apply button opens a sign-in page for visitors, and neither the job page nor the search carries the employer's URL. We checked from datacenter and residential addresses in the US and France, 0 of 4,440 cloud rows. Each LinkedIn row links the job page and says whether the job applies on the employer's site or through Easy Apply. Indeed rows carry Indeed's apply link.

How many jobs can it read per search?

Up to 5,000 per board per run. Both boards stop at about 1,000 results per search; past that, the Actor reads narrower date windows of the same search and unions them by job ID. Measured: 1,812 Indeed jobs for a Paris search Indeed counts at 1,821. The run summary says when the board shows more than was read.

Does it parse the salary?

Yes. Each row keeps the salary as the board printed it and parses it into minimum, maximum, currency and period (hour, day, month, year). A one-sided range such as "From £37.50 an hour" keeps its minimum and leaves the maximum empty rather than guessing it.

What does it cost?

$0.35 per 1,000 LinkedIn jobs with the full description ($0.15 for search cards only) and $0.10 per 1,000 Indeed jobs with the description ($0.05 without), billed by Apify with platform usage included. Apify's free plan includes $5 of monthly usage, about 14,285 LinkedIn jobs or 50,000 Indeed jobs.

Does it cover company career pages too?

Not this Actor. JobsRadar reads the employers' own boards on Greenhouse, Lever, Ashby, SmartRecruiters, Workable, Personio and Pinpoint, with the direct apply link. Both share their first columns, so the two outputs stack into one table.

Public job listings only: no login, no account, no data about job seekers. Not affiliated with LinkedIn or Indeed.