Glassdoor Job Scraper avatar

Glassdoor Job Scraper

Pricing

Pay per usage

Go to Apify Store
Glassdoor Job Scraper

Glassdoor Job Scraper

Extract Glassdoor job listings at scale with structured data including job titles, companies, locations, salaries, descriptions, ratings, and job URLs. Ideal for job market research, recruitment, salary analysis, lead generation, and employment data collection.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

What does Glassdoor Jobs Scraper do?

Glassdoor Jobs Scraper collects current Glassdoor job listings from a search URL or from keyword and location filters. Each dataset item includes the job title, employer, location, salary range, posting age, description, listing URL, employer details, application signals, and extracted skills.

Use it for recruitment research, salary benchmarking, hiring-market monitoring, job aggregation, and structured datasets for analytics or AI workflows.

Why use Glassdoor Jobs Scraper?

  • Rich job records - Capture core listing details plus employer IDs, logos, ratings, salary periods, source labels, and application flags.
  • Flexible search - Search by job keywords and location, or provide a Glassdoor search URL with its filters already set.
  • Fast multi-page collection - Follow Glassdoor's result pages and save unique jobs without opening every job detail page.
  • Duplicate-safe results - Each saved listing is checked by its Glassdoor listing ID before it is added to the dataset.
  • Automation-ready output - Export the dataset to JSON, CSV, Excel, XML, or connect it to webhooks and downstream tools.
  • Proxy support - Use the existing proxy configuration field when larger or repeated runs need a different network location.

What data can you extract from Glassdoor?

FieldTypeDescription
TitleStringJob position title.
companyStringEmployer name shown in the listing.
locationStringCity, state, country, or remote location.
salaryStringSalary range with currency when published.
salaryMinNumber or StringLower salary estimate, or Not specified.
salaryMedianNumber or StringMedian salary estimate, or Not specified.
salaryMaxNumber or StringUpper salary estimate, or Not specified.
payCurrencyStringSalary currency code such as USD.
jobTypeStringEmployment type when published or inferred from listing attributes.
postedDateStringRelative posting age such as 2 days ago.
ageInDaysNumber or StringNumeric posting age when published.
descriptionHtmlStringListing-page description preview for HTML-aware consumers.
descriptionTextStringPlain-text listing-page description preview.
urlStringDirect Glassdoor listing URL.
jobIdStringUnique Glassdoor listing identifier.
scrapedAtStringISO timestamp for collection time.
companyIdStringGlassdoor employer identifier.
companyLogoStringEmployer logo URL when available.
companyRatingNumber or StringOverall employer rating, or Not specified.
employerShortNameStringEmployer short name from the listing.
locationTypeStringGlassdoor location type code.
locationIdStringGlassdoor location identifier.
jobCountryIdStringGlassdoor country identifier.
payPeriodStringSalary interval such as ANNUAL.
salarySourceStringSalary source, such as employer-provided or estimated.
easyApplyBooleanWhether the listing supports easy apply.
sponsoredBooleanWhether the listing is marked as sponsored.
listingTypeStringSponsorship or organic listing label.
jobTitleIdStringGlassdoor job-title identifier.
jobSourceIdStringSource identifier when supplied by Glassdoor.
gocStringGlassdoor occupation/category value.
gocIdStringGlassdoor occupation/category identifier.
adOrderIdStringListing advertisement order identifier when supplied.
jobResultTrackingKeyStringPer-listing result tracking key.
searchTrackingKeyStringSearch result tracking key.
seoUrlStringSearch-friendly job listing URL.
skillsStringComma-separated skills and job attributes found in the listing.
jobAttributesArrayStructured skills and attributes published with the listing.

How to use Glassdoor Jobs Scraper

  1. Open the Actor in Apify Console.
  2. Enter a job search keyword and optional location, or provide a complete Glassdoor search URL.
  3. Choose filters such as posting age, employment type, salary, and sorting.
  4. Set the maximum number of jobs to collect across result pages.
  5. Run the Actor and preview or export the resulting dataset.

Input Parameters

ParameterTypeRequiredDefaultDescription
searchUrlStringNo-A complete Glassdoor search URL. When supplied, it takes priority over the other search filters.
searchQueryStringNosoftware engineerJob title, skill, or keyword phrase.
locationStringNo-City, state, country, or other Glassdoor location.
maxJobsIntegerNo50Maximum listings to save. Use 0 for unlimited within the available result set.
fromAgeIntegerNo1Only include listings posted within this many days.
jobTypeStringNoallall, fulltime, parttime, contract, temporary, or internship.
minSalaryIntegerNo0Minimum annual salary filter in USD when supported by the search.
sortByStringNorelevanceUse date for newest-first results.
proxyConfigurationObjectNoResidential proxy setting in schemaApify Proxy settings for repeated or protected runs.

Usage Examples

Collect recent software engineering listings in San Francisco:

{
"searchQuery": "software engineer",
"location": "San Francisco, CA",
"maxJobs": 20
}

Search with filters

Limit results to full-time jobs with a salary filter and newest-first sorting:

{
"searchQuery": "data analyst",
"location": "New York, NY",
"maxJobs": 50,
"fromAge": 7,
"jobType": "fulltime",
"minSalary": 90000,
"sortBy": "date"
}

Use a complete Glassdoor search URL

Let Glassdoor define the search terms and filters through an existing URL:

{
"searchUrl": "https://www.glassdoor.com/Job/software-engineer-jobs-SRCH_KO0,17.htm?fromAge=1",
"searchQuery": "software engineer",
"maxJobs": 20
}

Sample Output

{
"Title": "Software Development Engineer",
"company": "Clearwater Analytics, LLC",
"location": "Bellevue, WA",
"salary": "USD 115,120 - USD 148,350",
"salaryMin": 115120,
"salaryMedian": 131735,
"salaryMax": 148350,
"payCurrency": "USD",
"jobType": "Full-time",
"postedDate": "2 days ago",
"ageInDays": 2,
"descriptionHtml": "<p>Build and maintain production software systems, collaborate with engineering teams, and improve platform reliability...</p>",
"descriptionText": "Build and maintain production software systems, collaborate with engineering teams, and improve platform reliability...",
"url": "https://www.glassdoor.com/job-listing/software-development-engineer-clearwater-analytics-JV.htm?jl=1010228597784",
"jobId": "1010228597784",
"scrapedAt": "2026-08-15T06:49:31.700Z",
"companyId": "297676",
"companyLogo": "https://media.glassdoor.com/sql/297676/clearwater-analytics-squareLogo.png",
"companyRating": 3.4,
"employerShortName": "Clearwater Analytics",
"locationType": "C",
"locationId": "1150442",
"jobCountryId": "1",
"payPeriod": "ANNUAL",
"salarySource": "EMPLOYER_PROVIDED",
"easyApply": true,
"sponsored": false,
"listingType": "Organic",
"jobTitleId": "0",
"jobSourceId": "Not specified",
"goc": "software engineer",
"gocId": "10132",
"seoUrl": "https://www.glassdoor.com/job-listing/software-development-engineer-clearwater-analytics-JV.htm?jl=1010228597784",
"skills": "Computer science, Software engineering, TypeScript, APIs",
"jobAttributes": [
{ "name": "TypeScript", "value": "TypeScript" },
{ "name": "Employment type", "value": "Full-time" }
]
}

Tips for best results

  • Start with maxJobs: 20 while testing a new keyword or location.
  • Use a complete search URL when you need Glassdoor's exact location and filter encoding.
  • Provide either a search URL, a keyword, or both a keyword and location. If all search fields are empty, the Actor falls back to software engineer.
  • Description fields contain the preview published with each search result. The Actor does not open every detail page, which keeps multi-page runs fast.
  • Use a residential proxy configuration for frequent or larger runs.
  • On Apify Cloud, a residential proxy is selected automatically when no proxy configuration is provided.
  • Review several records before treating a missing salary, rating, logo, or employment type as a source-wide limitation.
  • Schedule repeat runs in Apify to monitor new postings over time.

Integrations and exports

Apify datasets can be downloaded as JSON, CSV, Excel, XML, and other supported formats. Connect completed runs to Google Sheets, webhooks, Make, Zapier, or your own service through the Apify API.

Frequently Asked Questions

Can I export the results to CSV or Excel?

Yes. Download the completed Apify dataset in CSV, Excel, JSON, XML, or another supported format.

Can I run this Actor on a schedule?

Yes. Create an Apify schedule to refresh a search hourly, daily, weekly, or on a custom interval.

Why is a salary or rating sometimes not specified?

Glassdoor does not publish every field for every listing. The Actor keeps the field present and uses Not specified when the source does not provide a usable value.

Does the Actor return duplicate jobs?

The Actor deduplicates records by Glassdoor listing ID during a run. Results can still change between runs as listings are updated or reposted.

You are responsible for complying with applicable laws, Glassdoor's terms, and privacy requirements. Use the Actor for legitimate collection of publicly available information.

Support

For issues or feature requests, use the Issues tab on the Actor page and include the input, approximate run time, and the affected output field.

This Actor is intended for responsible data collection from publicly available sources. Users are responsible for complying with website terms, applicable law, privacy rules, and any restrictions on storing or redistributing collected data.