Indeed Company Reviews Scraper & API avatar

Indeed Company Reviews Scraper & API

Pricing

from $1.30 / 1,000 reviews

Go to Apify Store
Indeed Company Reviews Scraper & API

Indeed Company Reviews Scraper & API

Indeed company reviews from company links or names: overall and sub-ratings, title, text, pros and cons, job title, location, current or former employee, date, helpful votes. All countries or one. Filters by country, city, topic, rating, date, keyword. No reviewer name.

Pricing

from $1.30 / 1,000 reviews

Rating

0.0

(0)

Developer

Quarra Labs

Quarra Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Get every employee review of any company on Indeed, in bulk, without an account or API key. Paste company links, slugs or names. Each review comes back with the overall rating and the detailed ratings (work-life balance, pay and benefits, job security and advancement, management, culture), title, text, pros and cons when the reviewer wrote them, job title, work location, current or former employee, date and helpful votes. Reviews from every country or from the countries you choose, newest first or by rating. Export as JSON, CSV or Excel, or read it through the Apify API.

No reviewer name, profile or ID. We deliver what was said about the company, not who said it.

Quick start

  1. Paste one or more companies into Companies: the Indeed page (https://www.indeed.com/cmp/Blue-Bottle-Coffee, from any Indeed country site), the name as written in that link (Blue-Bottle-Coffee, Amazon.com) or the plain name (Blue Bottle Coffee).
  2. Set Max reviews per company.
  3. Click Start and read the reviews in the run's Output tab.

Like any Apify Actor, it can also be run and read through the Apify API, scheduled, and connected to webhooks, Make, Zapier, n8n or Apify's MCP server for AI agents.

What it is used for

  • Employer reputation: what staff say about your company, or the new reviews since last week, every day.
  • Competitor and talent research: pay, management and culture ratings of the companies you hire against.
  • Market and sector analysis: the same chain across countries, job titles and cities.
  • Sentiment analysis and AI agents: one clean record per review, with a stable ID to deduplicate between runs.

What you get

Review ID (stable and unique on Indeed: use it to deduplicate between runs)yes
Overall rating, title and textyes
Detailed ratings: work-life balance, pay and benefits, job security and advancement, management, culturewhen given
Pros and cons as separate fieldswhen the reviewer wrote them apart
Job title, work location, countryyes / when given
Current or former employeeyes
Date of the review (UTC, YYYY-MM-DD)yes
Helpful and not helpful votesyes
Link of the review and of the company page, company name and IDyes
Reviewer name, profile, IDno, never

A field Indeed does not give for a review is null, never missing. A detailed rating the reviewer did not give is null (never 0). Indeed gives the day of a review, not the time. language is the language of the review text (en-US, es-MX…) when Indeed gives it, null otherwise.

Inputs

  • Companies: Indeed company links, the name as written in the link, or the plain name. A plain name is matched by Indeed, which may open a similar company: check companyName in the results (the run says so in the company's note when Indeed opened a company whose name differs from what you gave), or use the link. Up to 500 company and country pairs per run.
  • Max reviews per company and Max results in total: counted exactly. Max results in total is 1,000 by default: raise it when you want more (5 companies × 2,000 reviews = 10,000).
  • Countries: ISO codes (US, GB, DE, FR, JP…), one per line. Left empty, the reviews of every country are read. With several, each company is read once per country.
  • City, Job title, Topic: filters applied by Indeed itself. City needs exactly one country and is written as Indeed lists it (New York, NY); job title is the exact title Indeed lists (Cashier); topic is one of work-life balance, pay and benefits, job security and advancement, management, culture.
  • Sort: newest first (default), highest rating first or lowest rating first. With Since or Until, the reviews are always read newest first, so the reading stops at the date you set.
  • Minimum rating, Maximum rating, Since, Until (a date such as 2026-01-31, or a duration such as 30 days) and Review contains (up to 50 words, one per line, matched as whole words in the title, text, pros and cons).

Example, through the API:

{
"companies": ["https://www.indeed.com/cmp/Blue-Bottle-Coffee", "Starbucks"],
"countries": ["US"],
"sort": "newest",
"maxRating": 2,
"since": "90 days",
"maxReviewsPerCompany": 500
}

Output

One record per review in the dataset. A shortened review:

{
"type": "review",
"status": "ok",
"reviewId": "1d178689374eb6f5",
"companySlug": "blue-bottle-coffee",
"companyName": "Blue Bottle Coffee",
"companyId": "5b58f6b98508d947",
"rating": 5,
"title": "Good training program for new baristas, supportive managers and team",
"text": "Pros: Solid training program, helpful managers and team, good tip pool\n\nCons: rush times can be busy…",
"pros": null,
"cons": null,
"subratings": null,
"jobTitle": "Barista",
"location": "New York, NY",
"country": "US",
"employmentStatus": "former",
"date": "2026-09-28",
"helpfulVotes": 0,
"unhelpfulVotes": 0,
"reviewUrl": "https://www.indeed.com/cmp/Blue-Bottle-Coffee-db772533/reviews/good-training-program-…?id=1d178689374eb6f5",
"language": null,
"companyUrl": "https://www.indeed.com/cmp/Blue-Bottle-Coffee-db772533",
"countryFilter": "ALL",
"input": "https://www.indeed.com/cmp/Blue-Bottle-Coffee",
"position": 1,
"scrapedAt": "2026-10-22T05:18:28Z"
}
  • status: ok (delivered, charged) or error (free; errorCode and error say why, retryable says if a later run may work). A company that does not exist on Indeed gets a free company_not_found record.
  • position is the rank of the review in the chosen sort for that company (and country).
  • subratings holds workLifeBalance, compensationAndBenefits, jobSecurityAndAdvancement, management and culture (1 to 5); one the reviewer skipped is null.
  • country is the country of the review; countryFilter is the country you asked for, or ALL.

The run summary (counts per company, name, Indeed's overall rating and review count, why the run stopped, notes) is the OUTPUT record of the run's key-value store.

Pricing

Pay per event. Reviews cost less on higher Apify plans:

Apify planReview
Free$1.40 per 1,000
Starter (Bronze)$1.40 per 1,000
Scale (Silver)$1.35 per 1,000
Business (Gold) and above$1.30 per 1,000

On every plan, the run start is $0.005 per GB of memory (1 GB minimum; $0.005 at the default 256 MB). So 1,000 reviews of one company come to $1.405 on the Free plan and $1.305 on Business.

Never charged: reviews that do not match your filters, error records, repeats (a review already delivered in the same run is skipped). Set Maximum cost per run in the run options and the run stops before going over it, with the results delivered so far.

Limits

  • Every review, every country: Indeed lists the reviews of a company 20 per page with no depth limit; the Actor reads them all (about 20 reviews a second on a large company). The company's total is read from Indeed, so the reading stops at the last review.
  • Ratings: Indeed has no rating filter but can sort by rating. Without Since or Until, a rating range is read from the matching end (lowest first for 1 and 2 stars, highest first for 4 and 5) and the reading stops as soon as the ratings leave the range, so one-star reviews of a very large company are fast; they then come by rating, not by date. Only ranges that touch 1 or 5 stars work this way (for example 1, 1-2, 4-5, 5). A range in the middle (3, 2-3-4) or two separate ratings (1 and 5) are read newest first and filtered here, so on a very large company set Max reviews per company. With Since or Until, the reviews are read newest first and filtered here.
  • Words are filtered here (only one plain word of 3 letters or more is searched by Indeed itself). An expression on a company with tens of thousands of reviews means reading many pages, which takes time; reviews that do not match are not charged. Set Max reviews per company or Since to bound it.
  • Dates have no time of day and are in UTC. Since counts whole days: 1 day keeps every review dated yesterday or today.
  • Companies with similar names: a plain name is resolved by Indeed. Use the link when it matters.
  • Language: language is filled only for the reviews where Indeed says it; the others are null.
  • If a run stops early (your maximum cost, Max results in total, its timeout), every company it did not read in full and gave nothing for gets a free not_read record, so no input is ever left without an answer.
  • Anything missing from a result is said: in the run's status, in the note of each company in the OUTPUT record, or in a free error record. If Indeed limits access during a run, the run says so and keeps what it delivered; running it again later gives the rest.

FAQ

Do I need an Indeed account or API key? No.

Why are reviewer names not included? They are personal data and most uses (reputation, sentiment, research) do not need them. The review ID and link let you find any review on Indeed.

What if the run is restarted by the platform (migration or reboot)? It resumes where it was: results already in the dataset are not delivered or charged again. If it cannot (its saved progress is missing), it stops at once and says so: what is in the dataset is not charged again, and a new run gives the rest.

Is it legal? It collects public reviews shown to any visitor of Indeed, without reviewer names. Check the rules that apply to your use of the data.

Does the Actor send anything to Quarra? Only when a run fails or runs out of time: the Actor, its build, the error type, the line of our code where it happened, and the memory and time the run was given, so we can fix it fast. Never your input, your results, your account or the run ID.