Glassdoor Jobs API
Pricing
from $0.14 / 1,000 jobs
Glassdoor Jobs API
Search Glassdoor jobs by keyword and location, US or worldwide: title, company, full description, posting date and Easy Apply, plus the company's Glassdoor rating, salary range, job type, remote/hybrid, level, benefits and skills when Glassdoor lists them. For recruiters, job feeds and pay research.
Pricing
from $0.14 / 1,000 jobs
Rating
0.0
(0)
Developer
DeepMine
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Search Glassdoor jobs by keyword and location (US or worldwide), or paste a Glassdoor search URL. You get each job's title, company, full description (text and HTML), apply link, posting date and Easy Apply flag, plus the company profile (rating, size, industry, revenue, founded, HQ, website, CEO, 5 sub-ratings), salary range (the employer's, or Glassdoor's estimate), job type, remote/hybrid, level, benefits and skills when Glassdoor lists them (live New York run, 2026-10-06: salary on 96% of jobs, rating 93%, company size 84%, job type 75%, benefits 61%, remote/hybrid 40%).
| ๐ผ Title | ๐ข Company | โญ Rating | ๐ Location | ๐ฐ Salary | ๐ Job Type | ๐ Posted |
|---|---|---|---|---|---|---|
| Senior Analyst, Data Analytics, SIU | Oscar Health | 3.1 | New York, NY | $86,628 - $109,761 a year | โ | 2026-10-06 |
| Senior Analyst, Data Analytics | Prudential | 3.7 | Newark, NJ | $76,000 - $125,400 a year | Full-time | 2026-10-06 |
| Sr. Business Analyst | Jackson Lewis | 3.4 | New York, NY | $169,000 - $206,000 a year | Full-time | 2026-10-06 |
$0.18 per 1,000 jobs on the Starter plan ($0.20 Free, $0.16 Scale, $0.14 Business), full descriptions, company profiles and proxies included. The prefilled run (100 jobs) costs about $0.018 or less and took 6 to 10 seconds in six runs on 2026-10-07 (about 75 jobs matched that day).
No Glassdoor account, no cookies, no login.
Why this one
- Rich job rows. 62 fields per job, none of them an always-empty placeholder, every one from Glassdoor's own answers: the job, the salary range with its median and source, the apply link, coordinates, Glassdoor's occupation, and the company's profile and employee ratings (overall, work/life balance, compensation, culture, career, management, CEO approval, recommend to a friend). On the same search, the most-used alternative returned 11 top-level fields per job (2026-10-06). Two employer ratings Glassdoor shows only on its company pages, business outlook and diversity, are not included (see the FAQ).
- Deeper searches. Pages of 100 jobs instead of 30, so one search reaches about 1,800 distinct jobs before Glassdoor's 30-page limit (1,844 and 1,862 on "software engineer", US, any time, in our tests), not 900.
- First rows in seconds. Rows go out in batches as their details arrive (each batch newest first), not when the search ends, and a details call that a slow IP holds up is sent again on another IP: the first rows of the prefilled run reached the dataset 3 to 7 seconds after the start request in those runs (container start included; the spread is how fast the proxy IPs answer).
- Paste any Glassdoor search. Build a search on glassdoor.com or a country site with any filters, paste the results URL, and it is read with its own keyword, place and filters.
- Glassdoor's own filters, and yours. Posted within, job type, seniority, company size, industry, job function, minimum salary, remote only, Easy Apply only and minimum company rating go to Glassdoor; exclude employers and skip job IDs (for schedules that should bring only new jobs) are checked on each job. Jobs a filter leaves out are never charged.
- Each job charged once, restarts included. A job several keywords find comes once, under the first. If Apify restarts or resurrects a run, it reads its dataset back first and never delivers or charges a job twice (live check: a resurrected 67-job run added only the 1 job Glassdoor had posted since, 68 rows = 68 charges).
- Fails loudly. A run never ends "succeeded" with an empty dataset or a cut-short search because Glassdoor refused it. Blocked requests and error answers are retried on new IPs; a search that still fails fails the run with a clear message (the jobs already found are still delivered). An empty answer is double-checked with a control search. If Glassdoor's job-details answers fail for most jobs, the run stops and fails instead of quietly handing you previews. Every run saves a summary (
OUTPUT). - Worldwide. Any city, state or country Glassdoor knows:
Austin, TX,Texas,London,Germany. Salaries come in the local currency.
Input
| Field | What it does | Default |
|---|---|---|
keywords | Job titles, skills or companies, as you'd type them in Glassdoor's search box. Each is its own search. An empty list = every job in the place. | ["data analyst"] |
location | City, state or country, e.g. New York, NY, Texas, London, Germany. Empty = the whole United States. | โ |
postedWithin | any, past24Hours, past3Days, pastWeek, past2Weeks or pastMonth. | pastWeek |
maxResults | Stop each search after this many jobs (up to 3,000; a big search holds about 1,800 distinct jobs). You pay per job, so this also caps the cost. | 100 |
remoteOnly | ๐๏ธ Filters: only remote / work-from-home jobs. | off |
jobType | ๐๏ธ Filters: any, fullTime, partTime, contract, temporary or internship. | any |
seniority | ๐๏ธ Filters: any, internship, entryLevel, midSenior, director or executive. | any |
companySize | ๐๏ธ Filters: any, 1-200, 201-500, 501-1000, 1001-5000 or 5000+ employees. | any |
industry | ๐๏ธ Filters: one of Glassdoor's 25 industries, e.g. Information Technology. | all |
jobFunction | ๐๏ธ Filters: one of Glassdoor's 23 job functions, e.g. Finance & Accounting. | all |
minSalary | ๐๏ธ Filters: Glassdoor's minimum pay filter, per year in the place's currency. | โ |
easyApplyOnly | ๐๏ธ Filters: only jobs you can apply to on Glassdoor in a few clicks. | off |
minRating | ๐๏ธ Filters: only companies rated at least 1, 2, 3 or 4 stars (companies without a rating are left out). Glassdoor's own filter lets lower-rated jobs through, so the Actor checks every job and you never pay for one below your minimum. | any |
excludeCompanies | ๐๏ธ Filters: leave out jobs whose company name contains one of these (e.g. staffing agencies). | โ |
searchUrls | ๐ Glassdoor results URLs (glassdoor.com or a country site). Each is read with its own keyword, place and filters; the fields above are then not used. | โ |
excludeJobIds | ๐ Job IDs or job links you already have, so a scheduled run brings only new jobs (not charged). | โ |
includeDetails | ๐งพ Full description (text and HTML), apply link, company profile, sub-ratings and coordinates for each job (one more request per job, same price). | on |
proxyConfiguration | โ๏ธ Leave as is: Apify datacenter IPs first; when Glassdoor refuses them the Actor switches to residential IPs on its own. | Apify Proxy (datacenter first) |
Example:
{"keywords": ["registered nurse", "nurse practitioner"],"location": "Texas","postedWithin": "past3Days","companySize": "5000+","minRating": "4","excludeCompanies": ["staffing"],"maxResults": 300}
Output
One dataset, ๐ผ All Jobs, one row per job. Views:
- ๐ Overview: ๐ผ๏ธ Logo, ๐ผ Title, ๐ข Company, โญ Rating, ๐ Location, ๐ฐ Salary, ๐ Job Type, ๐ Workplace, ๐ Posted, ๐ Glassdoor, ๐จ Apply, ๐ Keyword
- ๐ Stats: every number: salary min/median/max, years of experience, days ago, founded, CEO approval, recommend, the 5 sub-ratings, coordinates
- ๐ Details: ๐ผ Title, ๐ข Company, ๐ Level, ๐ Min Years, ๐ Job Type, ๐ Workplace, โก Easy Apply, ๐งพ Salary Source, ๐ Benefits, ๐ ๏ธ Skills, ๐ Description, ๐ Glassdoor
- ๐ข Companies: ๐ผ๏ธ Logo, ๐ข Company, โญ Rating, ๐ฅ Company Size, ๐ญ Industry, ๐ต Revenue, ๐ Founded, ๐๏ธ Headquarters, ๐ Website, ๐ Company Page, ๐ผ Title, ๐ Glassdoor
- ๐บ๏ธ Places: ๐ผ Title, ๐ข Company, ๐ Location, ๐๏ธ City, ๐บ๏ธ State, ๐ Country, ๐ Latitude, ๐ Longitude, ๐ Workplace, ๐ Glassdoor
Fields, in row order (empty = null; โฑ = only with includeDetails on, the default):
| Field | Example |
|---|---|
companyLogo | https://media.glassdoor.com/sql/1843/ross-stores-squareLogo-1747176103018.png (doesn't expire; 93% of jobs) |
title | Senior Analyst, Data Analytics, SIU |
company | Oscar Health |
companyRating | 3.1 (the company's overall Glassdoor rating, 1-5; empty when it has none yet) |
location | New York, NY (as Glassdoor shows it; Remote or a country for jobs without a city) |
salary | $84,700 - $136,150 a year, $50 an hour, $61,000 - $104,000 a year (Glassdoor estimate) |
salaryMin, salaryMedian | 84700, 110425 (numbers, per salaryPeriod) |
salaryMax, salaryCurrency | 136150, USD |
salaryPeriod, salarySource | year (or month, week, day, hour); Employer or Glassdoor estimate |
isSalaryEstimate | false when the employer gave the pay |
jobType, workplace | Full-time (several are comma-separated); Remote, Hybrid or In-person when Glassdoor tags it |
seniority, minExperienceYears | Mid-level; 3 โฑ |
isEasyApply, isSponsored | true when you can apply on Glassdoor itself; true when the employer pays to promote the job |
postedAt, postedDaysAgo | 2026-10-06 (UTC day); 0 |
jobUrl | https://www.glassdoor.com/job-listing/business-analyst-ross-stores-JV_IC1132348_KO0,16_KE17,28.htm?jl=1010286426494 |
applyUrl | https://www.glassdoor.com/partner/jobListing.htm?pos=101&ao=1110586&tgt=APPLY_START&โฆ โฑ (Easy Apply on Glassdoor, or a redirect to the employer's form) |
companyUrl, companyWebsite | https://www.glassdoor.com/Overview/W-EI_IE1843.htm; https://jobs.rossstores.com/ โฑ |
companySize, companyIndustry | 10000+ Employees โฑ; Department, Clothing & Shoe Stores โฑ |
companySector, companyType | Retail & Wholesale โฑ; Company - Public โฑ |
companyRevenue, companyFounded | $10+ billion (USD) โฑ; 1982 โฑ |
companyHeadquarters, companyCeo | Dublin, CA โฑ; Jim Conroy โฑ |
companyCeoApprovalPercent, companyRecommendPercent | 60, 48 โฑ (percent of reviewing employees) |
companyRatingWorkLifeBalance, companyRatingCompensation | 3, 2.9 โฑ (1-5) |
companyRatingCulture, companyRatingCareer | 3.1, 3.1 โฑ |
companyRatingManagement | 2.9 โฑ |
occupation, normalizedTitle | business analyst (Glassdoor's normalized role, the same across country sites) |
city, state | New York, New York State โฑ |
country, latitude | United States, 40.71417 โฑ |
longitude | -74.00639 โฑ |
benefits | ["Yearly bonus", "Health insurance", "Dental insurance", "Paid time off"] (up to 12) |
skills | ["Computer science", "SAFe", "Process mapping"] (up to 15) |
descriptionSnippet | GENERAL PURPOSE The Business Analyst is an IT funcโฆ (first 50 characters) |
description | Full description as plain text; with includeDetails off, the 150-character preview from Glassdoor's search results |
descriptionHtml | The description as Glassdoor's HTML โฑ |
isExpired | false (search results show live jobs) |
jobSource | Indeed Job Search Platform (the feed Glassdoor imported the job from; empty for a feed we don't know) |
jobId, companyId | 1010286426494 (the jl in job links); 1843 |
occupationId, locationId | 100169; 1132348 (Glassdoor's ids) |
locationType | City, State, Country or Metro area |
keyword | data analyst: the keyword whose search delivered this job (the first, when several found it) |
searchUrl | The Glassdoor results page of that search: your pasted URL, or the page for your keyword, place and filters |
scrapedAt | 2026-10-06T22:00:34Z |
Run summary (OUTPUT)
{"results": 67,"stopReason": "complete","deliveredBeforeRestart": 0,"where": "New York, NY (US)","searches": [{"keyword": "data analyst", "searchUrl": "https://www.glassdoor.com/Job/new-york-ny-us-data-analyst-jobs-SRCH_IL.0,14_IC1132348_KO15,27.htm?fromAge=7","status": "ok", "stopReason": "complete", "glassdoorTotal": 85, "jobsFound": 67, "delivered": 67,"deliveredBeforeRestart": 0, "alreadyDeliveredByEarlierKeyword": 0, "pages": 1, "repeatedOnLaterPages": 0,"filteredOut": 0, "detailsFailed": 0}],"requests": 69,"details": {"tried": 67, "failed": 0, "failedBy": {}},"statusMessage": "67 jobs from 1 search in New York, NY (US), past week. Download them from the Output tab (CSV, Excel, JSON) or schedule this run to get new jobs daily. โฆ"}
stopReasonfor the run iscomplete, orspendingLimitwhen your spending limit for the run was reached.- Per search,
stopReasonismaxResults(there were more jobs),complete(Glassdoor had no more pages for it),glassdoorLimit(Glassdoor's 30-page limit per search: add keywords, a place or filters to split it),glassdoorError(Glassdoor kept answering a page with an error, so the search stopped early and failed) orspendingLimit. glassdoorTotalis the count Glassdoor reports; Glassdoor usually pages through less than that, and later pages repeat more and more jobs (repeatedOnLaterPages).filteredOutcounts jobs Glassdoor sent that failedminRating,easyApplyOnly,excludeCompaniesorexcludeJobIds(not delivered, not charged).deliveredBeforeRestartcounts jobs an earlier start of the same run delivered (after a migration or resurrection); they are counted inresultsand never sent or charged again.detailsFailedcounts jobs delivered without full details because the job-details call failed for that job on every try; theirdescriptionis the preview and the โฑ fields are empty.detailsgives the run's totals andfailedBythe causes (http_404,blocked, โฆ;unpaidwhen Glassdoor refused every datacenter IP and residential IPs for that job's details would have cost more than the job's price). When more than half of the details calls fail (and at least 5, or all of them in a smaller run,unpaidones aside), the run stops and fails with that message.- A search that fails after retries on other IPs has
status: "error"and areason, and the run fails after delivering the jobs already read.
Pricing
Pay per job, no start fee and no minimum. Each job is charged once, even when several keywords find it and even when Apify restarts the run. Proxies (residential too, when needed) and full details are included.
| Your Apify plan | Per 1,000 jobs |
|---|---|
| Free | $0.20 |
| Starter | $0.18 |
| Scale | $0.16 |
| Business | $0.14 |
You're billed only for rows that reach your dataset. When your spending limit is reached, the run stops, and you never pay more than the limit.
FAQ
Do I need a Glassdoor account? No. The Actor reads Glassdoor's public job search, logged out.
Does it scrape reviews or salaries pages? No, jobs only. Each job carries the company's overall rating, its 5 sub-ratings, CEO approval and recommend-to-a-friend share, and links to the company's Glassdoor page.
What about business outlook and diversity ratings? Glassdoor's job answers don't carry them. They sit on the company's Overview and Reviews pages, which Glassdoor shows only to a logged-in or browser-verified visitor, so this Actor, which never logs in, can't read them.
Why do some salaries say "(Glassdoor estimate)"? When the employer gives no pay, Glassdoor shows its own estimate for the role. We keep that label (and isSalaryEstimate) so you can tell the two apart.
Why fewer jobs than Glassdoor's count? Glassdoor's count is approximate, it stops paging a search after 30 pages, and its later pages repeat more and more jobs: a big search gives about 1,800 distinct jobs. For more, split the search by location, keywords or filters.
How fresh are the jobs? Glassdoor gives each job's age in days, so postedAt is a date. For a daily job feed, schedule a past24Hours run and put the jobIds you already have in excludeJobIds, or dedupe on jobId.
How big can one run be? The prefilled run read 75 jobs with full details in 6 to 10 seconds of run time. The default 1-hour timeout fits several thousand jobs with details; for more, raise the timeout in the run options or turn off Full details. Searches that finished before a timeout keep their jobs.
Which locations work? Anything Glassdoor's own "Location" box understands: a city, a state or a country. For remote jobs, turn on remoteOnly (typing "Remote" as the location does the same). Glassdoor country sites work through pasted search URLs.
Feedback
Missing a field, or a search that doesn't come back the way you expect? Open an issue on the Issues tab and we'll look into it. If the data helped you, a short review on this page helps other people find it.