Jobs Scraper β€” Indeed, LinkedIn & Glassdoor avatar

Jobs Scraper β€” Indeed, LinkedIn & Glassdoor

Pricing

from $3.00 / 1,000 job results

Go to Apify Store
Jobs Scraper β€” Indeed, LinkedIn & Glassdoor

Jobs Scraper β€” Indeed, LinkedIn & Glassdoor

Extract job listings from Indeed, LinkedIn & Glassdoor simultaneously. Returns title, company, salary, location, remote flag, job type, seniority, full description & apply URL. Pay-per-result β€” $3 per 1,000 jobs.

Pricing

from $3.00 / 1,000 job results

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

11

Total users

5

Monthly active users

2 days ago

Last modified

Share

πŸ’Ό Jobs Scraper β€” Indeed, LinkedIn & Glassdoor

Extract job listings from Indeed, LinkedIn, and Glassdoor simultaneously with a single keyword search. Get structured job data including salary, company details, remote status, apply links, and more β€” all in a unified schema. Export to JSON, CSV, Excel, or feed directly into your AI pipeline.

$3 per 1,000 results. Export scraped data, run the scraper via API, schedule and monitor runs, or integrate with other tools.


Why Use This Scraper?

Most job scrapers on the Apify Store only cover one platform. To aggregate data across Indeed, LinkedIn, and Glassdoor, you'd need to run three separate actors, manage three different schemas, and manually reconcile duplicates. This actor does it all in one run:

  • Unified schema β€” every job record has the same fields regardless of platform, so your spreadsheet or database just works
  • Salary normalization β€” $80K/yr, $80,000 a year, and {min: 80000} all become salary_min: 80000, salary_period: "yearly" β€” no more messy string parsing
  • Cross-platform deduplication β€” when the same job appears on two platforms, you get one clean record, not two
  • No cookies or login required β€” scrapes LinkedIn's public job search without an account. Glassdoor and Indeed scraped via public search pages
  • PPE pricing β€” you only pay for what you get. No $25/month flat fee for a scraper that might be down

Features

  • 3 platforms in one run β€” Indeed, LinkedIn, and Glassdoor simultaneously
  • Keyword + location search β€” just type "data engineer" and "Austin, TX" and go
  • Salary normalization β€” all salary formats unified into salary_min, salary_max, salary_currency, salary_period
  • Cross-platform dedup β€” optional flag to remove jobs that appear on multiple platforms
  • Job type filter β€” fulltime, parttime, contract, internship, temporary
  • Remote filter β€” toggle to show only remote/WFH jobs
  • Posted date filter β€” only return jobs posted in the last X hours
  • Company details β€” rating, review count, industry, size, website
  • Skills extraction β€” automatically detects skills from job descriptions
  • Graceful Glassdoor fallback β€” if Glassdoor blocks, the run continues with Indeed + LinkedIn rather than failing entirely
  • MCP-ready β€” works directly with Claude and other AI agents via Apify's MCP server

Use Cases

Recruiters & HR Teams Build a live feed of who's hiring for specific roles, monitor competitor hiring activity, and benchmark salaries across regions β€” all from a single API call.

Job Market Researchers Aggregate hundreds of job listings daily for trend analysis: which skills are in demand, which companies are scaling, where salaries are moving.

Salary Benchmarking Pull salary data for any role + location combination across three major platforms and normalize it into a consistent format for analysis.

ATS / Job Board Enrichment Feed fresh job listings from all three major platforms into your own job board, internal dashboard, or CRM with structured, clean data.

AI Pipeline Integration Use this actor as a data source for AI-powered job matching, career guidance agents, or labor market analysis systems via the Apify MCP server.


Input Parameters

ParameterTypeDefaultDescription
searchQuerystring"software engineer"Job title, skills, or keyword to search for
locationstring"United States"City, state, country, or "Remote"
platformsarray["indeed","linkedin","glassdoor"]Which platforms to scrape
maxResultsinteger50Max total jobs to return (distributed evenly across platforms)

Filters

ParameterTypeDefaultDescription
jobTypestring"all"all, fulltime, parttime, contract, internship, temporary
isRemotebooleanfalseOnly return remote/WFH jobs
hoursOldinteger0Only jobs posted in the last X hours (0 = no filter)
deduplicatebooleantrueRemove cross-platform duplicates

Example Input

{
"searchQuery": "data engineer",
"location": "New York, NY",
"platforms": ["indeed", "linkedin"],
"maxResults": 100,
"jobType": "fulltime",
"isRemote": false,
"hoursOld": 48,
"deduplicate": true
}

Health check / minimal input:

{
"searchQuery": "software engineer",
"location": "United States",
"maxResults": 5
}

Output Schema

Each record in the dataset contains:

{
"job_title": "Senior Data Engineer",
"company_name": "Airbnb",
"location": "San Francisco, CA",
"is_remote": false,
"salary_min": 150000,
"salary_max": 200000,
"salary_currency": "USD",
"salary_period": "yearly",
"job_type": "fulltime",
"seniority_level": "Mid-Senior level",
"description": "We are looking for a Senior Data Engineer...",
"skills": ["python", "sql", "aws", "spark"],
"posted_date": "2026-03-28T09:00:00.000Z",
"apply_url": "https://www.linkedin.com/jobs/view/3987654321",
"easy_apply": true,
"platform": "linkedin",
"company_rating": 4.3,
"company_reviews_count": 3241,
"company_size": "1001-5000 employees",
"company_industry": "Internet & Web Services",
"company_website": "https://airbnb.com",
"source_url": "https://www.linkedin.com/jobs/search/?keywords=data+engineer...",
"scraped_at": "2026-03-31T10:30:00.000Z"
}

Field Reference

FieldTypeNotes
job_titlestringJob title as listed
company_namestringHiring company name
locationstringCity, state, or "Remote"
is_remotebooleanDetected from location + metadata
salary_minnumber|nullNormalized to salary_period units
salary_maxnumber|nullNormalized to salary_period units
salary_currencystring|nullISO 4217 code, e.g. "USD"
salary_periodstring|null"yearly", "monthly", or "hourly"
job_typestring|nullfulltime / parttime / contract / internship
seniority_levelstring|nullPrimarily from LinkedIn
descriptionstringFull job description text
skillsarray|nullAuto-detected from description
posted_datestring|nullISO 8601
apply_urlstringDirect link to job listing
easy_applyboolean|nullLinkedIn Easy Apply / Indeed Quick Apply
platformstring"indeed", "linkedin", or "glassdoor"
company_ratingnumber|null0–5 stars (Indeed, Glassdoor)
company_reviews_countinteger|nullEmployee review count
company_sizestring|nullE.g. "1001-5000 employees"
company_industrystring|nullIndustry category
company_websitestring|nullCompany homepage URL
source_urlstringSearch results page that was scraped
scraped_atstringISO 8601 scrape timestamp

Pricing

This actor uses Pay-Per-Event pricing β€” you only pay for jobs actually returned.

PlanPrice per 1,000 jobs
Free tier$3.00
Bronze+$3.00

Example cost estimates:

  • 100 jobs = ~$0.30
  • 500 jobs = ~$1.50
  • 1,000 jobs = ~$3.00
  • 5,000 jobs = ~$15.00

No monthly fee. No minimum spend. You stop paying when results stop.


Platform Notes

Indeed

  • Searches public job listings globally (60+ countries supported)
  • Salary data available on ~40–60% of listings
  • Company ratings and review counts included where available
  • Pagination handled automatically

LinkedIn (No Login Required)

  • Uses LinkedIn's public job search β€” no cookies or account needed
  • Seniority level and employment type from job criteria section
  • Easy Apply detection included
  • Skills extracted from job detail pages

Glassdoor

  • Glassdoor now requires an Indeed account for full browse access
  • The actor attempts to extract as many jobs as possible before login walls trigger
  • If blocked, the run continues with Indeed + LinkedIn and logs a warning
  • Residential proxies are used to improve Glassdoor reliability

Performance

PlatformAvg jobs/minuteNotes
Indeed~20/minResidential proxy, paginated
LinkedIn~25/minGuest API, no auth needed
Glassdoor~10/minSlower due to bot detection mitigation

A run for 100 jobs typically completes in 3–6 minutes. Large runs (1,000+ jobs) may take 30–60 minutes depending on proxy availability.


Limitations

  • Glassdoor login wall β€” Glassdoor increasingly requires login to see full results. The actor extracts visible listings before the wall but cannot bypass authentication.
  • LinkedIn result cap β€” LinkedIn's public search returns up to ~1,000 results per query. For broader coverage, narrow your search parameters.
  • Salary availability β€” Salary data is only available on ~40–60% of Indeed listings and varies by location. LinkedIn and Glassdoor show salary on fewer listings.
  • Selectors may break β€” Job platforms frequently update their HTML. If you notice empty results, please open an issue β€” we aim to fix selector changes within 48 hours.
  • Rate limits β€” Running with maxResults above 500 on a single platform may trigger temporary rate limiting. The actor backs off automatically using session rotation and residential proxies.

Works Great With

  • Contact Info Finder β€” Enrich job listings with recruiter emails from company websites
  • Apify Datasets β€” Export results to Google Sheets, Airtable, or any webhook
  • Apify Schedules β€” Run daily to monitor new job postings for specific roles

Support

Found a bug? Selectors breaking? Open an issue in the Issues tab. We respond within 48 hours.

If this actor saved you time, please leave a ⭐ review β€” it helps us maintain and improve the scraper.


Changelog

v1.0.0 (2026-03-31)

  • Initial release
  • Indeed, LinkedIn, and Glassdoor support
  • Salary normalization across all platforms
  • Cross-platform deduplication
  • PPE pricing at $0.003/result