Mouthshut Scraper [$3/1K💰] | India Reviews | Pros & Cons avatar

Mouthshut Scraper [$3/1K💰] | India Reviews | Pros & Cons

Pricing

from $2.80 / 1,000 reviews

Go to Apify Store
Mouthshut Scraper [$3/1K💰] | India Reviews | Pros & Cons

Mouthshut Scraper [$3/1K💰] | India Reviews | Pros & Cons

Scrape Mouthshut.com product ratings and customer reviews from India's largest review platform: MouthShut Score, star ratings, pros and cons, reviewer location and verified flags. Export JSON for reputation monitoring and India market research.

Pricing

from $2.80 / 1,000 reviews

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

8 days ago

Last modified

Categories

Share

Mouthshut Scraper — India Product Reviews & Ratings API

Scrape Mouthshut.com business/product ratings and individual reviews for reputation monitoring, India market research and D2C brand tracking. Give it product URLs (or a Mouthshut search URL) and it returns every review's star rating, author, location, verdict and Pros/Cons, plus a product-level summary row with the MouthShut Score, average rating and vote count.

Main use cases

  • Brand reputation monitoring — schedule recurring scrapes of your products and watch ratings, review volume and Pro/Con themes change over time.
  • India market research — collect consumer sentiment for any category or competitor across India's largest review platform.
  • Product feedback analysis — export reviews with Pros/Cons split out for sentiment analysis and voice-of-customer reporting.
  • D2C brand tracking — track your brand (and rivals) on score, average rating and verified-review flags.
  • Review database building — build a structured, joinable dataset of reviews for BI tools and dashboards.

How it works

Mouthshut is a classic ASP.NET WebForms site with no public JSON API, so the actor reads the server-rendered HTML and the site's own internal AJAX endpoints — no browser, no JavaScript rendering. A product page carries the business name, MouthShut Score, average rating and vote count in plain HTML; individual reviews are lazy-loaded by the site's frontend through GET /Review/rar_reviews.aspx, which the actor calls directly (20 reviews per light request). You can also hand it search URLs instead of product URLs: the actor opens the search listing, collects the products it finds and scrapes their reviews in the same run. It is a CheerioCrawler at 256 MB — roughly 10× cheaper on compute than a browser.

Extract India Product Reviews For Brand Reputation Monitoring

Each run writes one dataset per data type:

Dataset (alias)ContentsBilling
default — reviewsOne row per review (recordType: "review"): rating, date, author, body/pros/cons, views, permalink.Primary. Charged one apify-default-dataset-item event per review.
productsOne summary row per scraped product (recordType: "product"): name, category, MouthShut Score %, average rating, votes, rating distribution of the scraped sample, foundThroughSearch.Secondary. Charged a product-summary event per product.

Both are surfaced on the run page through the output schema (Reviews and Products), and the OUTPUT key-value record holds the run summary: reviewCount, productCount, discoveredFromSearch, reviewsDatasetId and productsDatasetId.

Product summary carries: business/product name, category + subcategory, MouthShut Score %, overall average rating, total votes, verified-brand flag and the rating distribution of the scraped sample.

Individual reviews carry: title, star rating (1–5), date, reviewer name/location/profile and review count, verified-member and verified-review flags, brand-responded flag, submission channel (Mobile / Android App), full body text split into body / pros / cons, view and comment counts, and the review permalink.

Build A Mouthshut Reviews Database Without The API

The strategy, cheapest surface first:

  1. Product header from static HTML (Cheerio, no browser). The server-rendered product page contains the business name (h1#prodTitle1), MouthShut Score % (.recommendation), average rating (.product-rating .avg-star), vote count ([id*="liAllReviews"]), the category breadcrumb (p.breadcrumb) and an application/ld+json Product block with aggregateRating (used as fallback).
  2. Internal reviews endpoint instead of paginating HTML pages. The product page embeds var query_string = 'cname=<name>&cid=<id>&forcount=<total>', the exact query string the site's own frontend uses to lazy-load reviews from GET https://www.mouthshut.com/Review/rar_reviews.aspx. The actor calls that endpoint directly (...&page=N) and parses the .row.review-article rows — same data as the UI, one light request per 20 reviews. (cname/cid fall back to being derived from the product URL slug <cname>-reviews-<cid>.)
  3. Per-review rating from star icons. Each row renders i.icon-rating.rated-star × N (= the 1–5 rating); the date comes from [id*="lblDateTime"]; Pros/Cons are split out of .rev-main-content on the inline Pros:/Cons markers reviewers write.
  4. Search URLs → products → reviews. A search listing (/search/prodsrch.aspx?data=<term>) renders its rows through GET /search/prodsrch_loadmore_ajax.aspx?data=<term>&currentpage=N. The actor calls that same endpoint directly, takes the /product-reviews/<slug>-reviews-<id> links (variants and category links are skipped), stops at maxProductsPerSearch, and feeds them into the product flow above.
  5. No Playwright. Nothing on these pages requires JS execution — all fields are present in raw served HTML, so a CheerioCrawler is faster and cheaper.

Anti-bot. Mouthshut sits behind Cloudflare (managed challenge); datacenter IPs with a bad reputation get a 403 / Just a moment... page even for plain curl. If a run logs a Cloudflare-challenge error, re-run with the Apify proxy enabled (residential group recommended at scale). The actor is polite by default: concurrency 10, ~20 reviews per request, capped pages (max 25 listing pages / 500 reviews per product), 3 retries, 60 s timeouts.

Input Parameters

FieldTypeRequiredDefaultNotes
productUrlsarray of stringsNo (prefilled)https://www.mouthshut.com/product-reviews/swiggy-reviews-925740914Mouthshut product-reviews page URLs.
searchUrlsarray of stringsNohttps://www.mouthshut.com/search/prodsrch.aspx?data=swiggy&type=&p=0Discovery pages; the products they list are scraped automatically.
maxProductsPerSearchintegerNo10Products taken from each search URL (max 200). A cap, not a guarantee — title/category landing pages list only their own products.
maxReviewsPerProductintegerNo50Max reviews per product (max 500). Free runs are capped at 10 reviews.
maxRequestsPerCrawlintegerNo100Request cap. Each product costs 1 request plus ~1 per 20 reviews.
proxyobject (proxy)NouseApifyProxy: falseStandard Apify proxy picker — enable if you hit Cloudflare challenges.

At least one of productUrls / searchUrls must be non-empty. A URL that is on mouthshut.com but is not a review page (search listing, category page, …) is read as a discovery page, so pasting it into productUrls works too. Any non-prodsrch landing page is read from its visible links only — hidden menus and sidebar widgets are skipped, so a books page yields books, not the browse mega-menu.

Output Fields

The reviews dataset (23 fields; the default overview view shows Product, Review title, Rating, Date, Author and Review link):

FieldTypeDescription
recordTypestring / nullAlways review in this dataset.
productNamestring / nullName of the reviewed business or product.
productUrlstring / nullCanonical Mouthshut product-reviews page.
productCategorystring / nullTop-level Mouthshut category.
reviewUrlstring / nullPermalink of the individual review.
reviewSlugstring / nullURL slug of the review.
reviewIdstring / nullInternal Mouthshut review identifier.
titlestring / nullHeadline of the review.
ratinginteger / nullStar rating (1–5).
datestring / nullPublication date as shown on Mouthshut.
channelstring / nullSubmission channel, e.g. Mobile or Android App.
authorstring / nullReviewer's Mouthshut username.
authorUrlstring / nullLink to the reviewer's public profile.
authorLocationstring / nullLocation on the reviewer snippet.
authorReviewsCountinteger / nullHow many reviews the author has written.
verifiedMemberboolean / nullWhether the reviewer is a MouthShut Verified Member.
verifiedReviewboolean / nullWhether Mouthshut verified the review's genuineness.
brandRespondedboolean / nullWhether the brand responded to the review.
bodystring / nullFull review text without the Pros/Cons sections.
prosstring / nullPros section, when the reviewer wrote one.
consstring / nullCons section, when the reviewer wrote one.
viewsinteger / nullView count shown on the review.
commentsCountinteger / nullComment count shown on the review.

The products dataset holds one summary row per product (name, category, MouthShut Score %, average rating, votes, rating distribution of the scraped sample, foundThroughSearch).

Example Input And Output

Input

{
"productUrls": ["https://www.mouthshut.com/product-reviews/swiggy-reviews-925740914"],
"searchUrls": ["https://www.mouthshut.com/search/prodsrch.aspx?data=swiggy&type=&p=0"],
"maxProductsPerSearch": 10,
"maxReviewsPerProduct": 50,
"proxy": { "useApifyProxy": true }
}

Output (one reviews-dataset row)

{
"recordType": "review",
"productName": "Swiggy",
"productUrl": "https://www.mouthshut.com/product-reviews/swiggy-reviews-925740914",
"productCategory": "Ecommerce and Online Business",
"reviewUrl": "https://www.mouthshut.com/review/swiggy-review-xxxxxxxxxxxx",
"reviewSlug": "swiggy-review-xxxxxxxxxxxx",
"reviewId": "xxxxxxxxxxxx",
"title": "Fast delivery, good offers",
"rating": 5,
"date": "Jul 30, 2026 10:51 AM",
"channel": "Mobile",
"author": "example_user",
"authorUrl": "https://www.mouthshut.com/member/example_user",
"authorLocation": "Mumbai India",
"authorReviewsCount": 42,
"verifiedMember": true,
"verifiedReview": true,
"brandResponded": false,
"body": "Ordered dinner and it arrived warm and on time...",
"pros": "Fast delivery, good packaging",
"cons": "Delivery fee",
"views": 1234,
"commentsCount": 3
}

Integrations & Automation

Every Apify actor is reachable through the Apify API, and this one plugs into webhooks, Zapier and Make so reviews can flow into a Google Sheet, Airtable base, BI dashboard or a sentiment-analysis pipeline. For reputation monitoring, run it on a schedule — a daily or weekly scrape of your product URLs is enough to catch new reviews and rating changes, and recurring runs also improve the actor's Store recommendation signals.

FAQ

Is there an official Mouthshut API?

Mouthshut does not publish a public API. This actor reads the site's server-rendered HTML and the same internal AJAX endpoints its own frontend calls, so you get structured reviews and ratings without an API key or a browser.

What are the alternatives to this actor / this data source?

For review data you can combine this with Trustpilot and Google Reviews scrapers. Mouthshut is India's largest consumer review platform, so it is the natural source for India-specific brand sentiment and complements global review sources rather than duplicating them.

How do I monitor my brand's reputation in India?

Add your product URLs (or a Mouthshut search URL) and schedule the actor daily. Each run returns the MouthShut Score, average rating, vote count and every new review with its Pros/Cons, so you can track sentiment and rating changes over time.

Can I get reviews for a whole category without listing every product?

Yes — pass a Mouthshut search URL (/search/prodsrch.aspx?data=<term>). The actor paginates the search results, collects up to maxProductsPerSearch products and scrapes their reviews in the same run.

Why is commentsCount sometimes null?

Comment and like counts on individual reviews load via AJAX after page render and are not exposed server-side, so they are captured only when present in the served HTML.

Do I need a proxy?

Mouthshut is behind Cloudflare. Small runs often succeed without a proxy; for scale or if you see a Just a moment... challenge, enable the Apify proxy (residential recommended).

SEO Keywords

mouthshut, mouthshut reviews, mouthshut scraper, mouthshut api, product reviews india, india market research, brand reputation monitoring, product feedback analysis, d2c brand tracking, review scraper, sentiment analysis data, consumer reviews india, trustpilot scraper, mouthshut score, verified reviews

For AI Agents & LLM Apps

Purpose: return one structured review row per Mouthshut.com review (plus a product summary row), for given product or search URLs.

Minimal working input:

{ "productUrls": ["https://www.mouthshut.com/product-reviews/swiggy-reviews-925740914"], "maxReviewsPerProduct": 50 }

Variant (category discovery via search URL):

{ "searchUrls": ["https://www.mouthshut.com/search/prodsrch.aspx?data=swiggy&type=&p=0"], "maxProductsPerSearch": 10 }

Output fields (reviews dataset): recordType, productName, productUrl, productCategory, reviewUrl, reviewSlug, reviewId, title, rating, date, channel, author, authorUrl, authorLocation, authorReviewsCount, verifiedMember, verifiedReview, brandResponded, body, pros, cons, views, commentsCount. A second products dataset holds the per-product summary row.

Behaviors an agent should know:

  • At least one of productUrls / searchUrls must be non-empty. recordType distinguishes review rows; the products dataset rows are product.
  • If maxReviewsPerProduct is left unset it defaults to 50; free-plan runs are capped at 10 reviews.
  • A non-review Mouthshut URL passed in productUrls is treated as a discovery page, not an error.
  • maxProductsPerSearch is a cap, not a guarantee — title/category landing pages list only their own products (often 20) and are not paginated.
  • views/commentsCount may be null when not present in served HTML; pros/cons are null when the reviewer wrote none.

Billing: pay-per-event — $0.003 per review ($3.00 / 1,000) and $0.0015 per product summary ($1.50 / 1,000), plus a $0.00005 actor-start event.

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Mouthshut. It accesses only publicly available Mouthshut.com pages and the site's own internal AJAX endpoints; it does not log in, bypass authentication, or solve CAPTCHAs on anyone's behalf. Users are responsible for ensuring their use complies with Mouthshut's Terms of Service and with applicable data-protection law, including India's Digital Personal Data Protection Act and, where relevant, GDPR/CCPA. Output contains reviewer usernames and locations (personal data) and must not be used for unsolicited commercial outreach in violation of applicable law.