# Meesho Reviews Scraper ⭐ (`shahidirfan/meesho-reviews-scraper`) Actor

Extract Meesho product reviews, customer ratings, review text, dates, product details, and feedback data. Ideal for eCommerce research, sentiment analysis, competitor tracking, product quality insights, customer satisfaction monitoring, and AI training datasets.

- **URL**: https://apify.com/shahidirfan/meesho-reviews-scraper.md
- **Developed by:** [Shahid Irfan](https://apify.com/shahidirfan) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-usage

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### What does Meesho Reviews Scraper do?

Meesho Reviews Scraper collects customer reviews from any Meesho product page and saves them as a structured dataset. Paste one product link, choose how many reviews you need, and the Actor returns star ratings, review text, review dates, helpful votes, reviewer names, and every photo or video attached to a review.

Use it to understand what shoppers praise or complain about, to compare products before buying, or to feed review data into dashboards, spreadsheets, and AI workflows. The dataset also includes the product name, product rating, and total rating count so each row has context without a second lookup.

### Why use Meesho Reviews Scraper?

- **Structured review data** - Ratings, comments, dates, media, and reviewer details arrive as clean fields, not screenshots or copied text.
- **Fast collection** - Each page holds up to 100 reviews, so you are not clicking through the review section by hand.
- **Repeatable workflow** - Run the Actor on demand or on a schedule to monitor how review sentiment changes after new stock, new pricing, or a new batch of orders.
- **Ready for analysis** - Export to CSV, Excel, JSON, or XML, or send results to Google Sheets, Make, Zapier, or your own systems.
- **Product context included** - Every review row carries the product id, product name, average rating, and rating count, which makes sentiment comparisons between products straightforward.

### What data can you extract from Meesho?

| Field                    | Description                                      |
| ------------------------ | ------------------------------------------------ |
| `review_id`              | Unique Meesho identifier for the review          |
| `rating`                 | Star rating from 1 to 5                          |
| `comment`                | Review text written by the customer              |
| `review_date`            | Publication date in ISO-8601 format              |
| `helpful_count`          | Number of shoppers who marked the review helpful |
| `author_name`            | Display name of the reviewer                     |
| `author_image`           | Reviewer profile image URL                       |
| `author_helpful_count`   | Total helpful votes earned by the reviewer       |
| `has_media`              | Whether the review includes photos or videos     |
| `media`                  | Review media with type and direct URL            |
| `media_count`            | Number of media items on the review              |
| `product_id`             | Product identifier from the URL                  |
| `product_name`           | Title of the reviewed product                    |
| `product_url`            | Canonical product page URL                       |
| `product_image_url`      | Main product image URL                           |
| `product_average_rating` | Product rating at collection time                |
| `product_rating_count`   | Total ratings the product received               |
| `product_review_count`   | Total written reviews Meesho reports             |
| `review_url`             | Product link pointing at the reviews section     |
| `scraped_at`             | Timestamp of the run                             |

Fields that a review does not publish are left out of that record instead of being written as empty columns.

### How to use Meesho Reviews Scraper

1. Open the Actor on Apify Store.
2. Paste a Meesho product URL in the `startUrl` field.
3. Choose a sort order and the number of reviews you need.
4. Leave the proxy disabled for a normal run, or enable Apify Proxy if Meesho blocks requests from your network.
5. Run the Actor and open the dataset when the run finishes.
6. Download the dataset or connect it to your workflow.

Accepted links look like `https://www.meesho.com/product-name/p/1lri1w`. Links with or without `www`, with a trailing slash, with tracking parameters, or without the product slug all work. Category pages, search pages, and store pages are rejected with a clear message.

### Input Parameters

| Parameter            | Type    | Required | Default                   | Description                                                                         |
| -------------------- | ------- | -------- | ------------------------- | ----------------------------------------------------------------------------------- |
| `startUrl`           | String  | No       | Sample Meesho product URL | Product page to collect reviews from                                                |
| `sort_by`            | String  | No       | `most_helpful`            | Review order: `most_helpful`, `newest`, `oldest`, `highest_rating`, `lowest_rating` |
| `results_wanted`     | Integer | No       | `20`                      | Maximum number of reviews to save                                                   |
| `max_pages`          | Integer | No       | `10`                      | Safety cap on review pages, up to 100 reviews per page                              |
| `proxyConfiguration` | Object  | No       | No proxy                  | Optional proxy for blocked networks                                                 |

`most_helpful` keeps the order Meesho returns, which is the order shoppers see on the product page. The other sort options reorder the collected reviews before they are saved.

### Output Data

| Field                    | Type    | Description                          |
| ------------------------ | ------- | ------------------------------------ |
| `review_id`              | String  | Review identifier                    |
| `rating`                 | Integer | Star rating                          |
| `comment`                | String  | Review text                          |
| `review_date`            | String  | Publication date, ISO-8601           |
| `helpful_count`          | Integer | Helpful votes                        |
| `author_name`            | String  | Reviewer display name                |
| `author_image`           | String  | Reviewer profile image               |
| `author_helpful_count`   | Integer | Reviewer total helpful votes         |
| `has_media`              | Boolean | Review includes photos or videos     |
| `media`                  | Array   | Media objects with `type` and `url`  |
| `media_count`            | Integer | Number of media items                |
| `product_id`             | String  | Product identifier                   |
| `product_name`           | String  | Product title                        |
| `product_url`            | String  | Product page URL                     |
| `product_image_url`      | String  | Product image URL                    |
| `product_average_rating` | Number  | Product average rating               |
| `product_rating_count`   | Integer | Product rating count                 |
| `product_review_count`   | Integer | Product written review count         |
| `review_url`             | String  | Product URL with the reviews section |
| `scraped_at`             | String  | Collection timestamp                 |

### Usage Examples

#### Collect the most helpful reviews

Save the first 20 reviews for a product, in the order Meesho displays them:

```json
{
    "startUrl": "https://www.meesho.com/m-white-mesh-runningwalkinggym-sports-shoes-for-men/p/1lri1w",
    "sort_by": "most_helpful",
    "results_wanted": 20,
    "max_pages": 1
}
```

#### Collect recent reviews for sentiment tracking

Pull the newest reviews and sort them from the latest date:

```json
{
    "startUrl": "https://www.meesho.com/madhubani-print-saree/p/1nnri7",
    "sort_by": "newest",
    "results_wanted": 200,
    "max_pages": 3
}
```

#### Find the weakest ratings first

Sort collected reviews by the lowest rating to review complaints:

```json
{
    "startUrl": "https://www.meesho.com/frc-decor-fridge-cover-combo-pack-multicolor/p/1jmqai",
    "sort_by": "lowest_rating",
    "results_wanted": 150,
    "max_pages": 3,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "IN"
    }
}
```

### Sample Output

```json
{
    "review_id": "613959917",
    "rating": 5,
    "comment": "Mene ye white shoes order kiya h kafi accha product hai full comfortable hai very nice looking tnx meesho",
    "review_date": "2024-01-16T13:01:07.000Z",
    "helpful_count": 138,
    "author_name": "Mukesh Nayak",
    "author_image": "https://images.meesho.com/images/reseller/profile_image/d6ec190634589facaa525d1615596be0_a0f4e1c636bb2_1683468412284_512.jpeg",
    "author_helpful_count": 133,
    "has_media": true,
    "media": [
        {
            "type": "image",
            "url": "https://images.meesho.com/images/ratings_reviews/-774476558/-792594139/-774476558_-792594139_759968e753190.jpeg"
        }
    ],
    "media_count": 1,
    "product_id": "1lri1w",
    "product_name": "Clymb Stylish Men Sports Shoes Comfortable Lightweight Daily Wear Running/ Gym Shoes",
    "product_url": "https://www.meesho.com/m-white-mesh-runningwalkinggym-sports-shoes-for-men/p/1lri1w",
    "product_image_url": "https://images.meesho.com/images/products/97021220/zevns_512.jpg",
    "product_average_rating": 3.8,
    "product_rating_count": 31389,
    "product_review_count": 8038,
    "review_url": "https://www.meesho.com/m-white-mesh-runningwalkinggym-sports-shoes-for-men/p/1lri1w#reviews",
    "scraped_at": "2026-10-27T10:00:00.000Z"
}
```

### Tips for Best Results

- Use a full product page link. Search, category, and store pages do not contain reviews and are rejected before the run starts.
- Start with 20 to 50 reviews to check the output, then raise `results_wanted` for a full export.
- `max_pages` limits how many review pages the Actor reads. For 500 reviews, three pages are enough because each page holds up to 100 reviews.
- The Actor runs without a proxy by default. If Meesho blocks a run, enable Apify Proxy, and use Residential with India selected if datacenter proxies are also blocked.
- If a run returns the message that the product was not recognized, open the product link in a browser first and copy the URL again.
- Products with no reviews produce a successful run with an empty dataset. That is expected behavior, not an error.
- Reviews are returned by helpfulness by default. Use `sort_by` when you need a different view, but remember that sorting happens after collection.

### Integrations

- **Google Sheets** - Send each review batch to a spreadsheet for a live sentiment sheet.
- **Webhooks** - Trigger a downstream service after a run finishes.
- **Make or Zapier** - Connect review data to no-code workflows.
- **Apify API** - Read datasets from your own applications and dashboards.
- **Schedules** - Refresh review data hourly, daily, or weekly to track sentiment over time.
- **CSV, Excel, JSON, XML** - Download any dataset in the format your tool needs.

### Frequently Asked Questions

#### How many reviews can I collect from one product?

It depends on the product. Popular products can have thousands of reviews, and the Actor walks as many pages as `max_pages` allows. Each page holds up to 100 reviews, so `max_pages` set to 10 can return up to 1000 reviews.

#### Can I scrape reviews from several products in one run?

A run takes one product URL. To compare several products, start one run per product or use an Apify schedule with a task for each link.

#### Do I need a Meesho account?

No. The Actor works with public product pages and does not require a login, cookie, or Meesho account.

#### Do I need a proxy?

Meesho applies bot protection to review traffic. Most runs work without a proxy. If Meesho blocks the connection, enable Apify Proxy, and use Residential with India selected if datacenter proxies are also blocked.

#### Is the review text exactly as written on Meesho?

Yes. Comments are stored as published, with surrounding whitespace removed. Reviews without text still appear with their rating and media.

#### Can I export the data to CSV or Excel?

Yes. Every Apify dataset can be downloaded as CSV, Excel, JSON, XML, and other supported formats from the Console or through the Apify API.

#### Can I schedule the Actor?

Yes. Create an Apify schedule and point it at a task that runs this Actor with your product URL. Daily or weekly runs work well for sentiment monitoring.

#### What happens if a product has no reviews?

The run succeeds and the dataset stays empty. The log reports that the product currently has no reviews.

#### Why are some fields missing from a review?

Fields such as `author_image` or `media` are omitted when the review does not include them. The dataset avoids null columns, so each row only contains information that exists for that review.

#### Is it legal to collect Meesho review data?

You are responsible for using the data lawfully and for following Meesho's terms and any applicable privacy rules. Collect only public information and use it responsibly.

### Related Actors

- [Flipkart Reviews Scraper](https://apify.com/shahidirfan/flipkart-reviews-scraper) - Reviews, ratings, and comments from Flipkart products.
- [Noon Reviews Scraper](https://apify.com/shahidirfan/noon-reviews-scraper) - Customer reviews from Noon product pages.
- [Myntra Product Scraper](https://apify.com/shahidirfan/myntra-product-scraper) - Product details and pricing from Myntra.
- [AliExpress Reviews Scraper](https://apify.com/shahidirfan/aliexpress-reviews-scraper) - Review data for AliExpress listings.

### Support

For issues, feature requests, or custom Actor work, use the Issues tab on the Actor page or contact the developer through Apify.

### Legal Notice

This Actor is designed for legitimate collection of publicly available review data. Users are responsible for complying with applicable laws, Meesho's terms of service, and privacy rules when storing or sharing review content.

# Actor input Schema

## `startUrl` (type: `string`):

Link to a Meesho product page, for example https://www.meesho.com/product-name/p/1lri1w. Search, category, and store links are rejected.

## `sort_by` (type: `string`):

Order of the reviews in the dataset. Most helpful keeps the order Meesho returns. Other options sort the collected reviews before saving.

## `results_wanted` (type: `integer`):

Maximum number of reviews to save to the dataset.

## `max_pages` (type: `integer`):

Safety cap on the number of review pages to request. Each page holds up to 100 reviews.

## `proxyConfiguration` (type: `object`):

No proxy is used by default. Enable Apify Proxy if Meesho blocks the run. Residential proxy with country India is the fallback.

## Actor input object example

```json
{
  "startUrl": "https://www.meesho.com/m-white-mesh-runningwalkinggym-sports-shoes-for-men/p/1lri1w",
  "sort_by": "most_helpful",
  "results_wanted": 20,
  "max_pages": 10,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

## `media` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrl": "https://www.meesho.com/m-white-mesh-runningwalkinggym-sports-shoes-for-men/p/1lri1w"
};

// Run the Actor and wait for it to finish
const run = await client.actor("shahidirfan/meesho-reviews-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "startUrl": "https://www.meesho.com/m-white-mesh-runningwalkinggym-sports-shoes-for-men/p/1lri1w" }

# Run the Actor and wait for it to finish
run = client.actor("shahidirfan/meesho-reviews-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrl": "https://www.meesho.com/m-white-mesh-runningwalkinggym-sports-shoes-for-men/p/1lri1w"
}' |
apify call shahidirfan/meesho-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,shahidirfan/meesho-reviews-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/v0ZezbqBll7gCN26D/builds/ECenZMWlxnG9KlCPc/openapi.json
