Glassdoor Job Scraper
Pricing
Pay per usage
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
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?
| Field | Type | Description |
|---|---|---|
Title | String | Job position title. |
company | String | Employer name shown in the listing. |
location | String | City, state, country, or remote location. |
salary | String | Salary range with currency when published. |
salaryMin | Number or String | Lower salary estimate, or Not specified. |
salaryMedian | Number or String | Median salary estimate, or Not specified. |
salaryMax | Number or String | Upper salary estimate, or Not specified. |
payCurrency | String | Salary currency code such as USD. |
jobType | String | Employment type when published or inferred from listing attributes. |
postedDate | String | Relative posting age such as 2 days ago. |
ageInDays | Number or String | Numeric posting age when published. |
descriptionHtml | String | Listing-page description preview for HTML-aware consumers. |
descriptionText | String | Plain-text listing-page description preview. |
url | String | Direct Glassdoor listing URL. |
jobId | String | Unique Glassdoor listing identifier. |
scrapedAt | String | ISO timestamp for collection time. |
companyId | String | Glassdoor employer identifier. |
companyLogo | String | Employer logo URL when available. |
companyRating | Number or String | Overall employer rating, or Not specified. |
employerShortName | String | Employer short name from the listing. |
locationType | String | Glassdoor location type code. |
locationId | String | Glassdoor location identifier. |
jobCountryId | String | Glassdoor country identifier. |
payPeriod | String | Salary interval such as ANNUAL. |
salarySource | String | Salary source, such as employer-provided or estimated. |
easyApply | Boolean | Whether the listing supports easy apply. |
sponsored | Boolean | Whether the listing is marked as sponsored. |
listingType | String | Sponsorship or organic listing label. |
jobTitleId | String | Glassdoor job-title identifier. |
jobSourceId | String | Source identifier when supplied by Glassdoor. |
goc | String | Glassdoor occupation/category value. |
gocId | String | Glassdoor occupation/category identifier. |
adOrderId | String | Listing advertisement order identifier when supplied. |
jobResultTrackingKey | String | Per-listing result tracking key. |
searchTrackingKey | String | Search result tracking key. |
seoUrl | String | Search-friendly job listing URL. |
skills | String | Comma-separated skills and job attributes found in the listing. |
jobAttributes | Array | Structured skills and attributes published with the listing. |
How to use Glassdoor Jobs Scraper
- Open the Actor in Apify Console.
- Enter a job search keyword and optional location, or provide a complete Glassdoor search URL.
- Choose filters such as posting age, employment type, salary, and sorting.
- Set the maximum number of jobs to collect across result pages.
- Run the Actor and preview or export the resulting dataset.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchUrl | String | No | - | A complete Glassdoor search URL. When supplied, it takes priority over the other search filters. |
searchQuery | String | No | software engineer | Job title, skill, or keyword phrase. |
location | String | No | - | City, state, country, or other Glassdoor location. |
maxJobs | Integer | No | 50 | Maximum listings to save. Use 0 for unlimited within the available result set. |
fromAge | Integer | No | 1 | Only include listings posted within this many days. |
jobType | String | No | all | all, fulltime, parttime, contract, temporary, or internship. |
minSalary | Integer | No | 0 | Minimum annual salary filter in USD when supported by the search. |
sortBy | String | No | relevance | Use date for newest-first results. |
proxyConfiguration | Object | No | Residential proxy setting in schema | Apify Proxy settings for repeated or protected runs. |
Usage Examples
Basic keyword search
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: 20while 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.
Is it legal to collect Glassdoor data?
You are responsible for complying with applicable laws, Glassdoor's terms, and privacy requirements. Use the Actor for legitimate collection of publicly available information.
Related Actors
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.
Legal Notice
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.