# Meesho Product Search Scraper (`ecomscrape/meesho-product-search-scraper`) Actor

The Meesho.com Product Search Scraper extracts detailed product data from Meesho.com, including name , brand, description, price, rating score, etc., using search query URLs. This tool is perfect for market research, trend analysis, lead generation, and campaign planning.

- **URL**: https://apify.com/ecomscrape/meesho-product-search-scraper.md
- **Developed by:** [ecomscrape](https://apify.com/ecomscrape) (community)
- **Categories:** E-commerce, Lead generation, Automation
- **Stats:** 342 total users, 4 monthly users, 100.0% runs succeeded, 2 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

## Contact

If you encounter any issues or need to exchange information, please feel free to contact us through the following link:
[My profile](https://apify.com/ecomscrape)

## Meesho.com Product Search Scraper - Professional Product Data Collection Tool

### Introduction

Meesho is an Indian e-commerce company headquartered in Bengaluru, founded by Vidit Aatrey and Sanjeev Barnwal in December 2015. As an online marketplace that facilitates trade between suppliers and customers, Meesho has become a vital platform for businesses looking to understand the Indian e-commerce landscape. Unlike traditional platforms that catered mainly to urban audiences, Meesho saw the power of India's next billion users, making it a crucial data source for market research, competitive analysis, and business intelligence.

The Meesho Product Search Scraper addresses the challenge of manually collecting product information from this vast marketplace. With millions of products across categories like fashion, home essentials, beauty, and electronics, manual data collection would be impractical and time-consuming for businesses and researchers.

### Scraper Overview

The Meesho Product Search Scraper is a sophisticated data extraction tool designed specifically for Meesho's product pages. This scraper efficiently navigates through product listing pages and extracts comprehensive product information in a structured format. The tool is built to handle Meesho's dynamic content loading and anti-bot measures while maintaining high accuracy and reliability.

**Key Advantages:**

- **Comprehensive Data Extraction**: Captures 23+ data fields per product including pricing, ratings, shipping details, and product attributes
- **Scalable Processing**: Handles multiple URLs simultaneously with configurable item limits per page
- **Proxy Integration**: Built-in residential proxy support for reliable data collection without detection
- **Retry Mechanism**: Automatic retry functionality ensures maximum data capture success

**Target Users:**

- E-commerce analysts and market researchers
- Competitive intelligence teams
- Price monitoring services
- Business development professionals
- Academic researchers studying Indian e-commerce trends

### Input and Output Details

Example url 1: https://www.meesho.com/cotton-sarees/pl/3jh

Example url 2: https://www.meesho.com/pure-cotton-saree/pl/1hhf

Example url 3: https://www.meesho.com/handloom-cotton-sarees/pl/81l

Example Screenshot of product list by query urls page:

![](https://i.ibb.co/txzfXWz/Screenshot-from-2025-01-15-01-02-20.png)

#### Input Format

**NOTE: You MUST use proxy in INDIA Country to pass blocking restrictions**

The scraper accepts configuration through a JSON object with several key parameters:

##### Scrape with URLs:

```json
{
  "max_retries_per_url": 2, // Maximum number of retry attempts for each URL if the scrape is detected as a bot or the page fails to load.
  "proxy": { // Proxy configuration to avoid bot detection during the data collection process.
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL" 
    ],
    "apifyProxyCountry": "IN" // You MUST choose India (IN) as the proxy country for Meesho.com
  },
  "max_items_per_url": 20, // Limit the number of items per URL you want to scrape
  "urls": [ // List of product list page URLs that you want to scrape.
    "https://www.meesho.com/cotton-sarees/pl/3jh",
    "https://www.meesho.com/pure-cotton-saree/pl/1hhf",
    "https://www.meesho.com/handloom-cotton-sarees/pl/81l"
  ],
  "ignore_url_failures": true // If true, the scraper will continue running even if some URLs fail to be scraped after the maximum number of retries is reached.
}
```

**The `urls` parameter**: Add the URLs of the Product list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

**The `ignore_url_failures` parameter**: If set to `true`, the scraper will continue running even if some URLs fail to be scraped after reaching the maximum number of retries. This ensures that one problematic URL doesn't stop your entire scraping job.

*When you provide a list of URLs for scraping, all options in the "Scrape with search filters" section will be disabled. The system will only collect data from the URLs you specified.*

##### Scrape with Search Filters:

```json
{
  "max_retries_per_url": 2, // Maximum number of retry attempts for each search filter if the scrape is detected as a bot or the page fails to load.
  "proxy": { // Proxy configuration to avoid bot detection during the data collection process.
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL" 
    ],
    "apifyProxyCountry": "IN" // You MUST choose India (IN) as the proxy country for Meesho.com
  },
  "max_items_per_url": 20, // Limit the number of items per search filters you want to scrape
  "keyword": "saree", // Search keyword to find products
  "sort_by": "price_asc", // Sort products by specific criteria
}
```

**The `keyword` parameter**: Enter the keyword to search for products (e.g., "saree", "dress", "shoes", "kurti", "shirt", "jeans").

**The `sort_by` parameter**: Sort products by various criteria:

- `""` (empty string) - Relevance (most relevant first)
- `"created_desc"` - Latest (newest products first)
- `"price_desc"` - Price (high to low)
- `"price_asc"` - Price (low to high)
- `"rating_desc"` - Rating (high to low)
- `"discount_desc"` - Discount (high to low)

*When using search filters for scraping, you need to leave the `urls` field empty (or set it to `null`) in the "Scrape with URLs" configuration.*

##### General Options:

**The `max_items_per_url` parameter**: Limits the number of products extracted from each product list page or search results page. The default value is 20, providing a manageable batch size while allowing for comprehensive data collection.

**The `max_retries_per_url` parameter**: Sets the maximum number of retry attempts for each URL or search filters if the scrape is detected as a bot or the page fails to load. The default value is 2, providing a good balance between thoroughness and efficiency.

**The `proxy` parameter**: Proxy configuration is essential for maintaining anonymity and avoiding detection. The residential proxy option ensures that your scraping activities appear as legitimate browsing, reducing the risk of being blocked or rate-limited. **You MUST choose India (IN) as the proxy country for Meesho.com to pass blocking restrictions.**

#### Output Format

You get the output from the Meesho.com Product Search Scraper stored in a tab. The following is an example of the Information Fields collected after running the Actor.

```json
[ // List of product information
  {
    "id": 21518065,
    "product_id": "19yax6",
    "url": "https://www.meesho.com/s/p/19yax6",
    "name": "Myra Petite Sarees",
    "category_id": 1004,
    "sub_sub_category_name": "Sarees",
    "price": 962.0,
    "image_url": "https://images.meesho.com/images/catalogs/21518065/cover/1/2/cf326eef10b84a6bf8d2131bdd13c1437008b054f402b76adedacabd63cb32faa90295753adbb38292c4fd916849a397462c03693b20af2f26245b5ecd2adb9f_512.jpg",
    "assured_details": {
      "is_assured": false
    },
    "rating_score": 3.8,
    "rating_count": 99,
    "rating_details": null,
    "shipping": {
      "charges": 0,
      "discount": 0
    },
    "special_offers": {
      "display_text": "₹941 with 1 Special Offer"
    },
    "product_attributes": [],
    "slug": "pure-cotton-sarees-medium-size-double-side-border",
    "original_slug": "pure-cotton-sarees-medium-size-double-side-border",
    "description": null,
    "share_text": null,
    "is_hot": null,
    "full_details": null,
    "popular": null,
    "is_popular": null,
    "consumer_share_text": null,
    "from_url": "https://www.meesho.com/cotton-sarees/pl/3jh"
  }, // ... Many other product details
]
```

The scraper returns structured data with 23 comprehensive fields per product:

**Core Product Information:**

- **Id**: Internal product identifier for tracking and reference
- **Product Id**: Meesho's unique product identifier for direct access
- **Url**: Direct link to the product page for verification and reference
- **Name**: Complete product title as displayed on Meesho
- **Category Id** & **Sub Sub Category Name**: Hierarchical categorization for product classification

**Pricing and Commercial Data:**

- **Price**: Current selling price in Indian Rupees
- **Special Offers**: Active discounts, coupon codes, or promotional deals
- **Shipping**: Delivery information including cost and estimated time

**Visual and Quality Indicators:**

- **Image Url**: Primary product image for visual reference
- **Rating Score**: Average customer rating (typically 1-5 scale)
- **Rating Count**: Total number of customer reviews
- **Rating Details**: Breakdown of rating distribution
- **Assured Details**: Quality assurance or certification information

**SEO and Marketing Data:**

- **Slug** & **Original Slug**: URL-friendly product identifiers
- **Description**: Detailed product description and specifications
- **Share Text**: Social media optimized product description
- **Consumer Share Text**: User-friendly sharing content

**Business Intelligence Fields:**

- **Product Attributes**: Detailed specifications like size, color, material
- **Is Hot** & **Popular/Is Popular**: Trending and popularity indicators
- **Full Details**: Complete product specification data

**Sample Output Structure:**
Each product returns as a structured object containing all fields, enabling easy integration with databases, analytics tools, or business intelligence platforms.

### Usage Guide

#### Method 1: Scraping with URLs

**Step 1: Prepare Target URLs**
Navigate to Meesho.com and identify specific category or search result pages. Copy the complete URLs including any filters or search parameters. You can paste URLs one by one or use the Bulk edit section to add a prepared list.

**Step 2: Configure Scraper Settings**

- Set `max_items_per_url` based on your data needs (20-50 recommended for initial testing)
- **IMPORTANT**: Enable residential proxies with Indian (IN) location - this is mandatory for Meesho.com to pass blocking restrictions
- Configure retry attempts based on your reliability requirements
- Enable `ignore_url_failures` to ensure your scraping job continues even if some URLs fail

**Step 3: Execute and Monitor**
Start the scraper and monitor progress through the provided interface. The tool will automatically handle pagination and data extraction from your specified URLs.

#### Method 2: Scraping with Search Filters

**Step 1: Configure Search Parameters**
Instead of providing specific URLs, configure your search by setting a keyword and optional sorting preferences. Leave the `urls` field empty when using this method.

Enter a `keyword` to search for specific products (e.g., "saree", "dress", "shoes", "kurti", "shirt", "jeans", "ethnic wear").

**Step 2: Set Sorting Options**
Choose how you want your results sorted:

- **Relevance** - Most relevant products first (default)
- **Latest** - Newest products first
- **Price (high to low)** - Most expensive items first
- **Price (low to high)** - Cheapest items first
- **Rating (high to low)** - Highest rated products first
- **Discount (high to low)** - Products with best discounts first

**Step 3: Configure Proxy and Execute**

- **CRITICAL**: Set proxy configuration with India (IN) as the country - this is mandatory for Meesho.com
- Set `max_items_per_url` to control how many products to extract from search results
- Run the scraper with your search configuration

#### Best Practices:

- **For URL-based scraping**: Copy complete URLs with all parameters and filters intact
- **For search-based scraping**: Use specific keywords and appropriate sorting to narrow down results and improve data quality
- **ALWAYS use India (IN) proxy country** - this is essential for Meesho.com to avoid blocking
- Use reasonable delays between requests to avoid overwhelming Meesho's servers
- Implement data validation to ensure extracted information quality
- Store results in structured formats (JSON, CSV, or database) for analysis
- Regularly update URL patterns or search keywords if Meesho changes their site structure
- Start with a small `max_items_per_url` value to test your configuration before running large-scale extractions
- Enable `ignore_url_failures` to ensure partial data collection even when some URLs encounter issues

#### Common Issues and Solutions:

- **Empty Results**: Verify URL accessibility and ensure proxy is configured with India (IN) country
- **Incomplete Data**: Increase retry attempts or adjust proxy settings to use residential proxies in India
- **Rate Limiting**: Reduce concurrent requests or implement longer delays
- **Access Blocked**: Double-check that proxy country is set to India (IN) - this is mandatory for Meesho.com
- **No search results**: Ensure the `urls` field is empty when using search filters, and verify keyword spelling

### Benefits and Applications

**Time and Resource Efficiency:**
Manual data collection from thousands of Meesho products would require weeks of effort. This scraper reduces the process to hours while ensuring accuracy and completeness.

**Real-World Applications:**

- **Market Research**: Analyze pricing trends, product availability, and competitive positioning
- **Inventory Management**: Track competitor stock levels and product variations
- **Price Monitoring**: Automated tracking of price changes and promotional activities
- **Trend Analysis**: Identify popular products and emerging market segments
- **Academic Research**: Study e-commerce patterns in emerging markets

**Business Value:**
The comprehensive data enables informed decision-making for product sourcing, pricing strategies, and market entry planning. For businesses operating in or targeting the Indian market, this data provides crucial competitive intelligence.

### Conclusion

The Meesho Product Search Scraper provides unparalleled access to one of India's largest e-commerce datasets. With its comprehensive field extraction, proxy integration, and scalable architecture, it delivers the reliable data intelligence needed for modern business operations.

Ready to unlock Meesho's product data? Configure your scraper today and gain instant access to millions of product insights from India's fastest-growing e-commerce platform.

## Related Actors

- [**Meesho Product Details Scraper**](https://apify.com/ecomscrape/meesho-product-details-page-scraper): Your comprehensive tool for extracting valuable product information from Meesho extensive directory platform.

## Your feedback

We are always working to improve Actors' performance. So, if you have any technical feedback about Meesho.com Product Search Scraper or simply found a bug, please create an issue on the Actor's Issues tab in Apify Console.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Product list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped after the maximum number of retries is reached.

## `keyword` (type: `string`):

Enter the keyword to search for items

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

Sort items by (e.g., relevance, created_desc, price_desc, price_asc, rating_desc, discount_desc)

## `max_items_per_url` (type: `integer`):

Limit the number of items per URL or search filters you want to scrape

## `max_retries_per_url` (type: `integer`):

Limit the number of retries for each URL or search filters if the scrape is detected as a bot or the page fails to load

## `proxy` (type: `object`):

Select proxies to be used by your scraper.

## Actor input object example

```json
{
  "urls": [
    "https://www.meesho.com/cotton-sarees/pl/3jh"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20,
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IN"
  }
}
```

# 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 = {
    "urls": [
        "https://www.meesho.com/cotton-sarees/pl/3jh"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20,
    "max_retries_per_url": 2,
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "IN"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ecomscrape/meesho-product-search-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 = {
    "urls": ["https://www.meesho.com/cotton-sarees/pl/3jh"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
    "max_retries_per_url": 2,
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "IN",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("ecomscrape/meesho-product-search-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 '{
  "urls": [
    "https://www.meesho.com/cotton-sarees/pl/3jh"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20,
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IN"
  }
}' |
apify call ecomscrape/meesho-product-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ecomscrape/meesho-product-search-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/TwrgVI1VjLxKMjwoZ/builds/S70TrPgdmzXkaNWuC/openapi.json
