Glassdoor Salaries Scraper: Pay by Company, Title & City
Pricing
from $1.90 / 1,000 salary row saveds
Glassdoor Salaries Scraper: Pay by Company, Title & City
Get Glassdoor salary data for any company, job title and city: base, bonus and total pay P10–P90, salary counts, currency and confidence. All of a company's salaries, or one title across all companies. Filter by years of experience. No login, no duplicates.
Pricing
from $1.90 / 1,000 salary row saveds
Rating
0.0
(0)
Developer
Epic Scrapers
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Glassdoor Salaries Scraper: pay by company, job title, location and experience
Base pay · Bonus & stock · Total pay P10–P90 · Salary counts · Any company, title, city or country
Glassdoor Salaries Scraper turns Glassdoor's salary data into a spreadsheet. Give it companies, job titles, places, or any mix of them. You get one row per job title at each company in each place, with the full pay picture Glassdoor shows: base pay, additional pay (bonus, stock, commission) and total pay at the 10th, 25th, 50th, 75th and 90th percentiles. Each row also has the number of salaries behind it, the currency and a link to the Glassdoor page.
|
🏢 Whole companies Enter just a company and get every job title Glassdoor has for it. |
🌍 Whole markets Enter just a job title and compare it across every company, in a city, state or country. |
📊 Full pay statistics Means and P10–P90 for base, additional and total pay on every row, plus salaryCount and confidence. |
- Your inputs are actually used. Each company, title and location you enter is its own search, and the log shows exactly what each one matched ("London → metro London (England, United Kingdom)").
- No duplicates. Each estimate (company × title × place × experience × pay period) is saved and charged once per run, even when several inputs reach it.
- Built for bulk. In a test, one run pulled every US salary of 15 large employers (133,267 rows) in about 8 minutes. Schedule it or call it from the API.
Who it's for
| You are… | Use it to… |
|---|---|
| Compensation or HR analyst | Benchmark pay bands for your roles against competitors, city by city, with P25/P50/P75 ready for a band model. |
| Recruiter or talent-intelligence team | See what target employers pay a role before you make an offer or pitch a candidate. |
| Job-market or economics researcher | Pull a title across all companies in a country or state, or every title at a set of employers, and analyze it in your own tools. |
| HR-tech or data developer | Feed a salary feature or dashboard from the API with a stable, flat schema. |
Quick start
- Click and sign in to Apify.
- Add Companies (names, Glassdoor URLs or ids) and/or Job titles.
- Optionally add Locations ("New York", "Texas", "London", "Germany"). Empty means the United States.
- Set Max rows per search to
50for a first run, click , then export from the Output tab as JSON, CSV or Excel.
{"companies": ["Microsoft"],"jobTitles": ["Software Engineer"],"locations": ["United States", "London"],"maxResults": 5}
Real output
From the input above (run on 2026-10-21; all 9 rows, a few columns):
| jobTitle | location | currency | basePayMean | totalPayP10 | totalPayP50 | totalPayP90 | salaryCount |
|---|---|---|---|---|---|---|---|
| Software Engineer | United States | USD | 161,193 | 153,947 | 218,041 | 318,812 | 44,791 |
| Software Developer | United States | USD | 133,957 | 98,438 | 145,342 | 216,234 | 570 |
| Software Engineer I | United States | USD | 126,480 | 121,478 | 156,046 | 207,440 | 58 |
| Developer | United States | USD | 121,905 | 70,705 | 121,905 | 219,107 | 43 |
| Software Engineer/Developer | United States | USD | 157,926 | 145,503 | 206,774 | 302,248 | 36 |
| Software Engineer | London, United Kingdom | GBP | 69,918 | 50,000 | 70,000 | 105,000 | 370 |
| Software Developer | London, United Kingdom | GBP | 65,903 | 36,000 | 55,000 | 107,000 | 49 |
| Developer | London, United Kingdom | GBP | 65,428 | 30,000 | 50,000 | 180,000 | 9 |
| Software Engineer I | London, United Kingdom | GBP | 56,316 | 53,720 | 56,218 | 58,716 | 1 |
The first row with all fields:
{"companyId": 1651,"companyName": "Microsoft","companyLegalName": "Microsoft Corporation","companyLogoUrl": "https://media.glassdoor.com/sql/1651/microsoft-squarelogo-1479856042252.png","companyRating": 3.9,"jobTitle": "Software Engineer","jobTitleId": 4279,"location": "United States","locationId": 1,"locationType": "COUNTRY","yearsOfExperience": null,"payPeriod": "ANNUAL","currency": "USD","basePayMean": 161192.71,"basePayP10": 120975.31,"basePayP25": 138584.69,"basePayP50": 161192.71,"basePayP75": 187488.9,"basePayP90": 214780.12,"additionalPayMean": 56847.98,"additionalPayP10": 32971.83,"additionalPayP25": 42635.99,"additionalPayP50": 56847.98,"additionalPayP75": 79587.17,"additionalPayP90": 104031.8,"totalPayP10": 153947.14,"totalPayP25": 181220.68,"totalPayP50": 218040.69,"totalPayP75": 267076.07,"totalPayP90": 318811.92,"salaryCount": 44791,"confidence": "CONFIDENT","url": "https://www.glassdoor.com/Salary/Microsoft-Software-Engineer-Salaries-E1651_D_KO10,27.htm","searchCompany": "Microsoft","searchJobTitle": "Software Engineer","scrapedAt": "2026-10-21T01:06:48.765Z"}
Input
| Field | What it does |
|---|---|
companies | Company names, Glassdoor URLs from any Glassdoor domain (overview, reviews or salary pages) or employer ids. A salary page URL also sets its job title and location. |
jobTitles | Job titles or keywords. Matching is broad: "software engineer" also returns "Software Developer" and "Software Engineer I". |
locations | Cities, metros, states or countries. Add the country if a name is ambiguous ("Paris, France", "London, Ontario"). Worldwide returns a company in every country where it has salaries. Empty = United States. |
yearsOfExperience | Experience bands. Glassdoor applies them only to a company together with a job title. |
maxResults | Rows per search (each company × title × location × band). 0 = everything, up to 20,000 per search. |
sortBy | mostReported (default), highestPay or lowestPay. Decides which rows you keep when a search has more than maxResults. |
payPeriod | Convert every row to ANNUAL, MONTHLY or HOURLY. Empty = as Glassdoor reports each job (hourly jobs stay hourly). |
proxyConfiguration | Apify Proxy is on by default. Glassdoor limits requests per IP, so the Actor spreads its requests over several proxy IPs. |
How searches combine
| You enter | You get |
|---|---|
| Companies only | Every job title of each company (in each location) |
| Job titles only | Each title across all companies (in each location) |
| Companies + job titles | Each title at each company (in each location) |
| A Glassdoor salary page URL | That page's company, title and place |
Output fields
| Group | Fields |
|---|---|
| Company | companyId, companyName, companyLegalName, companyLogoUrl, companyRating |
| Job | jobTitle, jobTitleId, yearsOfExperience |
| Location | location, locationId, locationType (CITY, METRO, STATE, COUNTRY) |
| Pay | payPeriod, currency, basePayMean, basePayP10–P90, additionalPayMean, additionalPayP10–P90, totalPayP10–P90 |
| Confidence | salaryCount (salaries behind the estimate), confidence |
| Links | url (the Glassdoor salary page for that title, company and place) |
| Run | searchCompany, searchJobTitle, scrapedAt |
All pay figures in a row use its currency and payPeriod. Glassdoor does not publish a mean for total pay; totalPayP50 is the median.
Pricing
You pay per salary row saved, with no subscription. Platform usage and proxy are included.
| Apify plan | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
| Per 1,000 rows | $2.80 | $2.50 | $2.20 | $1.90 |
A run with a spending limit fetches only as many rows as the limit pays for, then stops.
Tips and limits
- Big companies: one search returns at most 20,000 rows. Amazon's 16,708 US titles fit in one search. To go further, add locations (states or cities); each one is a separate search.
- Ambiguous places: "London" means London, England; "Washington" means the Washington DC metro. Write "London, Ontario", or use a state abbreviation for a US state ("WA"). The run log shows what each location matched.
- Small samples: rows with a low
salaryCount(1–5) are real Glassdoor estimates but noisy. Filter onsalaryCountorconfidencefor benchmarking. - Title variants: outside the US, Glassdoor sometimes returns several small estimates for the same title, company and place. The Actor keeps the one based on the most salaries. The run's
SUMMARYrecord counts the others. - Bad input never fails a run: an unknown company or place is skipped with a warning in the log, and the run finishes with the rest.
Track salaries over time with scheduled runs
Glassdoor estimates move as new salaries come in. Run the same searches every month and compare the runs to see how pay changes at a company or for a title.
1. Save your input as a task
Open the Actor, set your input, then click Save as a new task. A task is a saved input you can run again with one click or on a schedule.
2. Schedule the task
In Apify Console, go to Schedules, click Create new, choose how often to run (for example on the 1st of every month, cron 0 6 1 * *), and add your task. See Schedules.
Watch how to schedule an Actor:
Or schedule a saved task:
3. Send the results to a spreadsheet
Connect Google in the task's Integrations tab to save every run to Google Sheets or Google Drive automatically:
4. Get the data from the API
To feed your own app or dashboard, run the Actor and download its rows with the Apify API:
For AI agents
Actor: epicscrapers/glassdoor-salaries-scraper. Minimal input:
{ "companies": ["Microsoft"], "jobTitles": ["Software Engineer"], "locations": ["London"], "maxResults": 20 }
companiesandjobTitlesare string arrays; at least one of them must be non-empty. Companies accept names, Glassdoor URLs or numeric employer ids.locations: string array of city / metro / state / country names, or Glassdoor URLs; empty = United States;"Worldwide"= all countries for each company.- Key output fields per row:
companyName,jobTitle,location,currency,payPeriod,basePayMean,additionalPayMean,totalPayP10,totalPayP25,totalPayP50,totalPayP75,totalPayP90,salaryCount,url. - One charged event per row. The run's
SUMMARYkey-value record lists skipped inputs and counts.
FAQ
Do I need a Glassdoor account?
No. The Actor reads Glassdoor's public salary estimates. You don't need cookies or a login.
Why are some job titles in my results different from what I typed?
Glassdoor matches keywords broadly. "Software engineer" returns every matching title, such as "Software Developer". Each row's jobTitle is Glassdoor's title for that estimate, and searchJobTitle is what you typed.
Can I compare hourly and salaried jobs?
Yes. Set payPeriod to ANNUAL, and Glassdoor converts every row to yearly pay.
How do I get salaries outside the United States?
Add a location: a country ("Germany"), state ("Ontario") or city ("Bengaluru"). Pay comes in that place's currency. For a company in every country where it has salaries, use "Worldwide".
Is it legal?
The Actor collects only aggregated salary estimates that Glassdoor shows publicly, with no personal data. You are responsible for how you use the data.