Indeed & LinkedIn Jobs Scraper - Glassdoor, Naukri, Bayt avatar

Indeed & LinkedIn Jobs Scraper - Glassdoor, Naukri, Bayt

Pricing

from $1.06 / 1,000 jobs

Go to Apify Store
Indeed & LinkedIn Jobs Scraper - Glassdoor, Naukri, Bayt

Indeed & LinkedIn Jobs Scraper - Glassdoor, Naukri, Bayt

[Limited Launch Offer $1.25/1K] Scrape jobs from Indeed, LinkedIn, Glassdoor, Naukri, Bayt (Middle East and Gulf jobs) and BDJobs in one run and one format: title, company, location, salary per year, date, description, apply URL. No login.

Pricing

from $1.06 / 1,000 jobs

Rating

0.0

(0)

Developer

Scrape With Me

Scrape With Me

Maintained by Community

Actor stats

1

Bookmarked

10

Total users

3

Monthly active users

5 hours ago

Last modified

Share

Scrape job listings from Indeed, LinkedIn, Glassdoor, Naukri, Bayt (Middle East and Gulf jobs) and BDJobs (Bangladesh) in one run and one format. Every search term is searched in every location on every board you pick, and each job comes back with title, company, location, date posted, job type, remote flag, salary (and salary normalized per year), description, job URL and direct apply URL, plus company details where the board shows them.

No login, no API keys.

Why this one

  • All the big boards, one schema. Stop stitching together five scrapers with five output formats.
  • Salary you can compare. Hourly, daily, weekly and monthly pay are also given per year (salaryYearlyMin/Max).
  • Transparent runs. The OUTPUT record shows found / saved jobs per term, location and board, and which board refused and why.

Input example

{
"searchTerms": ["data analyst", "business analyst"],
"locations": ["New York, NY", "Austin, TX"],
"sites": ["indeed", "linkedin", "glassdoor"],
"resultsPerSearch": 50,
"hoursOld": 72
}

India / Middle East: use naukri or bayt with locations like "Bangalore" or "Dubai". For Indeed and Glassdoor outside the US, set country (e.g. uk, india, germany).

Output example

{
"id": "in-5c3eb0845e05354c",
"site": "indeed",
"title": "Software Dev Engineer II (SDE2), Amazon Connect",
"company": "Amazon Web Services",
"location": "New York, NY, US",
"datePosted": "2026-10-03",
"jobType": "fulltime",
"isRemote": false,
"salaryMin": 143700,
"salaryMax": 247600,
"salaryCurrency": "USD",
"salaryInterval": "yearly",
"salaryYearlyMin": 143700,
"salaryYearlyMax": 247600,
"jobUrl": "https://www.indeed.com/viewjob?jk=5c3eb0845e05354c",
"applyUrl": "https://www.amazon.jobs/...",
"description": "## About the role ...",
"searchTerm": "software engineer",
"searchLocation": "New York, NY",
"scrapedAt": "2026-10-04T19:40:00Z"
}

Run it on a schedule and connect it to your tools

Schedule: in Apify Console open Schedules → Create, pick this actor and your input, and set it to run every Monday at 07:00 (your time zone) for a fresh dataset on a fixed day. Each run returns the full, current result set as a new dataset.

Integrations (Actor → Integrations tab, no code):

  • Google Sheets — append every run's rows to a sheet.
  • Make, Zapier, n8n — start the actor from a scenario/zap/workflow and use the rows in the next steps.
  • Webhook — get a POST to your endpoint when a run succeeds, then download the dataset.
  • Slack / email — notify your team when a scheduled run finishes.

AI agents (MCP) — Claude, ChatGPT, Cursor, VS Code or any MCP client can run it as a tool: add the Apify MCP server https://mcp.apify.com?actors=kalilfagundes.w/job-boards-scraper (sign in with your Apify account) and ask for the data in plain language. The agent fills the input from the input schema and reads the dataset back.

API — call it from your code (pip install apify-client / npm i apify-client):

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("kalilfagundes.w/job-boards-scraper").call(run_input={
"searchTerms": [
"data analyst"
],
"locations": [
"New York, NY",
"London"
],
"sites": [
"indeed",
"linkedin",
"glassdoor"
],
"resultsPerSearch": 5,
"maxItems": 30,
"country": "usa"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('kalilfagundes.w/job-boards-scraper').call({
"searchTerms": [
"data analyst"
],
"locations": [
"New York, NY",
"London"
],
"sites": [
"indeed",
"linkedin",
"glassdoor"
],
"resultsPerSearch": 5,
"maxItems": 30,
"country": "usa"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Pricing

Pay per event, platform usage included - one job event per job saved (see the Pricing tab). maxItems and the run's maximum cost cap spending.

Notes and limitations

  • If a board refuses an IP, the search is retried on fresh IPs and finally on residential IPs.
  • LinkedIn descriptions need fetchFullDescription (slower: one extra request per job).
  • Boards limit how deep a search goes (often ~1,000 results per query); split very broad searches by location.

Feedback

If this actor saves you time, a quick rating on its Store page helps other people find it. Something not working? Open an issue in the Issues tab and it gets fixed fast.