Indeed Company Reviews Universal Scraper
Pricing
from $3.40 / 1,000 results
Indeed Company Reviews Universal Scraper
โญ Scrape Indeed employee reviews of any company by name or URL. Get the overall rating and 4 sub-ratings, title, full text, pros & cons, reviewer's job title, location, current/former status, helpful votes & dates as clean structured data. No login, pay per result.
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
4 hours ago
Last modified
Categories
Share
Indeed Company Reviews Scraper
Scrape employee reviews of any company from Indeed by company name or by pasting its Indeed company-page URL, and export them as JSON, CSV or Excel, or pull them straight from the API.
โก For every review you get the overall rating and four sub-ratings (work/life balance, compensation and benefits, job security and advancement, management) plus the culture rating, the headline and full text, the pros and cons when the reviewer filled them, the reviewer's job title, location and country, current or former employee, helpful votes and the date. Works on 20 Indeed country sites, with no login and no cookies: Apify's built-in proxy is used automatically. You pay per review.
๐ฏ Why scrape Indeed company reviews?
- Employer branding: track your company's rating, sub-ratings and what new reviews say, week after week, and compare with competitors.
- HR analytics: quantify what employees praise or complain about (management, pay, schedules) across thousands of reviews instead of reading them one by one.
- Due diligence and investing: employee sentiment is a leading indicator. Indeed's review base skews to frontline and hourly workers, a population Glassdoor covers less.
- Recruiting: read the real pros and cons of an employer before interviewing, filtered by job title or country.
- Research and NLP: full review text with structured ratings at scale, ideal for sentiment analysis datasets.
- Complement Glassdoor: same companies, different reviewer population. Scrape both and compare.
๐ What data does Indeed Company Reviews Scraper extract?
| Field | Description |
|---|---|
reviewId | Indeed's unique review id |
company, companySlug | Company name and its Indeed page slug |
url | Direct link to the review on Indeed |
title | Review headline |
text | Full review text |
pros, cons | Pros and cons, when the reviewer filled them |
rating | Overall rating (1 to 5) |
ratingWorkLifeBalance, ratingCompensationBenefits, ratingJobSecurityAdvancement, ratingManagement, ratingCulture | Sub-ratings (1 to 5, null when the reviewer skipped one) |
jobTitle | Reviewer's job title |
location, country | Reviewer's location and country code |
isCurrentEmployee | Current or former employee |
date, dateText | Review date (YYYY-MM-DD) and as displayed |
helpfulVotes, unhelpfulVotes | Community votes on the review |
matchedInput | The company name or URL that produced this review |
Every field is a flat column, so CSV and Excel exports need no post-processing.
๐ How to scrape Indeed company reviews
- Type one or more Company names as they appear on Indeed (
Google,General Motors), or paste Indeed company URLs (any/cmp/...page, from any country domain). - Set Max reviews per company. Large employers expose thousands of reviews, collected 20 per page.
- Optionally filter: Reviews from country (
US,FR,GB...) and Job title. - Click Start. The Actor collects the reviews, 20 per page.
- Open the Storage tab to preview the reviews 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 |
|---|---|---|---|---|
| Company names | companyNames | array of strings | ["Google"] (prefill) | Company names as on Indeed; spaces are fine, Indeed's own redirect finds the right page. |
| Indeed company URLs | startUrls | array of URLs | none | Any Indeed company page (/cmp/Google, /cmp/Google/reviews), from any country domain. |
| Max reviews per company | maxReviewsPerCompany | integer | 100 | 0 = everything Indeed exposes. Pages of 20. |
| Reviews from country | reviewsFromCountry | string | none | Two-letter code (US, FR, GB) or ALL. Empty = Indeed's default selection. |
| Job title | jobTitle | string | none | Only reviews written by employees with this job title. |
| Indeed country site | country | select | www | Domain used for company names, one of 20 (pasted URLs keep their own domain). |
| Flatten output | flatten | boolean | false | Output is already flat; reserved for future nested fields. |
| Report input status | emitInputStatus | boolean | true | Write an input_status report to the run's OUTPUT record. |
| Max retries | maxChallengeRetries | integer | 3 | How many times to retry a page before giving up. |
| Proxy configuration | proxyConfiguration | object | Apify Proxy on | Keep Apify Proxy on. A residential proxy gives the most reliable runs. |
Example input:
{"companyNames": ["Google", "Bustle Digital Group"],"maxReviewsPerCompany": 100}
๐ค Output example
Each review is one dataset item, exportable as JSON, CSV, Excel or via the API.
{"reviewId": "52bd38e28684ca4b","company": "Google","companySlug": "Google","url": "https://www.indeed.com/cmp/Google/reviews/amazing-staff?id=52bd38e28684ca4b","title": "Amazing staff","text": "Working at Google has been a great experience. The staff are supportive, welcoming, and genuinely committed to helping everyone succeed. Highly recommend!","pros": null,"cons": null,"rating": 5,"ratingWorkLifeBalance": null,"ratingCompensationBenefits": null,"ratingJobSecurityAdvancement": null,"ratingManagement": null,"ratingCulture": null,"jobTitle": "No","location": "North Carolina","country": "US","isCurrentEmployee": true,"date": "2026-08-28","dateText": "August 28, 2026","helpfulVotes": 0,"unhelpfulVotes": 0,"matchedInput": "Google"}
The run's OUTPUT record also holds the statistics and, per company, an input_status entry with the reviews Indeed announced, the number collected and the status (ok, empty_or_not_found, error).
๐ก Ready-to-run examples
One company's latest reviews (tested)
{ "companyNames": ["Google"], "maxReviewsPerCompany": 100 }
US-only reviews of a retailer
{ "companyNames": ["Walmart"], "reviewsFromCountry": "US", "maxReviewsPerCompany": 200 }
Reviews by one job title
{ "companyNames": ["Amazon"], "jobTitle": "Delivery Driver", "maxReviewsPerCompany": 200 }
From a company URL, French office reviews
{ "startUrls": [{ "url": "https://www.indeed.com/cmp/Google/reviews" }], "reviewsFromCountry": "FR", "maxReviewsPerCompany": 100 }
Weekly employer-brand monitoring: schedule the Actor with your company and its competitors in companyNames and chart rating and the sub-ratings over time.
๐ฐ Pricing: how much does it cost to scrape Indeed reviews?
From $5.00 per 1,000 reviews 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 reviews returned: cap it with maxReviewsPerCompany, and narrow the set with reviewsFromCountry or jobTitle before you pay for it.
โ๏ธ Performance, proxies and limits
- Proxy: keep the default Apify Proxy setting. A residential proxy gives the most reliable runs. Images, media and fonts are skipped to keep bandwidth low.
- Pagination: 20 reviews per page, deduplicated by review id. Indeed's default order repeats after a few pages; the Actor then continues with
sort=date_descto collect a second unique window. A company ends at your cap, when both orders are exhausted, or when Indeed stops exposing new ids (input_statustruncatedif the announced count is higher). - Company names: resolved through Indeed's own company search (GraphQL
findEmployers), then the/cmp/{slug}page. If a name still misses, paste the company URL instead. - Order: Indeed's own default review order (most helpful and recent first). Sub-ratings are
nullwhen the reviewer did not fill that dimension. - Blocked runs: if a run comes back empty after all retries, retry later or raise
maxChallengeRetries.
๐ Integrations and API
Run Indeed Company Reviews 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~indeed-reviews-universal-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-H "Content-Type: application/json" \-d '{ "companyNames": ["Google"], "maxReviewsPerCompany": 50 }'
โ FAQ
Is it legal to scrape Indeed reviews?
The Actor only reads reviews that Indeed publishes to anyone without logging in. Reviews contain personal data (job titles, locations), so process them in line with GDPR and other privacy laws, respect Indeed's terms of use, and stay responsible for how you use the data. This is not legal advice.
Do I need an Indeed account, login or cookies?
No. Nothing to log in to, no cookies to paste, and the default proxy setting just works.
Can I export Indeed reviews 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 reviews to a sheet automatically. Every field is already a flat column.
How many reviews can I scrape per company?
As many as Indeed exposes (set maxReviewsPerCompany to 0). Large employers have thousands, so most users cap each run.
Can I get reviews from one country or one job title only?
Yes. reviewsFromCountry keeps reviews written in that country (US, FR, GB...), and jobTitle keeps one role. Both are Indeed's own filters, applied before you pay for the results.
How is this different from Glassdoor reviews?
Different reviewer population: Indeed's reviews skew to frontline, retail and hourly roles, while Glassdoor skews to office roles. The sibling Glassdoor Reviews Scraper below has the same output style, so you can combine both.
Why are some sub-ratings null?
Indeed lets reviewers skip individual dimensions. A null means "not rated", never zero.
How fresh is the data?
Every run scrapes Indeed live. Schedule the Actor weekly to keep a rolling history of ratings and review text.
๐ Related scrapers
- Indeed Jobs Scraper: job listings from any Indeed country site, with salaries and full descriptions.
- Indeed Salaries Scraper: median pay per job title at any company.
- Glassdoor Reviews Scraper: employee reviews of the same companies, office-role population.
- Glassdoor Company Overview Scraper: the full company profile (ratings, CEO approval, size, HQ) by name or URL.
- Glassdoor Salaries Scraper: salary ranges per job title and company.
- Trustpilot Reviews Scraper: what customers (not employees) say about a company.
๐ฌ Support
Questions, bugs or a feature request? Open an issue in the Issues tab of this Actor, I answer quickly. If Indeed Company Reviews Scraper saves you time, a rating on the Store helps others find it.