AmbitionBox Reviews Scraper avatar

AmbitionBox Reviews Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
AmbitionBox Reviews Scraper

AmbitionBox Reviews Scraper

Scrape AmbitionBox employee reviews — 7 named sub-ratings, work policy (WFO/WFH/Hybrid), job profile, location, verified flag, employer responses. Flat per-review rows with full company aggregate (rating distribution, top mentions, top job profiles) denormalized. Akamai-aware via Apify IN.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

3 days ago

Last modified

Share

Scrape employee reviews from AmbitionBox.com — 7 structured sub-ratings, work policy, location, job profile, employer responses, and a full company aggregate (rating distribution + top mentions + top job profiles) on every row. Paste a bare company slug like tcs and get back self-contained flat rows ready for CSV.

How AmbitionBox Reviews Scraper works

Why this actor

AmbitionBox is the dominant employee-review platform in India (the Glassdoor of the Indian B2B market), owned by Info Edge / Naukri. It's behind Akamai Bot Manager with explicit per-region rules — direct requests and US/GB residential proxies get blocked with a 2.3 KB cookie-challenge interstitial, and /jobs/{slug}-jobs URLs are hard-403'd across every proxy.

The actor handles all that for you:

  • Apify Residential IN routing (only pool that returns clean 200 OK)
  • __NEXT_DATA__ extraction — AmbitionBox runs Next.js with full server-side data hydration. One JSON.parse unlocks 73 fields per page, including a clean reviewsData[] array with 53 fields per review
  • Slug auto-canonicalisationtata-consultancy-servicestcs (AmbitionBox 301s the long form). Paste any of /overview/, /reviews/, /salaries/, or /interviews/ URLs and they all resolve to the same canonical reviews surface
  • Auto-pagination — 20 reviews per page, walks until maxItems rows are emitted for that company (each company gets its own budget)
  • One flat row per review — every row carries the full company aggregate denormalized, so CSV consumers don't need to join

Use cases

  • Competitive intelligence — compare sub-rating profiles (Salary, Skill Dev, Work-Life, Job Security…) across employers
  • Salary benchmarking adjacent — pair with the salary surface to cross-reference review-rated culture with paid compensation
  • Reviewer firmographics — every row carries job profile (System Engineer), location (Pune), division (Software Development), and employment type (permanent/contract)
  • Work-policy analysisworkPolicy: "WFO" | "WFH" | "Hybrid" is a first-class field
  • Reputation monitoring — track verified, isContested, and employerResponse to spot disputed reviews and vendor replies

Input

FieldTypeRequiredNotes
startUrlsstring[]yesMix of bare slugs (tcs) and AmbitionBox URLs. /overview/, /reviews/, /salaries/, /interviews/ all resolve to the same canonical reviews scrape. /jobs/{slug}-jobs URLs are rejected (Akamai blocks them).
maxItemsintegernoMaximum review rows emitted per company URL. 3 companies × maxItems: 100 → up to 300 total rows. Each row = one paid outputrecord. Default 1000. Free-tier users have a hidden global ceiling of 100 rows.
maxConcurrencyintegernoParallel HTTP requests across companies. Sweet spot 3–5 via Apify Residential IN. Default 4.
maxRequestRetriesintegernoPer-URL retry budget on Akamai cookie-shell responses, proxy CONNECT failures, and network errors. Each retry rotates the proxy session with mild exponential backoff. Default 6.
proxyobjectnoApify Residential IN required — direct and US/GB get blocked. Default is wired correctly.

Example input

{
"startUrls": ["tcs", "infosys", "wipro"],
"maxItems": 100,
"maxConcurrency": 4,
"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "IN" }
}

That yields up to 300 review rows — 100 per company across 3 companies, 5 pages each.

Output schema

Every row has rowType: "review". One flat row per review with 53 fields + the company aggregate nested under companyAggregate.

{
"rowType": "review",
"reviewsUrl": "https://www.ambitionbox.com/reviews/tcs-reviews",
// ── Company identity (denormalized) ──
"companyId": 42, // stable AmbitionBox company ID
"companyName": "TCS",
"companyUrlName": "tcs",
// ── Per-review fields ──
"reviewId": 79702411,
"reviewTitle": "rated by a System Engineer in Pune",
"reviewUrl": "https://www.ambitionbox.com/reviews/tcs-reviews?rid=79702411",
"overallRating": 2, // 1-5
"subRatings": { // 7 structured sub-ratings
"Salary": 1,
"Skill development": 2,
"Job security": 4,
"Promotions": 1,
"Work satisfaction": 2,
"Company culture": 3,
"Work-life balance": 3
},
"likesText": "Job security \nOnsite opportunities",
"disLikesText": "Value of employees is like labour in India\n…",
"likesChip": [], // optional structured pros chips
"dislikesChip": [], // optional structured cons chips
"workDescriptionText": null,
"benefitsText": null,
"workDescriptionTags": [],
"jobProfile": { "id": "29", "name": "System Engineer", "slug": "system-engineer" },
"jobLocation": { "id": "9", "name": "Pune", "slug": "pune" },
"division": "Software Development",
"employmentType": "permanent",
"workPolicy": "WFO", // "WFO" / "WFH" / "Hybrid"
"beyondWorkHours": "Occasionally",
"workLabels": {
"travelTags": ["No Travel"],
"workTimeMonitor": ["Strict Timings"],
"workDays": ["5 days"]
},
"publishedAt": "2026-05-14T14:50:46Z", // ISO 8601
"modifiedAt": "2026-05-14T15:54:48Z",
"modifiedAtHumanReadable": "14 May 2026", // derived UI-friendly date
"reviewerName": "Anonymous", // or actual name
"reviewerId": 0, // 0 when anonymous
"currentJob": null, // current employee at posting time
"startDate": null, // rarely populated by reviewers
"endDate": null,
"reviewerExperience": null, // free-text summary when present
"continuedYears": 7, // tenure
"views": 0, // AmbitionBox view counter
"verified": true,
"isContested": false,
"isFeaturedReview": false,
"helpfulCount": null,
"notHelpfulCount": null,
"employerResponse": null, // { text, respondedAt } when present
"isEmployerResponded": false,
"contentTypeLabel": ["LATEST"],
// ── Company aggregate — same on every row from the same company ──
"companyAggregate": {
"companyId": 42,
"companyName": "TCS",
"urlName": "tcs",
"companyUrl": "https://www.ambitionbox.com/overview/tcs-overview",
"rating": { "average": 3.3, "count": 114252, "bestRating": 5, "worstRating": 1 },
"ratingDistribution": [
{ "stars": 5, "count": 37015, "percentage": 32.4 },
{ "stars": 4, "count": 33323, "percentage": 29.2 },
{ "stars": 3, "count": 23039, "percentage": 20.2 },
{ "stars": 2, "count": 10000, "percentage": 8.8 },
{ "stars": 1, "count": 10875, "percentage": 9.5 }
],
"subRatingAverages": { // company-wide sub-rating means
"jobSecurity": 3.8,
"workLifeBalance": 3.5,
"salaryAndBenefits": 2.5,
"skillDevelopment": 3.2,
"workSatisfaction": 3.0,
"companyCulture": 3.2,
"careerGrowth": 2.3
},
"topMentions": { // most-discussed themes across all reviews
"positive": ["Job Security", "Salary", "Work Life Balance", "Appraisal", "Work Culture", "Learning", "Career Growth", "Senior Management"],
"negative": []
},
"topJobProfiles": [ // most-reviewed roles + reviewer count
{ "name": "System Engineer", "slug": "system-engineer", "count": 15087 },
{ "name": "IT Analyst", "slug": "it-analyst", "count": 6251 },
{ "name": "AST Consultant", "slug": "ast-consultant", "count": 4720 },
{ "name": "Assistant System Engineer","slug": "assistant-system-engineer","count": 3994 },
{ "name": "Process Associate", "slug": "process-associate", "count": 3372 }
],
"topJobLocations": [], // top locations (when AmbitionBox surfaces them)
"totalReviews": 114252,
"pagesScraped": 5
},
"scrapedAt": "2026-05-15T04:08:39.019Z"
}

How it works

  1. Auto-classify inputtcs/reviews/tcs-reviews. URL variants (/overview/, /salaries/, /interviews/) dedupe to the same canonical scrape. /jobs/* URLs are rejected with a clear log line — Akamai hard-403s them across every proxy.
  2. Fetch via Apify Residential INimpit with Firefox TLS fingerprint. Direct connections and US/GB residential get the Akamai cookie-shell (2.3 KB stub); only IN residential reliably returns the full 716 KB page.
  3. Extract __NEXT_DATA__ — single JSON.parse of the inline <script id="__NEXT_DATA__"> blob. Unlocks pageProps.reviewsData[20] plus aggregate fields (ratingsData, ratingDistribution, topMentions, topJobProfiles, companyHeaderData).
  4. Paginate?page=N until empty or maxItems reviews are emitted for that company. 20 reviews per page.
  5. Emit flat rows — one outputrecord per review. companyAggregate denormalized on every row so CSV consumers get a self-contained file.

What makes this different from other AmbitionBox actors

We surveyed all AmbitionBox actors on Apify Store (3 specialists, ~57 combined users). Direct head-to-head: 53 per-review fields vs 31 on the closest competitor — and we also bundle the company aggregate on every row, which they don't ship at all.

CapabilityOursClosest competitor
Per-review fields5331
subRatings shapekeyed object ({Salary:1, Skill development:2, ...}) — CSV-friendlyarray of {name, rating} objects
jobProfile / jobLocationstructured {id, name, slug} — joinableflat string only
DatesISO 8601 ("2026-05-14T14:50:46Z") + human-readable derivedambiguous-timezone strings only
employerResponse textfull {text, respondedAt} objectonly isEmployerResponded boolean
workLabels (travel/timing/days)✅ surfaced❌ not in output
likesChip / dislikesChip / workDescriptionTags✅ surfaced❌ not in output
isContested / contentTypeLabel / reviewerExperience✅ surfacedpartial / missing
Company aggregate denormalized✅ on every row (rating distribution + top mentions + top job profiles with counts)❌ not available — separate API call needed
/jobs/* Akamai block✅ documented + auto-routed to /reviews/❌ silent failure
All 4 surfaces (overview/reviews/salaries/interviews) in one pipeline❌ split across 3 separate actors

Notes & limitations

  • /jobs/* URLs are not scrapable. Akamai hard-403s the jobs surface across every proxy and UA combination we tested. The actor rejects these URLs with a clear message and routes you at /reviews/{slug}-reviews for the same company.
  • Apify Residential IN required. Direct, US, and GB residential proxies get the Akamai cookie-shell interstitial. The actor defaults the proxy block to RESIDENTIAL + IN — don't override unless you know what you're doing.
  • employerResponse is sparse. Most Indian employers (TCS, Infosys, Wipro) don't respond to AmbitionBox reviews. The field is null for ~99% of rows in practice — by design, not a bug.
  • helpfulCount / notHelpfulCount can come back null from AmbitionBox's payload. They're surfaced when populated but we don't synthesize.
  • Workplace fields fill ratelikesText ≈ 85%, disLikesText ≈ 88%, workDescriptionText ≈ 5% (rarely filled by reviewers), benefitsText similar. This matches AmbitionBox's own UI — those are optional reviewer fields.

FAQ

Which company URLs work? Bare slugs like tcs or infosys, plus any of the four AmbitionBox company surfaces — /overview/{slug}-overview, /reviews/{slug}-reviews, /salaries/{slug}-salaries, /interviews/{slug}-interviews. All four resolve to the same canonical reviews scrape, so paste whichever URL you have.

Why are /jobs/{slug}-jobs URLs rejected? Akamai Bot Manager hard-403s the jobs surface across every proxy and UA we tested (Apify Residential IN included). The actor rejects these URLs upfront with a clear log line rather than silently failing — paste the /reviews/ URL for the same company instead.

Do I get one row per company or one per review? One row per review. Each row carries the full companyAggregate (rating distribution, top mentions, top job profiles) denormalized, so a CSV export gives you self-contained per-review records without needing a join.

What does each outputrecord charge cover? One review row with all 53 fields plus the company aggregate. There's no extra charge for the aggregate — it's bundled. maxItems is per-company URL, so a maxItems: 100 run with 3 companies = up to 300 charges.

Can I skip the proxy? No. AmbitionBox runs Akamai with explicit per-region rules. Direct connections and US/GB residential get a 2.3 KB cookie-challenge interstitial. The actor defaults to Apify Residential IN — leave it alone unless you know you have a working IN residential pool elsewhere.

Why is employerResponse always null in my output? ~99% of Indian employers (TCS, Infosys, Wipro) don't respond to AmbitionBox reviews. The field is populated when present but most rows will be null. Same for helpfulCount / notHelpfulCount — AmbitionBox doesn't always send them in the payload.

Support

  • Bugs / feature requests — open an issue on the GitHub repo
  • Custom exports / tailored fields — drop a note via the Apify Store contact form
  • Other actors — see my Apify Store profile for the rest of the catalog

⚠️ Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by AmbitionBox, Info Edge (India) Ltd., Naukri, or any of their subsidiaries. All trademarks mentioned are the property of their respective owners.

The scraper accesses only publicly visible content rendered server-side by AmbitionBox — no login bypass, no authenticated endpoints, no API-key forgery, no CAPTCHA solving. The actor honours AmbitionBox's /jobs/* hard-block (we reject those URLs rather than try to bypass them).

Users are responsible for:

  • Complying with AmbitionBox's Terms of Service
  • Respecting reviewer privacy — most reviewers post anonymously (reviewerName: "Anonymous", reviewerId: 0); do not attempt to de-anonymize
  • Following the Indian DPDP Act 2023 + your jurisdiction's data-protection laws (GDPR, CCPA, etc.) when storing, processing, or republishing review data
  • Not using the scraper to contact or harass reviewers
  • Not republishing scraped data in a way that competes commercially with AmbitionBox

SEO Keywords

ambitionbox scraper, scrape ambitionbox, ambitionbox reviews scraper, ambitionbox api, ambitionbox.com scraper, Apify ambitionbox, employee reviews scraper india, glassdoor india alternative, tcs reviews scraper, infosys reviews scraper, wipro reviews scraper, india tech company reviews, employer ratings india, work-life balance ratings india, indian it company reviews, work culture ratings, salary reviews india, employee review aggregator, employer reputation data india, akamai bot manager bypass, apify residential proxy india, next.js data extraction