Indeed Company Reviews Universal Scraper avatar

Indeed Company Reviews Universal Scraper

Pricing

from $3.40 / 1,000 results

Go to Apify Store
Indeed Company Reviews Universal Scraper

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

Scrapifier

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

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.

Apify Actor

๐ŸŽฏ 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?

FieldDescription
reviewIdIndeed's unique review id
company, companySlugCompany name and its Indeed page slug
urlDirect link to the review on Indeed
titleReview headline
textFull review text
pros, consPros and cons, when the reviewer filled them
ratingOverall rating (1 to 5)
ratingWorkLifeBalance, ratingCompensationBenefits, ratingJobSecurityAdvancement, ratingManagement, ratingCultureSub-ratings (1 to 5, null when the reviewer skipped one)
jobTitleReviewer's job title
location, countryReviewer's location and country code
isCurrentEmployeeCurrent or former employee
date, dateTextReview date (YYYY-MM-DD) and as displayed
helpfulVotes, unhelpfulVotesCommunity votes on the review
matchedInputThe 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

  1. 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).
  2. Set Max reviews per company. Large employers expose thousands of reviews, collected 20 per page.
  3. Optionally filter: Reviews from country (US, FR, GB...) and Job title.
  4. Click Start. The Actor collects the reviews, 20 per page.
  5. 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

FieldKeyTypeDefaultDescription
Company namescompanyNamesarray of strings["Google"] (prefill)Company names as on Indeed; spaces are fine, Indeed's own redirect finds the right page.
Indeed company URLsstartUrlsarray of URLsnoneAny Indeed company page (/cmp/Google, /cmp/Google/reviews), from any country domain.
Max reviews per companymaxReviewsPerCompanyinteger1000 = everything Indeed exposes. Pages of 20.
Reviews from countryreviewsFromCountrystringnoneTwo-letter code (US, FR, GB) or ALL. Empty = Indeed's default selection.
Job titlejobTitlestringnoneOnly reviews written by employees with this job title.
Indeed country sitecountryselectwwwDomain used for company names, one of 20 (pasted URLs keep their own domain).
Flatten outputflattenbooleanfalseOutput is already flat; reserved for future nested fields.
Report input statusemitInputStatusbooleantrueWrite an input_status report to the run's OUTPUT record.
Max retriesmaxChallengeRetriesinteger3How many times to retry a page before giving up.
Proxy configurationproxyConfigurationobjectApify Proxy onKeep 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_desc to collect a second unique window. A company ends at your cap, when both orders are exhausted, or when Indeed stops exposing new ids (input_status truncated if 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 null when 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.

๐Ÿ’ฌ 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.