Glassdoor Company Overview Universal Scraper
Pricing
from $3.40 / 1,000 results
Glassdoor Company Overview Universal Scraper
๐ข Get the full Glassdoor profile of any company from its name or URL: rating & 6 sub-ratings, CEO approval, recommend-to-friend, business outlook, review/salary/benefit/job counts, size, HQ, industry, revenue, website, founding year, CEO, competitors, awards. No login, no proxy.
Pricing
from $3.40 / 1,000 results
Rating
0.0
(0)
Developer
Scrapifier
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
Glassdoor Company Overview Scraper
Scrape the full company profile from Glassdoor by company name or Glassdoor URL and export it as JSON, CSV or Excel, or pull it straight from the API.
โก For every company you get the overall rating and all six sub-ratings (career opportunities, compensation and benefits, culture and values, diversity and inclusion, senior management, work-life balance), CEO approval, recommend-to-friend and positive business outlook percentages, the review, salary, benefit, photo and job counts, size, headquarters, industry and sector, revenue bucket, stock ticker, website, founding year, CEO name, description, mission, competitors, Best Places to Work awards, the links to every Glassdoor section of the company and, optionally, ratings by demographic group. One row per company, with no login, no cookies and no proxy. You pay per company.
๐ฏ Why scrape Glassdoor company profiles?
- Lead enrichment: turn 500 company names into rating, headcount, headquarters, industry, revenue bucket and website, joined back to your CRM with
matchedInput. - Employer branding: schedule a weekly run on your company and its competitors and chart
rating,ceoApprovalPercentandrecommendToFriendPercentover time. - Due diligence and investing: employee rating, CEO approval and business outlook for a whole portfolio or target list, one input per company.
- Recruiting and job search: size, HQ, culture ratings and open job count of a future employer in one row before you apply.
- Data pipelines: the
linksblock hands you the reviews, salaries, interviews and jobs URLs for the other Glassdoor scrapers.
๐ What data does Glassdoor Company Overview Scraper extract?
| Field | Description |
|---|---|
employerId | Glassdoor employer id |
name | Company name |
url | Glassdoor overview page of the company |
logoUrl | Square logo |
website | Company website |
headquarters | Headquarters (city, state or country) |
yearFounded | Founding year |
companyType | Company - Public, Company - Private, Nonprofit... |
size, sizeCategory | Employee count bucket (for example 10000+ Employees) and its category (SMALL to GIANT) |
revenue | Revenue bucket (for example $10+ billion (USD)) |
stockSymbol | Ticker when the company is public |
industry, industryId, sector, sectorId | Primary industry and sector with their Glassdoor ids |
ceoName | CEO name |
description, mission | Company description and mission statement |
rating | Overall rating (1 to 5) |
ratings.* | The six sub-ratings: careerOpportunities, compensationAndBenefits, cultureAndValues, diversityAndInclusion, seniorManagement, workLifeBalance |
recommendToFriendPercent | Percentage of employees who would recommend the company to a friend |
ceoApprovalPercent | Percentage of CEO approval |
positiveBusinessOutlookPercent | Percentage of positive business outlook |
reviewCount, salaryCount, benefitCount, photoCount, jobCount | Number of reviews, salary reports, benefit reviews, photos and open jobs |
competitors[] | Competitors as { employerId, name } |
awards.* | bestPlacesToWork years, bestLedCompanies years, topCeo boolean |
links.* | reviews, salaries, interviews, jobs, benefits, photos, faq pages of the company |
demographicRatings.* | Ratings by gender, race/ethnicity, sexual orientation, disability, parent/caregiver and veteran status, when includeDemographicRatings is on |
matchedInput | The name or URL of your input that produced this row |
With flatten enabled, the sub-ratings become rating_* columns, the links url_* columns, the awards award_bestPlacesToWork, award_bestLedCompanies and award_topCeo, competitors a | separated string, and demographic ratings are dropped so the CSV stays flat.
๐ How to scrape Glassdoor company profiles
- Open the Actor and type company names in
companyNames(Google,Deloitte,Airbnb; exact spelling is not required), or paste Glassdoor company URLs instartUrls(Overview, Reviews, Salaries, Interviews, Jobs or Benefits page). - Tick Include demographic ratings if you want the average rating given by each demographic group.
- Tick Flatten output if you plan to open the result in Excel or Google Sheets.
- Click Start. The Actor passes Glassdoor's Cloudflare check once, resolves each name to its employer id, then reads every profile from Glassdoor's own company API.
- Open the Storage tab to preview the companies and export them as JSON, CSV, Excel or XML, or read them from the dataset API.
The same run can be started from the Apify API, the Python or JavaScript client, or put on a schedule for weekly monitoring.
๐ฅ Input parameters
| Field | Key | Type | Default | Description |
|---|---|---|---|---|
| Glassdoor company URLs | startUrls | array of URLs | none | Any Glassdoor page of a company (Overview, Reviews, Salaries, Interviews, Jobs or Benefits URL). One company profile per URL. |
| Company names | companyNames | array of strings | ["Google", "Microsoft", "Airbnb"] | Company names, resolved with Glassdoor's own search. Exact spelling is not required. |
| Include demographic ratings | includeDemographicRatings | boolean | false | Add the average rating given by each demographic group (gender, race/ethnicity, sexual orientation, disability, parent/caregiver, veteran status) when Glassdoor publishes them. |
| Flatten output (CSV / Excel friendly) | flatten | boolean | false | One flat row per company: rating_*, url_* and award_* columns, competitors as a | separated string. Demographic ratings are dropped. |
| Report input status | emitInputStatus | boolean | true | Write an input_status report to the OUTPUT record (which company returned nothing, and why). |
| Max Cloudflare retries | maxChallengeRetries | integer | 8 | How many times to reload the page while waiting for Glassdoor's Cloudflare check to clear (1 to 20). |
| Proxy (not recommended) | proxyConfiguration | object | none | Leave empty: Glassdoor blocks proxy IP ranges but accepts Apify's own egress IP. Only set it if you need a specific country egress. |
Example input:
{"companyNames": ["Google", "Microsoft", "Airbnb"],"startUrls": [{ "url": "https://www.glassdoor.com/Overview/Working-at-Deloitte-EI_IE2763.11,19.htm" }]}
Each input produces exactly one company, and a company given both by name and by URL is returned once. A pasted URL must contain the Glassdoor employer id (E9079 or EI_IE9079 in the path); Overview, Reviews, Salaries, Interviews, Jobs, Benefits, Photos and FAQ pages all work. To discover companies by location, industry, rating or size instead, use the sibling Glassdoor Company Search Scraper.
๐ค Output example
Each company is one dataset item, exportable as JSON, CSV, Excel or via the API.
{"employerId": 9079,"name": "Google","url": "https://www.glassdoor.com/Overview/Working-at-Google-EI_IE9079.11,17.htm","website": "https://goo.gle/4ehVuXi","headquarters": "Mountain View, CA","yearFounded": 1998,"companyType": "Company - Public","size": "10000+ Employees","sizeCategory": "GIANT","revenue": "$10+ billion (USD)","stockSymbol": "GOOG","industry": "Internet & Web Services","sector": "Information Technology","ceoName": "Sundar Pichai","mission": "Organize the world's information and make it universally accessible and useful.","rating": 4.4,"ratings": {"careerOpportunities": 4.2,"compensationAndBenefits": 4.5,"cultureAndValues": 4.2,"diversityAndInclusion": 4.4,"seniorManagement": 3.9,"workLifeBalance": 4.2},"recommendToFriendPercent": 87,"ceoApprovalPercent": 83,"positiveBusinessOutlookPercent": 82,"reviewCount": 70954,"salaryCount": 191450,"benefitCount": 30289,"photoCount": 621,"jobCount": 5419,"competitors": [{ "employerId": 1651, "name": "Microsoft" },{ "employerId": 1138, "name": "Apple" },{ "employerId": 40772, "name": "Meta" }],"awards": { "bestPlacesToWork": ["2026"], "bestLedCompanies": [], "topCeo": false },"links": {"reviews": "https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm","salaries": "https://www.glassdoor.com/Salary/Google-Salaries-E9079.htm","interviews": "https://www.glassdoor.com/Interview/Google-Interview-Questions-E9079.htm","jobs": "https://www.glassdoor.com/Jobs/Google-Jobs-E9079.htm"},"matchedInput": "Google"}
With includeDemographicRatings set to true, each item also carries a demographicRatings block:
{"demographicRatings": {"gender": { "man": 4.3, "woman": 4.2, "nonBinary": 4 },"raceEthnicity": { "asian": 4.4, "white": 4.1, "blackOrAfricanAmerican": 4.3, "hispanicOrLatinx": 4.3 },"sexualOrientation": { "yes": 4, "no": 4.3 },"disability": { "yes": 3.8, "no": 4.3 },"parentOrCaregiver": { "parentOrGuardian": 4.1, "caregiver": 4.2, "no": 4.3 },"veteranStatus": { "yes": 4.1, "no": 4.3 }}}
The run's OUTPUT record also holds the run statistics (companies, duplicates, requests, errors) and, per input, an input_status entry with the resolved employer id and a status: ok, ok_best_match, duplicate, not_found, error or no_employer_id.
๐ก Ready-to-run examples
Big Tech snapshot (tested)
{ "companyNames": ["Google", "Microsoft", "Apple", "Meta", "Amazon", "Netflix"] }
Big Four and MBB consulting firms compared, flat CSV (tested)
{ "companyNames": ["Deloitte", "PwC", "EY", "KPMG", "McKinsey & Company", "Boston Consulting Group", "Bain & Company", "Accenture"], "flatten": true }
Company profiles from Glassdoor URLs, any section works (tested)
{ "startUrls": [{ "url": "https://www.glassdoor.com/Overview/Working-at-Airbnb-EI_IE391850.11,17.htm" },{ "url": "https://www.glassdoor.com/Reviews/Stripe-Reviews-E671932.htm" },{ "url": "https://www.glassdoor.com/Salary/Spotify-Salaries-E408251.htm" }] }
Profiles with ratings by demographic group
{ "companyNames": ["Google", "Microsoft", "Airbnb"], "includeDemographicRatings": true }
๐ฐ Pricing: how much does it cost to scrape Glassdoor company profiles?
From $5.00 per 1,000 companies on the free plan, with automatic volume discounts down to $3.40 per 1,000 on higher Apify plans. You pay only for the results you receive, there is no subscription and no start fee. New Apify accounts get free monthly platform credits to try it.
Cost is driven purely by the number of companies returned, and each name or URL produces exactly one company, so the size of your input list is your cap. A company that is not found, or given twice, is not charged twice.
โ๏ธ Performance, proxies and limits
- No proxy needed, and not recommended. Glassdoor sits behind Cloudflare and blocks proxy IP ranges (residential and datacenter), but accepts Apify's own egress IP. The Actor opens a real browser, clears the check once, then calls Glassdoor's own company API from the page. Leave
proxyConfigurationempty unless you need a specific country egress; if set, one sticky IP is kept for the whole run because Cloudflare binds its clearance to the IP. - Speed: about 1 company per 2 seconds after the roughly 10 second start-up (a 1.5 second pause between companies respects Glassdoor's rate limits). 100 companies take about 3.5 minutes.
- Memory: the default run option is 2048 MB, with a 3600 second timeout.
- Name resolution: names go through Glassdoor's autocomplete, the exact ("direct hit") company wins, otherwise the first suggestion. The Actor then scans up to 3 pages of Glassdoor's company search for that employer id; if the index disagrees (rare, merged profiles), it returns the best name match with the status
ok_best_match. - Deduplication: companies are deduplicated by
employerIdwithin a run, so a company given by name and by URL is returned once. Results are pushed to the dataset in batches of 100. - Empty input: if neither names nor URLs are given, the Actor falls back to an unfiltered Glassdoor company search and returns the first 100 companies.
- Blocked runs: the Cloudflare check is reloaded up to
maxChallengeRetriestimes (default 8). If it never clears, the run ends withcloudflare_blockedin theOUTPUTrecord; retry later. A transient 401 or 403 triggers one re-check and up to 3 retries per call. - Not found: an unknown name or a URL without an employer id produces no item, only an
input_statusentry (not_found,no_employer_id), and the run goes on.
๐ Integrations and API
Run Glassdoor Company Overview Scraper from the Apify API, the Python or JavaScript client, or on a schedule. Connect it to Make, Zapier, n8n, Google Sheets, Slack or any webhook through Apify integrations. Every run's dataset is available as JSON, CSV, Excel or XML from the dataset API.
curl -X POST "https://api.apify.com/v2/acts/scrapifier~glassdoor-company-overview-universal-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-H "Content-Type: application/json" \-d '{ "companyNames": ["Google", "Microsoft", "Airbnb"] }'
โ FAQ
Is it legal to scrape Glassdoor company profiles?
The Actor only reads company data that Glassdoor publishes to anyone without logging in. Profiles hold little personal data (the CEO's name), but process the output in line with GDPR and other privacy laws, respect Glassdoor's terms of use, and stay responsible for how you use the data. This is not legal advice.
Do I need a Glassdoor account, login or cookies?
No. Nothing to log in to, no cookies to paste, no proxy to configure.
Can I export Glassdoor company data to Excel or Google Sheets?
Yes. Every run's dataset downloads as CSV, XLSX, JSON or XML from the Storage tab, and the Google Sheets integration can push new rows to a sheet automatically. Turn on flatten so sub-ratings, links and awards become plain columns.
How many companies can I scrape in one run?
One company per name or URL you give: the length of your input list is the only limit, and cost scales with it. At about 1 company per 2 seconds, 500 companies fit comfortably in the default 3600 second timeout.
What happens if a company name is ambiguous or not found?
Glassdoor's autocomplete picks the exact match first, then its first suggestion, and matchedInput tells you which input produced each row. An unknown name gets a not_found entry in input_status. For ambiguous names, add a distinguishing word (Orange France) or paste the Glassdoor URL.
Does it also return the reviews, salaries or interviews themselves?
Not this Actor: it returns the counts and the links to those pages. Feed links.reviews, links.salaries or links.interviews into the sibling scrapers below.
Why does the Actor refuse a proxy and what if a run is blocked?
Glassdoor blocks known proxy and hosting IP ranges but accepts Apify's egress IP, so the Actor runs without a proxy. If a run ends with cloudflare_blocked, retry later or raise maxChallengeRetries; input_status shows which inputs were processed.
๐ Related scrapers
- Glassdoor Company Search Scraper: find companies by location, industry, minimum rating and size, with the same output row.
- Glassdoor Reviews Scraper: employee reviews with ratings, pros, cons, advice to management and company responses.
- Glassdoor Salaries Scraper: salary estimates per job title and company.
- Glassdoor Interviews Scraper: interview experiences and the questions asked, by company.
- Glassdoor Jobs Scraper: job listings by keyword and location, with salary estimates.
- Trustpilot Reviews Scraper: customer reviews and TrustScores for any company.
๐ฌ Support
Questions, bugs or a feature request? Open an issue in the Issues tab of this Actor, I answer quickly. If Glassdoor Company Overview Scraper saves you time, a rating on the Store helps others find it.