MouthShut Reviews Scraper
Pricing
Pay per event
MouthShut Reviews Scraper
Extract reviews, ratings, reviewer details, and engagement metrics from public MouthShut product and service pages.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
20 days ago
Last modified
Categories
Share
Extract public product and service reviews from MouthShut into structured data.
Provide one or more MouthShut review-listing URLs and receive review text, star ratings, author context, timestamps, engagement counts, and entity-level reputation metrics.
The Actor is designed for recurring Indian-market reputation monitoring across ecommerce, finance, travel, mobile apps, employers, local services, and other categories represented on MouthShut.
What does MouthShut Reviews Scraper do?
The Actor opens public MouthShut product review listings in a browser, waits for the review records rendered by the site, and follows numbered review pages.
Each dataset row represents one public review.
Entity context is repeated on every row so exports can be filtered, joined, or analyzed without a separate lookup table.
The Actor:
- accepts direct MouthShut product review URLs;
- supports multiple entities in one run;
- follows numbered pagination;
- deduplicates reviews by their public detail URL;
- extracts the full text available on the listing;
- records per-review ratings and engagement;
- records aggregate entity rating, vote count, and recommendation percentage;
- stops at explicit review and page limits;
- rejects unrelated URLs instead of scraping an unintended page.
It does not write reviews, sign in, or access private account data.
Who is it for?
Brand and reputation teams can schedule daily or weekly collection and track new customer complaints.
Customer experience teams can inspect review text alongside star ratings and engagement signals.
Ecommerce teams can compare public sentiment for marketplaces, apps, sellers, and services.
Competitive-intelligence analysts can monitor several entities with the same repeatable schema.
Data and AI teams can export review text for sentiment classification, topic extraction, and alerting.
Agencies can build client-facing reputation reports without copying review cards manually.
Why use this Actor?
MouthShut listing pages load review cards with JavaScript.
A simple HTTP downloader receives useful aggregate structured data but not the complete rendered review list.
This Actor handles that rendering step, pagination, record normalization, limits, and dataset export for you.
It runs without a login and only processes public review listings.
The browser blocks unnecessary media, fonts, advertising, and analytics requests to reduce runtime and transfer.
What data can you extract?
| Field | Description |
|---|---|
entityName | Reviewed product or service name |
entityUrl | Canonical MouthShut review-listing URL |
categoryPath | Available category breadcrumb labels |
aggregateRating | Entity rating out of five |
aggregateRatingCount | Number of aggregate votes |
recommendationPercent | Percentage of members recommending the entity |
ratingDistribution | Star counts when MouthShut exposes them; otherwise null |
reviewId | Internal review identifier when present |
reviewUrl | Public individual-review URL |
title | Review title |
text | Review body as plain text |
rating | Review star rating out of five |
reviewerUsername | Public reviewer username |
reviewerLocation | Public location shown by MouthShut |
reviewerProfileUrl | Public profile URL |
reviewerReviewCount | Review count shown in the author summary |
publishedTime | Date, time, or relative age displayed by MouthShut |
postedViaMobile | Whether the listing marks a mobile submission |
likesCount | Public like/usefulness count |
commentsCount | Public comment count |
viewsCount | Public view count |
sourceUrl | Exact numbered listing page used |
scrapedAt | UTC extraction timestamp |
Fields may be null when MouthShut does not expose that value for a particular entity or review.
How to scrape MouthShut reviews
- Open the Actor input form.
- Add one or more public URLs containing
/product-reviews/. - Set the maximum number of reviews needed across all URLs.
- Set a page limit for each URL.
- Click Start.
- Open the Dataset tab to preview, download, or integrate the results.
A working input is:
{"startUrls": [{"url": "https://www.mouthshut.com/product-reviews/amazon-reviews-925000493"}],"maxReviews": 100,"maxPagesPerUrl": 5}
Input parameters
startUrls
Required array of public MouthShut product review listing URLs.
Both a main listing and a numbered URL ending in -page-N are accepted.
Up to 100 input URLs are supported in one run.
URLs outside mouthshut.com, mobile API links, profile pages, and individual review URLs are rejected.
maxReviews
Maximum number of unique review rows saved across the whole run.
Default: 100.
Allowed range: 1 to 50,000.
maxPagesPerUrl
Maximum number of listing pages visited from each input URL.
Default: 10.
Allowed range: 1 to 2,500.
MouthShut commonly shows 20 reviews per page, though the source controls the actual count.
Output example
The default dataset contains one object per review:
{"entityName": "Amazon","entityUrl": "https://www.mouthshut.com/product-reviews/amazon-reviews-925000493","categoryPath": ["Ecommerce and Online Business", "Online Shopping"],"aggregateRating": 2.97,"aggregateRatingCount": 206018,"recommendationPercent": 54,"ratingDistribution": null,"reviewId": "4300000","reviewUrl": "https://www.mouthshut.com/review/amazon-review-abcdefghij","title": "Convenient shopping experience","text": "The ordering process was straightforward and delivery arrived on time.","rating": 4,"reviewerUsername": "sampleuser123","reviewerLocation": "Pune India","reviewerProfileUrl": "https://www.mouthshut.com/sampleuser123","reviewerReviewCount": 7,"publishedTime": "Jan 15, 2025 10:30 AM","postedViaMobile": true,"likesCount": 3,"commentsCount": 1,"viewsCount": 950,"sourceUrl": "https://www.mouthshut.com/product-reviews/amazon-reviews-925000493","scrapedAt": "2026-07-27T05:47:40.159Z"}
Values change as MouthShut updates its pages.
How much does it cost to scrape MouthShut reviews?
The Actor uses pay-per-event pricing.
A run has a $0.003 start fee and a review event for each dataset row.
The FREE-tier review price is $0.000041071 per review; paid-platform tiers decrease progressively for higher-volume users.
At the FREE-tier event price:
- 20 reviews cost about $0.00382 including the start fee;
- 100 reviews cost about $0.00711 including the start fee;
- 1,000 reviews cost about $0.0441 including the start fee.
These examples describe Actor event charges.
Your Apify plan and platform usage terms still apply.
The run stops as soon as maxReviews is reached, which makes the requested volume predictable.
Pagination, limits, and deduplication
The Actor starts at each supplied URL and discovers the next numbered page from MouthShut's pagination controls.
maxPagesPerUrl is applied independently to each starting URL.
maxReviews is a global output limit for the complete run.
If the same review appears through multiple supplied listings, its public review URL is used to avoid duplicate dataset rows.
Supplying a numbered page starts collection from that page rather than silently returning to page one.
Reliability and failure behavior
The Actor waits for MouthShut's rendered review-listing container rather than relying on a fixed sleep.
A transient navigation or upstream failure is retried once with a fresh page.
Challenge pages and unrecognized layouts are treated as errors, not as successful runs with zero data.
A valid listing with no current reviews can legitimately produce an empty dataset.
Invalid URL hosts, unsupported paths, and out-of-range limits fail before scraping starts.
No residential proxy fallback is enabled in this version.
Tips for efficient runs
Start with one page and 20 reviews while testing a new entity URL.
Increase maxPagesPerUrl only when historical depth is required.
Use separate scheduled tasks when different brands need different frequencies or limits.
Store the reviewUrl as your durable deduplication key downstream.
Treat publishedTime as source text: MouthShut sometimes displays relative values such as “12 days ago”.
Use scrapedAt to establish when that relative value was observed.
Reputation-monitoring workflows
Daily complaint alerting
Schedule a small run for a brand, compare reviewUrl values with the previous export, and send new low-star rows to Slack or email.
Competitor benchmarking
Supply several same-category listing URLs and group output by entityName to compare ratings, review volume, recommendation percentage, and recurring topics.
Sentiment and topic analysis
Send the title and text fields to a language model or text-classification pipeline.
Retain the reviewUrl and sourceUrl so analysts can inspect public source context.
BI reporting
Export JSON, CSV, or Excel from the dataset, or connect the dataset API to a warehouse refresh.
Run with the Apify API
Replace YOUR_APIFY_TOKEN with your token.
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~mouthshut-reviews-scraper/runs?token=YOUR_APIFY_TOKEN&waitForFinish=300" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url":"https://www.mouthshut.com/product-reviews/amazon-reviews-925000493"}],"maxReviews": 20,"maxPagesPerUrl": 1}'
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/mouthshut-reviews-scraper').call({startUrls: [{ url: 'https://www.mouthshut.com/product-reviews/amazon-reviews-925000493' }],maxReviews: 20,maxPagesPerUrl: 1,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("automation-lab/mouthshut-reviews-scraper").call(run_input={"startUrls": [{"url": "https://www.mouthshut.com/product-reviews/amazon-reviews-925000493"}],"maxReviews": 20,"maxPagesPerUrl": 1,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
Use with MCP and AI assistants
Add the Actor to Claude Code through Apify's MCP server:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/mouthshut-reviews-scraper"
Claude Desktop
Add this server object to your Claude Desktop MCP configuration.
Cursor
Add the same server object in Cursor's MCP settings.
VS Code
Add the same server object through your VS Code MCP extension or workspace MCP configuration.
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/mouthshut-reviews-scraper"}}}
Example prompts:
- “Collect the latest 100 reviews from this MouthShut listing and summarize repeated complaints.”
- “Monitor these three MouthShut brand pages and return only newly observed one-star reviews.”
- “Compare the recommendation percentage and top review themes for these competitor URLs.”
Integrations
Dataset results can be consumed through:
- Apify API and webhooks;
- Google Sheets;
- Make;
- Zapier;
- Slack;
- cloud storage;
- Python and JavaScript clients;
- business-intelligence and data-warehouse pipelines.
Use an Actor run webhook when downstream processing should begin immediately after a successful run.
Responsible use and legality
This Actor extracts information displayed publicly by MouthShut without authentication.
You are responsible for complying with applicable laws, MouthShut's terms, privacy rules, and your intended use of the data.
Do not use public reviewer information for harassment, discrimination, spam, identity profiling, or attempts to deanonymize users.
Collect only the fields and volume necessary for a legitimate purpose.
Consider retention limits and access controls when storing review text or public profile information.
This Actor is not affiliated with or endorsed by MouthShut.
Limitations
MouthShut controls page availability, fields, and layout.
Some records omit location, engagement, review ID, or aggregate fields.
ratingDistribution remains null when the listing does not expose star-level counts.
Relative publication times are preserved rather than guessed into exact dates.
The Actor accepts review-listing URLs; it does not discover entity URLs from keyword searches.
It does not scrape login-only content, post reviews, submit votes, or reply as a brand.
Troubleshooting
Why did my run reject a URL?
Use a public HTTPS listing URL containing /product-reviews/ and ending in -reviews- plus the numeric entity ID.
Individual /review/ URLs, user profiles, search pages, and mobile API endpoints are not valid inputs.
Why did I receive fewer rows than expected?
Check both limits.
The run stops at maxReviews, and each input URL stops at maxPagesPerUrl.
The source may also have fewer public reviews or may repeat records that the Actor deduplicates.
Why is ratingDistribution null?
MouthShut does not consistently expose counts for each star level on public listings.
The aggregate rating, vote count, recommendation percentage, and each review's own star rating remain available when displayed.
What should I do if MouthShut shows a challenge page?
Retry later rather than repeatedly launching runs.
Persistent challenge or layout failures are surfaced as run errors so stale or empty output is not mistaken for a valid result.
Frequently asked questions
Can I scrape several products or services at once?
Yes. Add each supported review-listing URL to startUrls.
The global maxReviews limit applies across all of them.
Can I start from page 2?
Yes. A numbered -page-N URL is accepted and pagination continues from there.
Does the Actor open every review detail page?
No. The listing already displays the review fields shipped in this version, so avoiding extra detail navigations reduces runtime.
Can I schedule recurring runs?
Yes. Create an Apify task with the desired URLs and use a schedule appropriate for your monitoring workflow.
Is a proxy required?
No proxy was required for the current public route, and this version does not enable an automatic residential fallback.
Related review-data Actors
- G2 Scraper for software product and review intelligence.
- Trustpilot Scraper for company profiles and Trustpilot reviews.
Use separate Actors when a workflow needs source-specific fields, then combine their datasets downstream using canonical profile or review URLs.
Support
If a supported public listing fails, include the exact input URL, run ID, expected review count, and observed error when requesting support.
Do not include account credentials or private information.