Glassdoor Jobs Scraper
Pricing
from $5.00 / 1,000 results
Glassdoor Jobs Scraper
Scrape job listings from Glassdoor by keyword, location, or company URL. Extracts job title, company, salary estimates, location, skills, and more.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
1
Bookmarked
54
Total users
6
Monthly active users
17 days ago
Last modified
Categories
Share
Scrape job listings from Glassdoor by keyword, location, or company page URL. Get job titles, companies, salary estimates, locations, skills, and more.
Data path (Aug 2026): Glassdoor's search pages are now fetched with a direct HTTP client (browser TLS fingerprint impersonation) — no browser, no proxy, no DataDome challenge. The Camoufox browser path remains only as a fallback if the HTTP path is ever blocked.
What is Glassdoor Jobs Scraper?
Glassdoor Jobs Scraper is an Apify actor that extracts job listings from Glassdoor's job search. Enter a keyword, optional location, or a direct company jobs URL, and get structured job data including salary estimates, company ratings, skills, and application details.
Features
- Search by keyword — Find jobs matching any title, skill, or role
- Location filtering — Narrow results to a specific city, state, or country (resolved via Glassdoor's public location autocomplete API)
- Company page support — Scrape jobs directly from a company's Glassdoor page
- Salary estimates — Get min, median, and max salary data with currency and period
- Company ratings — Overall employer rating included with each listing
- Skills extraction — Key skills required for each position
- Pagination — Attempts cursor-based pagination; stops when no new listings are returned
- Easy Apply flag — Identify jobs with Glassdoor Easy Apply
Use Cases
- Job market research — Analyze hiring trends, salary ranges, and in-demand skills
- Salary benchmarking — Compare compensation across companies, roles, and locations
- Competitive analysis — Monitor competitor hiring patterns and open positions
- Lead generation — Find companies actively hiring in your target industry
- Career monitoring — Track new job postings matching your criteria
- Recruitment intelligence — Identify expanding companies in specific locations
Input
| Field | Type | Default | Description |
|---|---|---|---|
| Search Keyword | String | — | Job search keyword (e.g., "software engineer", "data scientist"). Required unless Company Jobs URL is provided. |
| Location | String | — | Location to search in (e.g., "New York, NY", "London"). Leave empty for worldwide results. |
| Company Jobs URL | String | — | Direct Glassdoor company jobs page URL. If provided, keyword and location are ignored. |
| Maximum Items | Integer | 50 | Max job listings to scrape (1–500). |
| Proxy Configuration | Object | optional | NOT required for the primary HTTP path. Only the browser fallback uses it (set to Apify RESIDENTIAL, US). |
Note: At least one of Search Keyword or Company Jobs URL must be provided.
Example input — Keyword search
{"keyword": "software engineer","location": "New York, NY","maxItems": 50}
Example input — Company page
{"companyUrl": "https://www.glassdoor.com/Jobs/Google-Jobs-E9079.htm","maxItems": 100}
Output
Each job listing produces one item in the output dataset:
| Field | Type | Description |
|---|---|---|
| jobListingId | Integer | Glassdoor's unique job listing ID |
| jobTitle | String | Job position title |
| companyName | String | Hiring company name |
| companyId | Integer | Glassdoor company ID |
| companyRating | Number | Overall employer rating (1.0–5.0) |
| companyLogo | String | URL to the company logo image |
| location | String | Job location |
| ageInDays | Integer | Days since the job was posted |
| easyApply | Boolean | Whether Glassdoor Easy Apply is available |
| isSponsored | Boolean | Whether the listing is a sponsored/promoted result |
| salary_min | Integer | Estimated minimum annual salary |
| salary_median | Integer | Estimated median annual salary |
| salary_max | Integer | Estimated maximum annual salary |
| salaryCurrency | String | Salary currency code (e.g., "USD") |
| salaryPeriod | String | Pay period (e.g., "ANNUAL", "HOURLY") |
| salarySource | String | Source of salary data (e.g., "ESTIMATED", "EMPLOYER") |
| description | String | Job description snippet |
| jobUrl | String | Direct link to the job listing on Glassdoor |
| skills | Array | List of required skills extracted from the listing |
Sample output
{"jobListingId": 1234567890,"jobTitle": "Senior Software Engineer","companyName": "Google","companyId": 9079,"companyRating": 4.3,"companyLogo": "https://media.glassdoor.com/sql/9079/google-squarelogo.png","location": "Mountain View, CA","ageInDays": 3,"easyApply": false,"isSponsored": false,"salary_min": 150000,"salary_median": 185000,"salary_max": 220000,"salaryCurrency": "USD","salaryPeriod": "ANNUAL","salarySource": "ESTIMATED","description": "We are looking for a Senior Software Engineer to join our team...","jobUrl": "https://www.glassdoor.com/job-listing/senior-software-engineer-google-JV_IC1234.htm","skills": ["Python", "Java", "Distributed Systems", "Cloud Computing"]}
How to use
Quick start
- Enter a job title or keyword in the Search Keyword field
- Optionally enter a Location to narrow results
- Set Maximum Items to control how many listings to scrape
- Click Start and wait for results
Scrape a specific company's jobs
- Go to a company's Glassdoor page (e.g., glassdoor.com/Jobs/Google-Jobs-E9079.htm)
- Copy the URL from your browser
- Paste it into the Company Jobs URL field
- Click Start
How many jobs can I scrape?
Glassdoor typically shows 30 jobs per page. The actor fetches the first page (30 rich listings) and then attempts cursor-based pagination, stopping when a page returns no new listings (Glassdoor's cursor pages are unstable for non-browser clients). To get more results:
- Use different keyword variations
- Search different locations separately
- Use specific company page URLs
Tips
- Start small — Use
maxItems: 5for your first run to verify the output - Keyword + location is the most reliable — Combining a keyword with a specific city gives the best results
- Salary data is estimated — Most salary figures are Glassdoor estimates, not employer-provided
FAQ
Do I need a Glassdoor account? No. The scraper works without any login or cookies.
Do I need a proxy? No. The primary path uses direct HTTP with a browser TLS fingerprint and works from datacenter IPs. The browser fallback (only used if the HTTP path is blocked) does require residential proxy.
How fast is the scraper? Very fast — the first page of 30 jobs typically arrives in a few seconds (no browser startup, no challenge resolution).
Why are salary fields missing from some listings?
Not all job listings have salary data. When salary information is unavailable, the salary_min, salary_median, and salary_max fields are simply omitted rather than set to zero.
Why did I get fewer jobs than maxItems? The search may have fewer matching results, or Glassdoor's cursor pagination returned no new listings.
Can I search without a location? Yes. Leave the Location field empty to get worldwide results.
What if the scraper fails? If the HTTP path is blocked, the actor falls back to the Camoufox browser path (up to 5 attempts with session rotation). If both paths fail, the run exits cleanly with a status message.