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.

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 job: ID, title, company, location, the full description as text and HTML, employment type, and on LinkedIn the seniority, industries and applicant count.
- The pay: the salary as printed, and parsed into minimum, maximum, currency and period. One-sided ranges ("From £37.50 an hour") keep the side that exists.
- When and where: the employer's posting date, the location as published, and remote, hybrid or on-site where the board says so.
- The links: the job page, the apply link (Indeed) or apply type (LinkedIn), the company page and its logo.

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.
| Field | LinkedIn Jobs | Indeed |
|---|---|---|
| Read from | The public job search and each job's own page, logged out | The country site's public search, through Apify residential proxy |
| Description | Full, text and HTML (100% of rows with details on) | Full, text and HTML (100% with descriptions on) |
| Salary | When the employer publishes it: 5 to 15% of rows | 22 to 29% in Paris, 86 to 88% in London |
| Posting date | The employer's date | The employer's date (Indeed's publication date) |
| Workplace | Read from title, location and description: 0 to 13% | Indeed's own remote and hybrid labels: 16 to 30% |
| Seniority, industries, applicants | Yes, on every row with details on | Not published |
| Apply link | The job page, plus external or Easy Apply | Indeed's apply link |
| Depth per search | About 1,000, then date windows | 1,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.
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.
| Actor | Price per 1,000 | Time per 100 | Salary filled, Paris / London | Past 1,000 |
|---|---|---|---|---|
| curious_coder LinkedIn | $2.00 | 71 to 87 s | 6% / 14% | Its most reported issue |
| bebity LinkedIn | $1.50 | 33 to 44 s | 10% / 12% | Not measured |
| valig LinkedIn | $0.40 | 46 to 54 s | 6% / 14% | Not measured |
| valig Indeed | $0.10 | 3 to 4 s | 20% / 58% | "Hardcapped at 1000", per its reviews |
| misceres Indeed | $6.00 | 9 to 17 s | 22% / 90% | Not measured |
| This Actor, LinkedIn | $0.35 ($0.15 cards only) | 23 to 36 s | 5% / 15% | Yes, by date windows |
| This Actor, Indeed | $0.10 ($0.05 without descriptions) | 10 to 11 s | 22% / 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:
{
"keywords": "data engineer",
"location": "Paris",
"country": "FR",
"boards": ["linkedin", "indeed"],
"maxResultsPerBoard": 20
}{
"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..."
}{
"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..."
}
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.
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.
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.