Glassdoor Salaries Scraper: Pay by Company, Title & City avatar

Glassdoor Salaries Scraper: Pay by Company, Title & City

Pricing

from $1.90 / 1,000 salary row saveds

Go to Apify Store
Glassdoor Salaries Scraper: Pay by Company, Title & City

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

Epic Scrapers

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

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 analystBenchmark pay bands for your roles against competitors, city by city, with P25/P50/P75 ready for a band model.
Recruiter or talent-intelligence teamSee what target employers pay a role before you make an offer or pitch a candidate.
Job-market or economics researcherPull 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 developerFeed a salary feature or dashboard from the API with a stable, flat schema.

Quick start

  1. Click and sign in to Apify.
  2. Add Companies (names, Glassdoor URLs or ids) and/or Job titles.
  3. Optionally add Locations ("New York", "Texas", "London", "Germany"). Empty means the United States.
  4. Set Max rows per search to 50 for 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):

jobTitlelocationcurrencybasePayMeantotalPayP10totalPayP50totalPayP90salaryCount
Software EngineerUnited StatesUSD161,193153,947218,041318,81244,791
Software DeveloperUnited StatesUSD133,95798,438145,342216,234570
Software Engineer IUnited StatesUSD126,480121,478156,046207,44058
DeveloperUnited StatesUSD121,90570,705121,905219,10743
Software Engineer/DeveloperUnited StatesUSD157,926145,503206,774302,24836
Software EngineerLondon, United KingdomGBP69,91850,00070,000105,000370
Software DeveloperLondon, United KingdomGBP65,90336,00055,000107,00049
DeveloperLondon, United KingdomGBP65,42830,00050,000180,0009
Software Engineer ILondon, United KingdomGBP56,31653,72056,21858,7161

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

FieldWhat it does
companiesCompany 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.
jobTitlesJob titles or keywords. Matching is broad: "software engineer" also returns "Software Developer" and "Software Engineer I".
locationsCities, 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.
yearsOfExperienceExperience bands. Glassdoor applies them only to a company together with a job title.
maxResultsRows per search (each company × title × location × band). 0 = everything, up to 20,000 per search.
sortBymostReported (default), highestPay or lowestPay. Decides which rows you keep when a search has more than maxResults.
payPeriodConvert every row to ANNUAL, MONTHLY or HOURLY. Empty = as Glassdoor reports each job (hourly jobs stay hourly).
proxyConfigurationApify Proxy is on by default. Glassdoor limits requests per IP, so the Actor spreads its requests over several proxy IPs.

How searches combine

You enterYou get
Companies onlyEvery job title of each company (in each location)
Job titles onlyEach title across all companies (in each location)
Companies + job titlesEach title at each company (in each location)
A Glassdoor salary page URLThat page's company, title and place

Output fields

GroupFields
CompanycompanyId, companyName, companyLegalName, companyLogoUrl, companyRating
JobjobTitle, jobTitleId, yearsOfExperience
Locationlocation, locationId, locationType (CITY, METRO, STATE, COUNTRY)
PaypayPeriod, currency, basePayMean, basePayP10–P90, additionalPayMean, additionalPayP10–P90, totalPayP10–P90
ConfidencesalaryCount (salaries behind the estimate), confidence
Linksurl (the Glassdoor salary page for that title, company and place)
RunsearchCompany, 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 planFreeBronzeSilverGold
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 on salaryCount or confidence for 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 SUMMARY record 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 }
  • companies and jobTitles are 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 SUMMARY key-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.