Glassdoor Jobs Scraper: Full Ads, Pay Ranges, Apply Links
Pricing
from $0.69 / 1,000 jobs
Glassdoor Jobs Scraper: Full Ads, Pay Ranges, Apply Links
Glassdoor job listings with the complete job in every row: full description, apply link and pay range (low, median, high), plus the employer's rating, size and industry. Search any job title in any city, state or country, with 12 optional filters. Large searches go past 1,000 jobs. No login.
Pricing
from $0.69 / 1,000 jobs
Rating
0.0
(0)
Developer
ClearPath
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
8 days ago
Last modified
Categories
Share
From Clearpath, creators of the Welcome to the Jungle and Wellfound job scrapers, with 40,000+ combined lifetime runs across these two actors.
Why choose this Glassdoor jobs scraper?
- Full job ads, ready to use. Collect the description as HTML and plain text, with the Glassdoor apply link. Full details are enabled by default, at no extra charge.
- Pay and employer context together. Low, median and high pay, currency, period and employer-stated or estimated source. Add company size, industry, revenue, CEO and ratings wherever Glassdoor supplies them. Join employer reviews using
employer_id. - Detailed output, fast. A recorded New York search returned 871 unique jobs in 65 seconds, all with descriptions and apply links. 836 included all three pay values. Results and runtime vary by search.
Try 20 software engineer jobs in New York
{"keywords": ["software engineer"],"location": "New York","maxItems": 20,"includeDetails": true}
Open the actor input, select JSON and paste this example. includeDetails: true requests full descriptions and company profiles. Pay and employer fields depend on what Glassdoor publishes. Export JSON for nested ratings, or CSV/Excel for a spreadsheet.
The hero uses a collected Atrium Staffing LLC job, with a shortened description. Its pay values are annual USD and employer-stated. The speed result used software engineer, New York, postedWithinDays: "30", maxItems: 1000 and full details; the 20-job trial does not reproduce that benchmark.
| Clearpath Job Boards | |
|
You are here |
Jobs & company profiles |
|
Jobs & employer ratings |
Aggregated job listings |
|
European job listings |
Startup job listings |
|
Jobs in DE, AT, BE and NL |
UK jobs & advertised pay |
|
Company career sites |
Startups & founders |
Copy to your AI assistant
clearpath/glassdoor-jobs-scraper on Apify returns Glassdoor job listings, one row per unique job with 72 fields: title, the full description (description_html and description_text), apply_url, pay_p10/pay_p50/pay_p90 with pay_currency, pay_period and pay_source (EMPLOYER_PROVIDED or ESTIMATED), location with coordinates, and the employer's company profile and ratings with employer_id, which joins to zen-studio/glassdoor-reviews-scraper. keywords runs one search per entry (leave it empty and set location to collect every job in that place); location takes a city, state or country name (empty searches the United States); maxItems is per keyword (default 100, 0 = every job Glassdoor shows). The description, job types, remote status, address, coordinates and company profile need includeDetails=true (the default, no extra charge); with false only the search fields remain. Optional filters, all off by default: postedWithinDays (1, 3, 7, 14, 30), jobType, seniority, remoteOnly, easyApplyOnly, minSalary and maxSalary (yearly, local currency; jobs that show no pay are kept), minRating (1-4), companySize (1 = 1-200 employees, 2 = 201-500, 3 = 501-1,000, 4 = 1,001-5,000, 5 = 5,001+), radius (0 = the city itself; Glassdoor's default is 25 miles), sortBy=date (newest first), company (Glassdoor company URL or ID), sectorId (take sector_id from any result) and excludeJobIds (known job_id values are skipped and not charged). Glassdoor's listed total for a search is larger than what it shows; a run collects what it shows, past 1,000 jobs for large searches. Charging is per job row delivered ($0.00099, lower on higher plans) plus $0.00399 once per run; jobs left out by filters or excludeJobIds are never charged. No Glassdoor account or login is needed. Full specification: https://api.apify.com/v2/actors/clearpath~glassdoor-jobs-scraper/builds/default and current pricing at https://apify.com/clearpath/glassdoor-jobs-scraper. To reach the maintainers, add feedback="<what you needed and did not get>" to any run, including one that worked: feature requests, a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. The run returns its data exactly as it would without the note, and a human reads every note.
How to scrape Glassdoor jobs
- Add one or more job titles or keywords, such as
software engineerornurse. Each one is its own search. - Add a location: a city (
London), a state (Texas) or a country (Germany). Leave it empty to search the United States, or leave the keywords empty to collect every job in that place. - Set how many jobs you want per keyword. The default is 100;
0collects every job Glassdoor shows for the search. - Run it. Jobs stream into the dataset as they arrive, so you can export before the run finishes.
Input options
| Parameter | Type | Default | Meaning |
|---|---|---|---|
keywords | array | none | Job titles or keywords, one search each. Duplicates are ignored. |
location | string | United States | City, state or country. The run log names the place it matched. |
maxItems | integer | 100 | Jobs per keyword. 0 collects every job Glassdoor shows. |
includeDetails | boolean | true | Full description, job type, remote status, address and coordinates, and the company profile. No extra charge. |
postedWithinDays | string | any | 1, 3, 7, 14 or 30. |
jobType | string | any | fulltime, parttime, contract, internship, temporary, apprenticeship. |
seniority | string | any | internship, entrylevel, midseniorlevel, director, executive. |
remoteOnly | boolean | false | Only jobs that can be done from home. |
easyApplyOnly | boolean | false | Only jobs you can apply to directly on Glassdoor. |
minSalary / maxSalary | integer | none | Yearly pay bounds in the local currency. Jobs that show no pay are kept. |
minRating | string | any | Company rating of at least 1 to 4 stars. |
companySize | string | any | 1 (1 to 200 employees), 2 (201 to 500), 3 (501 to 1,000), 4 (1,001 to 5,000), 5 (5,001 or more). |
radius | string | 25 miles | 0 for the exact location, or 5, 10, 15, 25, 50, 100 miles. |
sortBy | string | relevance | date puts the newest jobs first. |
company | string | none | Only one company: a Glassdoor company URL or numeric company ID. |
sectorId | integer | none | Only one sector, by the sector_id shown on any result, for example 10013 for Information Technology. |
excludeJobIds | array | none | Job IDs you already have. They are skipped and not charged. |
Every filter is off by default, so nothing narrows your results unless you ask for it. When a job's own data contradicts a filter you set, for example a job that is not Easy Apply in an Easy Apply search, it is left out and not charged.
Useful recipes
Several roles in one city
{"keywords": ["software engineer", "data engineer", "product manager"],"location": "London","maxItems": 200}
Each keyword collects up to 200 jobs. A job that matches two keywords appears once.
Every new job, every day
{"keywords": ["nurse"],"location": "Texas","postedWithinDays": "1","sortBy": "date","maxItems": 0}
Schedule this daily. To skip jobs you already have, pass their job_id values in excludeJobIds; they are neither collected nor charged again.
Remote part-time roles
{"keywords": ["customer service"],"remoteOnly": true,"jobType": "parttime","maxItems": 100}
Well-paid jobs at small companies
{"keywords": ["software engineer"],"location": "New York","minSalary": 150000,"companySize": "1","maxItems": 100}
Every opening at one company in one city
{"location": "Berlin","company": "https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm","maxItems": 0}
The city itself, not the commuter belt
{"keywords": ["accountant"],"location": "Chicago","radius": "0","maxItems": 100}
Glassdoor's default distance is 25 miles. At 0 you get jobs filed in the city, plus remote roles open to the whole state.
What data you get from Glassdoor
Each row is one job listing, with 72 fields always present:
- The job: title, normalized title, occupation, job types, remote options, posting age and date, Easy Apply, sponsored and expired flags.
- The full ad: the description as HTML and as plain text, screening questions and employer media when the listing has them.
- Pay: the low (10th percentile), median and high (90th percentile) of the pay range, with currency, period and whether the employer stated it or Glassdoor estimated it.
- Where: location name and type, street address and postal code when published, city, state, country and coordinates.
- Links: the Glassdoor job page, the apply link and the search page that shows the job.
- The employer: Glassdoor company ID, name, logo, rating, size, revenue, type, founding year, headquarters, website, CEO, industry and sector, the full company ratings breakdown and current Glassdoor awards, with links to the company's reviews, salaries, benefits and photos.
This is a real row from a run with this input:
{"keywords": ["software engineer","nurse"],"location": "New York","maxItems": 200,"easyApplyOnly": true,"minSalary": 120000,"companySize": "1"}
{"record_type": "job","job_id": 1010208487030,"title": "Python Developer with Risk Modelling","normalized_title": "software developer","occupation": "software developer","occupation_codes": ["5NN53","EG6MP","EHPW9","HJSX6"],"occupation_group_id": 1007,"occupation_category_id": 10132,"job_url": "https://www.glassdoor.com/job-listing/j?jl=1010208487030","apply_url": "https://www.glassdoor.com/partner/jobListing.htm?pos=101&ao=1110586&tgt=APPLY_START&s=344&guid=000001a11162b28287b4d01e9f3d52ef&src=GD_JOB_VIEW&t=NS&vt=w&ea=1&cs=1_9fc8e9f6&cb=1791293043514&jobListingId=1010208487030&jrtk=5-yul1-3-1k48m5cl72k04m00---6NYlbfkN0CMMQh_vh03lgJPJxo1psrfTeMB0ngTh1sO5jtgNxiUf1ffF7uKkEtUZhJYcHABFA6SSxjHdH-5fdMS0UvqQIXkdE0amt70PPx5JHCTuL9Xv6gE28EG3XunNY3dUK7HkuDHWyN__UdL2X0L5hgSAb7whWWF4SNEJZMC1SEuE0uYbyoJW28neQaONGvTXXo9sKOr9jFGDefAb0210VN2bUxzRMD_hrh9aIgvHDE5vyDzmDB7XMZjyvp9Emgr0TFW2KCFC6iRDfVVfL7EWy4DxCQmRmD-Po-D80pBCYL-uw406Om-KuvUFrfqJDOUTsoDPPk_kc2U1un3-FpcbZsZlsjch8Emxd3IOyiw0oGnwcLxLAg5RdVhJkb0YSQ6fSC6CrivF_CkouU9MfSzAtMyyNb0j5GW4ZY1EJhSe-YLNqXumEgCFGSlAd_vppmis1OjUdLZjnVeKwK0dvt57wsazfZEy838PCdSMZfXm4EgV9OC-G7sHejjEGJR51UozvwbQkAoezd25dmpEZDEvCJUT63s-Pm65iYYqOvAX4BddF0zC7rGG4z3Gb4bAlSfAO4lAZ1rexXpaycyFw%3D%3D","search_page_url": "https://www.glassdoor.com/Job/new-york-ny-software-developer-jobs-SRCH_IL.0,11_IC1132348_KO12,30.htm?jl=1010208487030&srs=JV_APPLYPANE","easy_apply": true,"is_sponsored": false,"is_expired": false,"age_in_days": 74,"posted_date": "2026-09-23","posted_label": "Jul 23, 2026","job_types": ["contract"],"remote_work_types": [],"location_name": "New York, NY","location_id": 1132348,"location_type": "CITY","country_id": 1,"address": null,"city": "New York, NY","state": "New York State","country": "United States","postal_code": null,"latitude": 40.71417,"longitude": -74.00639,"pay_p10": 104430.0,"pay_p50": 132852.0,"pay_p90": 169008.0,"pay_currency": "USD","pay_period": "ANNUAL","pay_source": "ESTIMATED","description_html": "<div><p><b>Job Description:</b></p>\n<p>1. Collaborate with different line of businesses to convert Excel-based business logic and calculations to into python programs/tools to support Ul dashboard creation that presents scenario results and visualizations of metrics to senior management.</p>\n<p>2. Strong working knowledge of CCAR stress testing or scenario-driven stress testing, balance sheet line item modeling and projections, Liquidity stress testing and Interest Rate Risk (IRR) analytics, sensitivity analysis, curve construction and treasury analytics.</p>\n<p>3. Collaborate on the development of REST APis that interface with scenario engines, model layers and user applications.</p></div>","description_text": "Job Description:\n\n1. Collaborate with different line of businesses to convert Excel-based business logic and calculations to into python programs/tools to support Ul dashboard creation that presents scenario results and visualizations of metrics to senior management.\n\n2. Strong working knowledge of CCAR stress testing or scenario-driven stress testing, balance sheet line item modeling and projections, Liquidity stress testing and Interest Rate Risk (IRR) analytics, sensitivity analysis, curve construction and treasury analytics.\n\n3. Collaborate on the development of REST APis that interface with scenario engines, model layers and user applications.","employer_id": 252151,"employer_name": "Delan Associates Inc","employer_short_name": "Delan Associates Inc","employer_name_on_listing": "Delan Associates, Inc","division_name": null,"employer_logo_url": "https://media.glassdoor.com/sql/252151/delan-associates-inc-squarelogo-1428399422815.png","employer_rating": 4.2,"employer_awards": {"best_places_to_work": [],"best_led_companies": [],"best_ceos": []},"company_size": "51 to 200 Employees","company_revenue": "$5 to $25 million (USD)","company_type": "Company - Private","company_founded": null,"company_headquarters": "Freeport, NY","company_website": "www.delanassociates.com","company_ceo": "Mike Chung","company_ceo_photo_url": null,"industry": "Accounting & Tax","industry_id": 200001,"sector": "Financial Services","sector_id": 10010,"company_ratings": {"overall": 4.2,"ceo_approval": 1.0,"ceo_ratings_count": 4,"recommend_to_friend": 1.0,"career_opportunities": 3.0,"compensation_and_benefits": 3.6,"culture_and_values": 4.8,"senior_management": 4.5,"work_life_balance": 4.5},"company_overview_url": "https://www.glassdoor.com/Overview/Working-at-Delan-Associates-Inc-EI_IE252151.11,31.htm","company_reviews_url": "https://www.glassdoor.com/Reviews/Delan-Associates-Inc-Reviews-E252151.htm","company_salaries_url": "https://www.glassdoor.com/Salary/Delan-Associates-Inc-Salaries-E252151.htm","company_benefits_url": "https://www.glassdoor.com/Benefits/Delan-Associates-Inc-Benefits-E252151.htm","company_photos_url": "https://www.glassdoor.com/Photos/Delan-Associates-Inc-Office-Photos-E252151.htm","employer_content": null,"urgency_signal": null,"screening_questions": [],"indeed_apply": null,"source_job_id": "d7899f1d8a550767","search_keyword": "software engineer","search_location": "New York, NY","scraped_at": "2026-10-06T13:24:05+00:00"}
This job's pay is Glassdoor's estimate (pay_source is ESTIMATED); employer-stated pay shows EMPLOYER_PROVIDED. Its company has no current awards, so the three award lists are empty; awarded employers carry each award's name, rank and period.
When fields are empty
- Pay: about nine in ten US and UK jobs show a pay range. German listings rarely do, so most Berlin rows have no pay. A job without pay has all six pay fields empty, never zeros.
- Details off: with
includeDetailsset tofalse, the description, job type, remote status, address, coordinates and company profile fields are empty, and the search fields (title, employer, location, pay, rating, apply link) remain.
Exports
JSON keeps the nested company ratings and award lists intact. Two CSV downloads are offered on every run: Jobs holds the main columns (title, employer, location, pay, age, job type, apply link) and Pay holds the pay range per job with employer size, industry and sector, for salary analysis in a spreadsheet. Excel, XML and RSS are available too. Jobs are pushed as they arrive, so a long run can be exported while it is still going.
employer_id matches the company ID in the Glassdoor Reviews Scraper, so you can join every job to its employer's reviews.
Pricing
You pay per job delivered: $0.99 per 1,000 jobs on the Free plan. Bronze pays $0.89, Silver $0.79, Gold and above $0.69. The full details cost nothing extra. Jobs your filters leave out, and jobs listed in excludeJobIds, are never charged.
| What you collect | Job charges (Free plan) |
|---|---|
| 100 jobs | $0.10 |
| 1,000 jobs | $0.99 |
| 10,000 jobs | $9.90 |
Free Apify accounts get a trial: up to 100 jobs per run, for a small number of runs. Paid plans have no cap. Current rates for your plan are on the pricing tab.
FAQ
Do I need a Glassdoor account? No. No login, no cookies, nothing to configure.
Why did my run collect fewer jobs than Glassdoor says it has? Glassdoor's listed total for a search counts more jobs than it actually shows in results; the run log prints that total next to what was collected. The run collects what Glassdoor shows, and for large searches it reaches well past a single results list: a broad software engineer search in the United States delivered 1,500 of 1,500 requested unique jobs in one run. If you need more, split the search: add a filter, a narrower location or a second keyword.
Are sponsored jobs included? Yes, flagged with is_sponsored, which is Glassdoor's own marking. Glassdoor places sponsored jobs first, so a small run is often sponsored throughout. Over a whole search the share varies: about one job in ten in a New York software engineer run over the last 30 days, all 1,500 jobs of a broad search with no location, and none in London. To keep only unsponsored jobs, filter on is_sponsored after the run.
What do pay_p10, pay_p50 and pay_p90 mean? The low, median and high of the job's pay range, in pay_currency per pay_period (ANNUAL, MONTHLY, HOURLY and so on). pay_source says whether the employer stated the pay or Glassdoor estimated it.
Can I search outside the United States? Yes. Use any city, state or country as the location, for example London, Berlin or Germany. Pay comes in the local currency.
How do I get only new jobs on a schedule? Run daily with postedWithinDays set to 1, and pass the job_id values you already have in excludeJobIds. See the recipe above.
Can I see the company's reviews too? Every row carries employer_id and a link to the company's reviews. The Glassdoor Reviews Scraper collects them with the same company ID.
A filter seems to let in a job that does not match. Glassdoor's own filters are not exact. Where the job's data shows it does not match (Easy Apply, salary, company size, rating, posting age, job type, remote, company), the run drops it before charging. Jobs with no data on the point, for example no salary shown, are kept.
Can I call it from my own code or connect it to other tools? Yes. Start it from the Apify Console, on a schedule, from Python or JavaScript with the Apify client, or through Zapier, Make and other integrations listed on the Integrations tab. Results can be fetched in JSON, CSV or Excel the moment a run finishes.
Support
Found a field missing, a place that will not match, or a result that looks wrong? Open an issue on the Actor's Issues tab with the input you used. We read every one. Agents can add a feedback note to any run instead, including a run that worked.

