Glassdoor
Glassdoor Reviews API
Up to THREE full employee reviews with per-axis scores, pros, cons, advice, job title, location, employment status and any employer response — plus the complete rating statistics, star distribution, aggregate pro/con highlight terms and per-job-title review counts for the whole population. Three is Glassdoor's own anonymous cap, so there is deliberately no page param: the aggregates are the full-population signal here, not the bodies. Costs 1 credit.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsonemployer_idstringGlassdoor employer id, 1-50 characters, as a STRING (1699, E1699 or IE1699) — a JSON number is rejected. Get one from the Glassdoor Company Search endpoint. Either this or url is required. Addressing by id costs two upstream fetches because the case-sensitive /Reviews/ slug has to be read off the profile first; your price is unchanged, but url is the faster path.
Example: 1699
urlstringAny glassdoor.com employer URL, 1-500 characters. Pass back the reviews_url that the Company Profile endpoint returned to skip the resolve fetch. A non-glassdoor.com host is rejected. Either this or employer_id is required.
Example: https://www.glassdoor.com/Reviews/NIKE-Reviews-E1699.htm
categoryenum<string>Restrict to reviews Glassdoor files under one topic. This is one of the two levers that move the three-review window. CLOSED SET: Glassdoor ignores a value it does not recognise and serves the UNFILTERED set under a 200, so a typo silently buys the wrong data. Read filtered_review_count on the response to see how many reviews match.
Example: work_life_balance
career_development— Growth, promotion and progression.compensation— Pay and benefits.culture— Culture and values.diversity_and_inclusion— Diversity and inclusion.management— Senior management and leadership.work_life_balance— Hours, flexibility and balance.
employment_statusenum<string>Restrict to reviewers of one employment type — the other lever on the window. Closed for the same reason as category. FREELANCE is deliberately absent: it was never confirmed to change the result set, and offering it would sell a filter that may not run.
Example: full_time
full_time— Full-time employees.part_time— Part-time employees.contract— Contractors.intern— Interns.
companystringEmployer name as it appears in a Glassdoor slug, 1-200 characters. COSMETIC ONLY: ignored entirely when url is set, and it does NOT satisfy the employer_id-or-url requirement.
Example: NIKE
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key", timeout=180)
# Fastest path: chain on reviews_url from the profile (one upstream fetch)
profile = client.glassdoor.company(employer_id="1699")
reviews = client.glassdoor.reviews(
url=profile["data"]["reviews_url"],
category="work_life_balance",
employment_status="full_time",
)
# Three bodies max - the aggregates describe the whole population
print(reviews["data"]["filtered_review_count"], reviews["data"]["ratings"])Response