Glassdoor Salary Data by Job Title avatar

Glassdoor Salary Data by Job Title

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Glassdoor Salary Data by Job Title

Glassdoor Salary Data by Job Title

Median base pay, median total pay and the full percentile spread for any job title on Glassdoor, plus how many reported salaries back each figure. Returns one row per title.

Pricing

from $4.00 / 1,000 results

Rating

0.0

(0)

Developer

Farhan Febrian Nauval

Farhan Febrian Nauval

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

12 days ago

Last modified

Share

Get the median pay for any job title on Glassdoor — base pay, total pay, the full percentile spread, and how many reported salaries each figure is based on.

Why use this actor

  • Median base pay and median total pay, kept separate — most tools blur the two
  • Full percentile spread (10th / 25th / 50th / 75th / 90th) so you can see the range, not just the midpoint
  • Sample size on every row — a median from 58,000 reports means something different from one built on 40
  • Additional pay broken out (bonus, commission, profit sharing) where Glassdoor publishes it
  • No account and no key required
  • Stable JSON output, ready for a spreadsheet or a database

How it works

  1. You give the actor a list of job titles (or paste Glassdoor salary page addresses directly).
  2. It looks up each title's salary page and reads the published pay figures.
  3. Every row records the job title, the pay figures, the currency, the pay period and the number of salary reports behind it.
  4. Results stream into your dataset, ready to download as JSON, CSV or Excel.

You don't need to manage scrapers or infrastructure. Use the default US residential proxy — Glassdoor limits how many salary pages a single address may request in a short window, and a fresh address per request is what keeps results complete.

Input

{
"jobTitles": ["data scientist", "product manager"],
"maxItems": 20,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}
FieldTypeDescription
jobTitlesarrayJob titles to look up, e.g. "software engineer". One row per title.
startUrlsarrayOptional. Glassdoor salary page addresses, for company- or location-specific pages.
maxItemsintegerMaximum titles/pages per run. Default 20.
proxyConfigurationobjectDefaults to US residential — recommended, see above.

Output

Real sample from a live run:

{
"_input": "data scientist",
"_source": "S1-detailed",
"_scrapedAt": "2026-08-26T08:12:44Z",
"recordType": "SALARY_AGGREGATE",
"url": "https://www.glassdoor.com/Salaries/data-scientist-salary-SRCH_KO0,14.htm",
"jobTitle": "Data Scientist",
"salariesCount": 58116,
"payPeriod": "ANNUAL",
"currency": "USD",
"baseMedian": 120678.43,
"basePay": { "percentile10": 79345.37, "percentile25": 96771.16, "median": 120678.43, "percentile75": 150491.99 },
"totalMedian": 157630.82,
"totalPay": { "percentile25": 124485.45, "median": 157630.82, "percentile75": 202225.34 },
"additionalPay": { "percentile10": 21432.39, "percentile25": 27714.29, "median": 36952.39, "percentile75": 51733.35 }
}
FieldTypeDescription
jobTitlestringThe job title as Glassdoor labels it.
salariesCountintegerHow many reported salaries the figures are based on.
baseMediannumberMedian base pay.
basePayobjectBase pay percentiles (10th–90th, where published).
totalMediannumberMedian total pay (base plus additional).
totalPayobjectTotal pay percentiles.
additionalPayobjectBonus / commission / profit sharing percentiles.
payPeriodstringUsually ANNUAL.
currencystringCurrency code, e.g. USD.
urlstringThe page the figures came from.

Notes and limits

  • Coverage measured 5 of 6 titles on a live run (nurse, accountant, marketing manager, software developer, teacher all returned full figures; software engineer did not). A handful of very high-traffic pages are served in a layout that carries no aggregate — software developer works where software engineer does not, so try a close synonym if a title comes back empty.
  • A title with no published data returns an error row, not an empty one. If Glassdoor has no aggregate for a title (or serves a reduced page because the address has been requesting too quickly), the row carries _error explaining which happened, so a gap never looks like a zero.
  • Base pay is only available on the richer page layout. When only the summary layout is served, total pay is reported and baseMedian is left empty rather than quietly filling it with a total-pay figure — the two are genuinely different numbers.
  • Run titles in modest batches. Requesting many pages very quickly from one address triggers a cool-down; the residential proxy default handles this for you.
  • Figures are Glassdoor's own estimates from self-reported salaries, not verified payroll data.