Indeed Company Reviews Extractor
Pricing
from $8.00 / 1,000 record scrapeds
Indeed Company Reviews Extractor
Scrapes company reviews from Indeed with pagination, date filtering, and deduplication.
Pricing
from $8.00 / 1,000 record scrapeds
Rating
0.0
(0)
Developer
Reviewly
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
Indeed Reviews Scraper — Extract Company Reviews at Scale
Automatically collect hundreds of employee reviews from Indeed company pages — no coding required.
Get structured review data including ratings, pros & cons, job titles, dates, and employer responses. Perfect for HR teams, market researchers, and recruitment agencies who need reliable, up-to-date employer reputation data.
📌 What This Actor Does
The Indeed Reviews Scraper navigates Indeed company review pages and extracts all publicly available employee reviews into a clean, structured dataset.
Simply paste one or more Indeed company review URLs, set your filters, and let the actor handle pagination, deduplication, and data normalization automatically.
Who is it for?
- HR & Talent Acquisition teams monitoring employer brand and competitor reputation
- Business analysts benchmarking companies by employee satisfaction
- Recruitment agencies vetting employers before placing candidates
- Market researchers tracking sentiment trends over time
- Developers building HR intelligence or employer rating platforms
✨ Key Features
- Multi-company support — scrape multiple companies in a single run
- Full pagination — automatically fetches all pages of reviews, not just the first
- Date filtering — only collect reviews from a specific date onwards
- Deduplication — built-in review ID tracking prevents duplicates across runs
- Employer responses — captures the full thread of official company replies
- Structured output — clean
{ entity, reviews[] }format ready for any downstream tool - Residential proxy support — stays undetected with Apify's proxy network
- Browser fingerprinting — mimics a real mobile device to avoid blocks
- Automatic retries — retries failed requests with exponential backoff
- Pay-per-review pricing — only pay for what you actually extract
🧠 Why This Actor is Different
Most Indeed scrapers break within days because they rely on fragile CSS selectors or hardcoded session tokens. This actor extracts data from Indeed's embedded JSON payload (#comp-initialData) — a stable, structured data source that changes far less often than the page's visual layout.
| Feature | This Actor | Typical scrapers |
|---|---|---|
| Data source | Embedded JSON (stable) | HTML selectors (fragile) |
| Employer replies | ✅ Full thread | ❌ Often missing |
| Date filtering | ✅ Built-in | ❌ Manual post-processing |
| Deduplication | ✅ Automatic | ❌ Manual |
| Multiple companies | ✅ One run | ❌ One at a time |
| Pay-per-result | ✅ Yes | ❌ Fixed cost |
💰 Pricing
This actor uses pay-per-event pricing — you only pay for reviews actually extracted, with no subscriptions or minimums.
| Event | Cost |
|---|---|
| Per review extracted | $0.008 ($8 per 1,000 reviews) |
| Actor start | $0.50 |
Examples: 500 reviews → $4.50 — 2,000 reviews → $16.50 — 10,000 reviews → $80.50
⚙️ Input Configuration
Fields
| Field | Type | Required | Description |
|---|---|---|---|
startUrls | Array | ✅ Yes | One or more Indeed company review page URLs |
maxNumberOfReviews | Integer | No | Max reviews per company. 0 = no limit (default: 0) |
targetDate | String | No | Only scrape reviews on or after this date (YYYY-MM-DD) |
proxyConfiguration | Object | No | Proxy settings — residential proxies strongly recommended |
Example Input (JSON)
{"startUrls": [{ "url": "https://fr.indeed.com/cmp/Decathlon/reviews/" },{ "url": "https://fr.indeed.com/cmp/L-Oreal/reviews/" }],"maxNumberOfReviews": 500,"targetDate": "2024-01-01","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Tips for Best Results
- Always use residential proxies — datacenter IPs are frequently blocked by Cloudflare on Indeed
- Use
targetDatefor incremental runs — set it to your last run date to only pull new reviews and avoid re-scraping - Leave
maxNumberOfReviewsat0to scrape all available reviews for a company - URL format — any Indeed subdomain works (
fr.indeed.com,uk.indeed.com, etc.); the actor normalizes them automatically
📤 Output Format
The actor produces one dataset item per company. Each item contains the company metadata and all scraped reviews in a single nested structure.
Sample Output
{"entity": {"companyName": "Decathlon","totalRating": 4.1,"totalReviews": 3842,"ratingDistribution": {"1": 210,"2": 180,"3": 420,"4": 890,"5": 2142},"sourceUrl": "https://fr.indeed.com/cmp/Decathlon/reviews/"},"reviews": [{"reviewId": "abc123xyz","url": "https://fr.indeed.com/cmp/Decathlon/reviews/super-entreprise?id=abc123","location": "Paris (75)","rating": 5,"title": "Super entreprise","reviewBody": "Très bonne ambiance de travail, management à l'écoute.","positivePoints": "Ambiance, évolution de carrière, avantages","negativePoints": "Horaires parfois chargés","comments": [{"isOfficial": true,"body": "Merci pour votre retour positif !","date": "2024-03-15T00:00:00.000Z"}],"date": "2024-02-20T00:00:00.000Z","author": {"jobTitle": "Vendeur","isCurrentlyWorking": true},"scrapedAt": "2025-05-16T10:30:00.000Z"}]}
Field Reference
Entity (company metadata)
| Field | Type | Description |
|---|---|---|
companyName | String | Company name as shown on Indeed |
totalRating | Float | Overall rating (0–5) |
totalReviews | Integer | Total number of reviews on Indeed |
ratingDistribution | Object | Count of reviews per star rating (1–5) |
sourceUrl | String | The original URL provided as input |
Review fields
| Field | Type | Description |
|---|---|---|
reviewId | String | Unique Indeed review identifier |
url | String | Direct permalink to the review |
location | String | Reviewer's work location |
rating | Integer | Star rating (1–5) |
title | String | Review headline |
reviewBody | String | Full review text |
positivePoints | String | Pros section text |
negativePoints | String | Cons section text |
comments | Array | Employer responses (isOfficial, body, date) |
date | ISO 8601 | Date the review was submitted |
author.jobTitle | String | Reviewer's job title |
author.isCurrentlyWorking | Boolean | true if the reviewer is a current employee |
scrapedAt | ISO 8601 | Timestamp of when this record was extracted |
▶️ How to Use
Option A — Apify Console (No Code)
- Open the actor in Apify Store and click Try for free
- In the Input tab, paste your Indeed company review URL(s)
- Set
maxNumberOfReviewsandtargetDateif needed - Enable Residential proxies under Proxy configuration
- Click Start and wait for the run to finish
- Download your data from the Dataset tab as JSON, CSV, or Excel
Option B — Apify API
curl -X POST \"https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls": [{ "url": "https://fr.indeed.com/cmp/Decathlon/reviews/" }],"maxNumberOfReviews": 200,"targetDate": "2024-01-01"}'
Option C — Scheduled Updates (Recommended)
- Open the actor → Schedules tab
- Set it to run weekly or monthly
- Set
targetDateto the previous run date to only pull new reviews - Connect to Zapier, Make, or a webhook to push results to your CRM or spreadsheet automatically
📈 Use Cases
1. Employer Brand Monitoring
Track how your company's Indeed rating evolves month over month. Schedule a weekly run with targetDate pointing to the previous week to catch every new review as it appears.
2. Competitive Intelligence
Scrape reviews from 5–10 competitors in a single run. Analyze positivePoints and negativePoints across companies to understand what top talent values — and where competitors fall short.
3. Recruitment Due Diligence
Before placing a candidate with a client company, pull their latest reviews to surface red flags — management issues, high turnover, unpaid overtime — that won't appear in a sales pitch.
4. Sentiment Analysis & NLP
Feed reviewBody, positivePoints, and negativePoints into an NLP pipeline to score employer sentiment at scale across hundreds of companies.
5. HR Reporting Dashboards
Connect this actor to Google Sheets or Airtable via Apify integrations to auto-populate live employer satisfaction dashboards for leadership reporting.
🛠️ Advanced Tips
Incremental Scraping (Only New Reviews)
Use targetDate to avoid re-scraping old data on repeat runs:
{"startUrls": [{ "url": "https://fr.indeed.com/cmp/Decathlon/reviews/" }],"targetDate": "2025-04-01"}
Each month, update targetDate to the first day of the current month. Using the Apify API, you can compute this date dynamically before each scheduled run.
Scaling to Many Companies
The actor processes companies sequentially. For batches of 50+ companies:
- Split URLs across multiple parallel actor runs via the Apify API
- Use Apify's meta-actor pattern to fan out automatically
❓ FAQ & Troubleshooting
The actor returns no reviews — what's wrong?
Verify your URL matches the pattern https://*.indeed.com/cmp/COMPANY-SLUG/reviews/. The actor skips invalid URLs and logs a warning. Also confirm that residential proxies are enabled.
How fresh is the data? Data is scraped live on every run — there is no cache. You always get the latest reviews at the moment the actor starts.
How many reviews can I scrape in one run?
There is no hard cap. The actor paginates through all available pages. Companies with 5,000+ reviews are fully supported. Set maxNumberOfReviews: 0 for unlimited.
Is the data usable in Excel or Google Sheets?
Yes — download directly as CSV or Excel from the Apify dataset UI. For nested fields (comments, ratingDistribution), use JSON format to preserve the full structure, or flatten with a tool like jq or Python pandas.
Does scraping Indeed reviews violate their Terms of Service? This actor scrapes publicly visible data — the same reviews any visitor sees without logging in. Always ensure your use case complies with the applicable terms of service and local data regulations (GDPR, etc.).
📞 Support
- Bug reports & issues: Use the Issues tab on the actor's Apify Store page
- Feature requests: Open a thread in the Discussion tab
- Community help: community.apify.com