# Shopsy Scraper: Flipkart Value Marketplace Data (`getascraper/shopsy-scraper`) Actor

Scrape product listings from Shopsy, Flipkart's value marketplace in India. Get titles, brand, price, MRP, discount, rating, review counts, stock state, and high-resolution images. Filter by price and sort order, then export to Excel, Google Sheets, CSV, or JSON.

- **URL**: https://apify.com/getascraper/shopsy-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.74 / 1,000 product records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## 🛍️ Shopsy Products Scraper

Get live Shopsy.in product listings, prices, MRP, discounts, ratings, and high-resolution images, ready for your spreadsheet in under 60 seconds.

Shopsy is Flipkart's value marketplace for India. This scraper turns any Shopsy search or listing page into a clean table of products. Search by keyword like `kurti`, or paste Shopsy URLs. Filter by price range and choose the sort order. Each product comes back with its title, brand, price, MRP, discount, rating, review counts, stock state, and full-resolution image links.

### 🔍 What this scraper does

You give it a keyword like `kurti` or `bluetooth speaker`, or paste Shopsy URLs directly. It returns every matching product as a flat row.

For each product you get:

- Product title, brand, subtitle, category, and vertical
- Current price, original MRP, and discount in rupees and percent
- Average rating, total ratings count, and review count
- Star-by-star rating breakdown from five down to one
- Stock state and whether the listing is a sponsored ad
- Product ID, item ID, product URL, and high-resolution image links

The data lands as plain rows. Export to Excel, CSV, JSON, or Google Sheets in one click, or pull it straight into your own tools.

### 💡 Who uses this scraper

- **I am a price-monitoring analyst** at an India ecommerce brand, tracking Shopsy prices on my own products every morning so I can react fast when a rival undercuts me.
- **I am a competitive-intelligence researcher** mapping how budget brands price kurtis and sarees across Shopsy, building a weekly snapshot of discounts and star ratings for my reports.
- **I am a retail arbitrage seller** hunting products with deep MRP discounts and strong review counts, so I can source winners and resell them on other marketplaces.
- **I am a market researcher** studying demand in Tier 2 and Tier 3 India, pulling rating breakdowns and review volumes to see which categories shoppers actually trust.

### ⚙️ Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `query` | string | Yes | The keyword to search on Shopsy, for example `kurti`, `saree`, or `bluetooth speaker`. |
| `startUrls` | array of URLs | No | Paste Shopsy search or listing URLs to scrape directly instead of using a keyword. |
| `sortBy` | enum | No | The order products come back in: Popularity, Price low to high, Price high to low, or Newest First. |
| `minPrice` | integer | No | Only return products priced at or above this amount in rupees. Set to 0 for no lower limit. |
| `maxPrice` | integer | No | Only return products priced at or below this amount in rupees. Set to 0 for no upper limit. |
| `maxItems` | integer | No | The most products to return in one run. |
| `proxyConfiguration` | object | No | Connection settings for the run. India residential proxies are recommended so Shopsy serves Indian listings and rupee prices. |

### 📦 Output

Every product is one flat row. Here is a sample of two products.

```json
[
  {
    "product_id": "KRTGYZ8QH4FKZHWP",
    "item_id": "ITMGYZ8QH4FKZHWP",
    "title": "Women Printed Cotton Blend Straight Kurti",
    "brand": "Anubhutee",
    "subtitle": "Green, Pink",
    "category": "Kurtis",
    "vertical": "shopsy_kurta",
    "price": 449,
    "mrp": 1499,
    "discount_percent": 70,
    "discount_amount": 1050,
    "currency": "INR",
    "rating": 4.2,
    "rating_count": 18432,
    "review_count": 1203,
    "rating_breakup_5_star": 9800,
    "rating_breakup_4_star": 4200,
    "rating_breakup_3_star": 2100,
    "rating_breakup_2_star": 1100,
    "rating_breakup_1_star": 1232,
    "availability": "IN_STOCK",
    "is_sponsored": false,
    "image_url": "https://rukminim2.flixcart.com/image/832/832/kurti-sample-1.jpeg?q=90",
    "images_count": 5,
    "images": "https://rukminim2.flixcart.com/image/832/832/kurti-sample-1.jpeg?q=90, https://rukminim2.flixcart.com/image/832/832/kurti-sample-2.jpeg?q=90",
    "product_url": "https://www.shopsy.in/women-printed-cotton-blend-straight-kurti/p/itm123",
    "scraped_at": "2026-06-25T09:14:07.000Z"
  },
  {
    "product_id": "SPKZF3M9PLN2QWRT",
    "item_id": "ITMZF3M9PLN2QWRT",
    "title": "Portable Wireless Bluetooth Speaker 10W",
    "brand": "boAt",
    "subtitle": "Black",
    "category": "Speakers",
    "vertical": "shopsy_speaker",
    "price": 899,
    "mrp": 2990,
    "discount_percent": 69,
    "discount_amount": 2091,
    "currency": "INR",
    "rating": 4.4,
    "rating_count": 52310,
    "review_count": 4877,
    "rating_breakup_5_star": 32000,
    "rating_breakup_4_star": 12000,
    "rating_breakup_3_star": 4500,
    "rating_breakup_2_star": 1800,
    "rating_breakup_1_star": 2010,
    "availability": "IN_STOCK",
    "is_sponsored": true,
    "image_url": "https://rukminim2.flixcart.com/image/832/832/speaker-sample-1.jpeg?q=90",
    "images_count": 6,
    "images": "https://rukminim2.flixcart.com/image/832/832/speaker-sample-1.jpeg?q=90, https://rukminim2.flixcart.com/image/832/832/speaker-sample-2.jpeg?q=90",
    "product_url": "https://www.shopsy.in/portable-wireless-bluetooth-speaker/p/itm456",
    "scraped_at": "2026-06-25T09:14:07.000Z"
  }
]
```

#### Data fields

| Field | Type | Description |
| --- | --- | --- |
| `product_id` | string | Shopsy product identifier. |
| `item_id` | string | Identifier for the specific item variant. |
| `title` | string | The full product title as shown on the listing. |
| `brand` | string | The brand name attached to the product. |
| `subtitle` | string | Short variant descriptor such as color or style, for example "Green, Pink". |
| `category` | string | The product category, for example Kurtis or Speakers. |
| `vertical` | string | Product vertical code, for example "shopsy\_kurta". |
| `price` | number | Current selling price in rupees. |
| `mrp` | number | Original maximum retail price in rupees. |
| `discount_percent` | number | Discount off the MRP as a percentage. |
| `discount_amount` | number | Rupees saved against the MRP. |
| `currency` | string | Currency code for all prices, always INR. |
| `rating` | number | Average star rating out of five. |
| `rating_count` | number | Total number of star ratings. |
| `review_count` | number | Total number of written text reviews. |
| `rating_breakup_5_star` | number | Count of five-star ratings. |
| `rating_breakup_4_star` | number | Count of four-star ratings. |
| `rating_breakup_3_star` | number | Count of three-star ratings. |
| `rating_breakup_2_star` | number | Count of two-star ratings. |
| `rating_breakup_1_star` | number | Count of one-star ratings. |
| `availability` | string | Stock state of the product, for example IN\_STOCK. |
| `is_sponsored` | boolean | True when the listing is a paid sponsored ad. |
| `image_url` | string | High-resolution link to the primary product image. |
| `images_count` | number | Number of product images found. |
| `images` | string | All product image links. |
| `product_url` | string | Direct link to the product page on Shopsy. |
| `scraped_at` | string | Timestamp of when the record was collected, in ISO format. |

### 💰 Pricing

Pricing is pay per result. You are billed per product saved to your dataset. Empty runs cost nothing, and there are no subscriptions or fixed monthly fees.

The billed event is named Product record. One Product record is one product with its price, rating, and image links.

- Free tier: about **$0.99 per 1,000 results**.
- Business (GOLD) plan: about **$0.74 per 1,000 results**.
- **100 products** cost about **$0.10**.
- **1,000 products** cost about **$0.99**.

Failed or empty runs are never charged.

### ⭐ Enjoying Shopsy Products Scraper?

<table width="100%">
<tr>
<td style="padding:20px 24px 14px;background:#E8F0FE;border:1px solid #E8F0FE;border-left:5px solid #2874F0;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">Skip manual price checks and get Shopsy prices, discounts, and rating breakdowns in a spreadsheet in seconds.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other price-monitoring analysts and retail arbitrage sellers find it. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#2874F0;border:1px solid #E8F0FE;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/shopsy-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### ❓ Frequently asked questions

##### Does it get blocked?

No. The scraper routes traffic through India residential proxies and rotates connections automatically. This keeps Shopsy serving Indian listings and rupee prices without geographic blocks. The defaults handle this for you.

##### Does it extract seller or phone number details?

No. Shopsy search data does not expose seller names or phone numbers, so the scraper does not return them. You get public product data only: titles, prices, ratings, reviews, stock state, and image links.

##### How fresh is the data?

The data is live. Each run reads current Shopsy pages at the moment you start it, so prices, discounts, ratings, and stock states reflect what shoppers see right now. Schedule daily runs to track price changes over time.

##### Which products and categories are supported?

All public Shopsy search results and listings are supported, including fashion, home, electronics, beauty, and more. Search by keyword to scan a category, or paste specific Shopsy search URLs to target exactly what you need.

### 🔗 Other actors

- [ShopClues Products Scraper](https://apify.com/getascraper/shopclues-scraper) ↗ - extracts prices, discounts, and ratings from ShopClues, India's value marketplace.
- [Cashify India Scraper](https://apify.com/getascraper/cashify-scraper) ↗ - collects used device pricing and specs from Cashify.
- [Lenskart Scraper](https://apify.com/getascraper/lenskart-scraper) ↗ - extracts eyewear prices, specs, and variants from Lenskart.
- [Ubuy Global Scraper](https://apify.com/getascraper/ubuy-com-scraper) ↗ - extracts cross-border product prices and specs from Ubuy.

# Actor input Schema

## `query` (type: `string`):

What to search for on Shopsy, for example kurti, saree, or bluetooth speaker.

## `startUrls` (type: `array`):

Optional. Paste Shopsy category, brand, or search result URLs to scrape directly instead of a keyword.

## `sortBy` (type: `string`):

The order products are returned in.

## `minPrice` (type: `integer`):

Only return products priced at or above this amount in rupees. Set to 0 for no lower limit.

## `maxPrice` (type: `integer`):

Only return products priced at or below this amount in rupees. Set to 0 for no upper limit.

## `maxItems` (type: `integer`):

The most products to return in one run.

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

India residential proxies are recommended so Shopsy serves Indian listings and prices without blocking the scraper.

## Actor input object example

```json
{
  "query": "kurti",
  "startUrls": [],
  "sortBy": "popularity",
  "minPrice": 0,
  "maxPrice": 0,
  "maxItems": 80,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IN"
  }
}
```

# Actor output Schema

## `results` (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 = {
    "query": "kurti",
    "startUrls": [],
    "sortBy": "popularity",
    "minPrice": 0,
    "maxPrice": 0,
    "maxItems": 80,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "IN"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/shopsy-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 = {
    "query": "kurti",
    "startUrls": [],
    "sortBy": "popularity",
    "minPrice": 0,
    "maxPrice": 0,
    "maxItems": 80,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "IN",
    },
}

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

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

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

```

## CLI example

```bash
echo '{
  "query": "kurti",
  "startUrls": [],
  "sortBy": "popularity",
  "minPrice": 0,
  "maxPrice": 0,
  "maxItems": 80,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IN"
  }
}' |
apify call getascraper/shopsy-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=getascraper/shopsy-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

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