Glassdoor salaries for a job title
Pay for a job title on Glassdoor, nationwide or in a city, metro, state or country: the estimate (total, base and additional pay at the 10th to 90th percentiles, currency, pay period, number of salaries, confidence, last update), what each company pays for that title (employer id, name, logo, rating, open jobs, total-pay percentiles; 5 companies a page as on the site, sortable) and, on page 1, the 10 most recent individual salary reports (pay range, experience, city, date). Filters: years of experience and industry. Pass next_page back as page; null on the last page.
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
job_titlerequired | string | Job title, e.g. Data Analyst, Software Engineer, Registered Nurse. Example: Data Analyst |
location | string | City, state or country, e.g. New York, NY, Texas, London, United Kingdom. Leave out for the whole of the United States. Example: New York, NY |
experience | all | 0-1 | 1-3 | 4-6 | 7-9 | 10-14 | 15+ | Years of experience for the estimate (default all). |
industry_id | integer | Glassdoor industry id for the estimate, e.g. 10013 (Information Technology). |
sort | popular | highest_pay | lowest_pay | most_reports | recent | Order of the companies (default popular). |
recent | 1 | 0 | 0 leaves out the recent salary reports (default 1). |
page | integer | Page of companies. Pass next_page from the previous response. |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/glassdoor/v1/salaries?job_title=Data+Analyst" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/glassdoor/v1/salaries",
params={"job_title": "Data Analyst"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/glassdoor/v1/salaries");
url.searchParams.set("job_title", "Data Analyst");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).