
TikTok Shop Scraper
scrape.ly/store/shelfbright/tiktok-shop-scraperE-commerceSocial media
1 monthly user

Scrape Flipkart.com products from search terms, category and product URLs: price, MRP, discount, rating, ratings and reviews count, key specs, availability and images. Optional full specs, seller, offers and customer reviews.
Scrape products from Flipkart.com, India's largest online store, by search term, category URL or product URL. You get the price, MRP, discount, star rating, ratings and reviews count, rating breakdown, key specs, availability and images for every product. Turn on details and reviews to add full specification tables, seller, bank and exchange offers, and customer reviews. No login needed, and every result costs a fraction of a cent.
iphone 15), or paste Flipkart search, category or product URLs.| Field | What it does |
|---|---|
searchTerms | Keywords to search on Flipkart, one per line. |
startUrls | Flipkart search or category URLs (paged through), product URLs or product-review URLs. |
maxResults | Max products per search term or search/category URL (default 20, 0 = no limit). |
sort | relevance, popularity, price_asc, price_desc or newest. |
minPrice / maxPrice | Price range in rupees. |
includeDetails | Open each product page for specs, seller, offers and more. |
includeReviews | Save customer reviews as extra rows (type: "review"). |
maxReviewsPerProduct | Reviews per product (default 20, 0 = all). |
reviewsSort | MOST_HELPFUL, MOST_RECENT, POSITIVE_FIRST or NEGATIVE_FIRST. |
{
"searchTerms": ["iphone 15", "running shoes"],
"startUrls": [
{ "url": "https://www.flipkart.com/computers/computer-components/monitors-accessories/monitors/pr?sid=6bo,g0i,unb,pp8" }
],
"maxResults": 50,
"sort": "popularity",
"minPrice": 1000,
"maxPrice": 80000,
"includeDetails": true,
"includeReviews": false
}
Every product is one row. With reviews turned on, each review is an extra row with type: "review".
| Field | Description |
|---|---|
title, brand, subtitle, variant | Product name, brand and the variant shown in the listing. |
productId, itemId, listingId | Flipkart identifiers (FSN, item ID, listing ID). |
price, mrp, discountPercent, discountAmount | Selling price, list price (MRP) and discount, in INR. |
rating, ratingCount, reviewCount, ratingBreakdown | Star rating, number of ratings and reviews, count per star. |
keySpecs | Key specs shown in search results. |
availability, inStock, flipkartAssured | Stock status and the Flipkart Assured badge. |
category, superCategory, subCategory | Flipkart's category labels. |
imageUrl, images, url | Main image, all images and the product page. |
searchUrl, position, page | Where the product was found and at which rank. |
specifications, highlights, description | With details: grouped spec table, highlights and description. |
seller, sellerRating, offers, bestPriceWithOffers | With details: seller, offers and the lowest price after offers. |
warrantySummary, returnPolicy, color, manufacturerInfo | With details: warranty, return policy, colour, importer and manufacturer. |
Product row from a test run, trimmed:
{
"type": "product",
"productId": "MOBHQV9YZGYG64U7",
"itemId": "ITM387C20F1F5347",
"listingId": "LSTMOBHQV9YZGYG64U7WLKZD8",
"title": "Apple iPhone 15 (Blue, 128 GB)",
"brand": "Apple",
"category": "Handset",
"superCategory": "Mobile",
"price": 67999,
"mrp": 74900,
"discountPercent": 9,
"discountAmount": 6901,
"currency": "INR",
"rating": 4.6,
"ratingCount": 249256,
"reviewCount": 9828,
"ratingBreakdown": { "1": 11113, "2": 3670, "3": 7533, "4": 32885, "5": 194055 },
"keySpecs": ["128 GB ROM", "15.49 cm (6.1 inch) Super Retina XDR Display", "48MP + 12MP | 12MP Front Camera"],
"availability": "IN_STOCK",
"inStock": true,
"flipkartAssured": true,
"imageUrl": "https://rukminim1.flixcart.com/image/832/832/xif0q/mobile/z/h/l/-original-imahqvadwhgxgx2n.jpeg?q=75",
"url": "https://www.flipkart.com/apple-iphone-15-blue-128-gb/p/itm387c20f1f5347?pid=MOBHQV9YZGYG64U7",
"position": 1,
"seller": "TrueComRetail",
"sellerRating": 4.6,
"bestPriceWithOffers": 63649,
"offers": [{ "type": "PBO", "title": "Bank offers", "value": "₹ 4,350 off", "details": null }],
"specifications": { "Dimensions": { "Width": "71.6 mm (7.16 cm)", "Weight": "171 g" } },
"warrantySummary": "1 year warranty for phone and 1 year warranty for in Box Accessories.",
"returnPolicy": "Returns are not permitted. We offer a 7 days replacement-only policy.",
"detailsScraped": true
}
Review row (sample data, same shape):
{
"type": "review",
"reviewId": "0f3c2a1e-0000-4000-8000-000000000001",
"productId": "MOBHQV9YZGYG64U7",
"productTitle": "Apple iPhone 15 (Blue, 128 GB)",
"rating": 5,
"reviewTitle": "Fabulous!",
"reviewText": "Great camera and battery life.",
"author": "Flipkart Customer",
"certifiedBuyer": true,
"location": "Pune, Maharashtra",
"date": "Jan, 2025",
"helpfulCount": 120,
"unhelpfulCount": 8,
"variantAttributes": { "Color": "Blue", "Storage": "128 GB" }
}
You pay $1.00 per 1,000 results: $0.001 for each product row and each review row. Platform usage (compute and proxy traffic) is billed on top. For a plain search on the default datacenter proxy it adds only a few cents, so 1,000 products cost about $1.05 in total. Product details add one page per product and reviews add one page per 10 reviews, which raises proxy traffic a little.
Is scraping Flipkart legal? The scraper only reads public product pages that anyone can open without an account. Check Flipkart's terms and your local laws before you use the data, and don't collect personal data you have no reason to keep.
Do I need a Flipkart account or my own proxy? No. Datacenter proxies are used by default. If Flipkart starts blocking them, the scraper switches to Indian residential proxies by itself.
How many results can I get? Flipkart shows at most 25 result pages per search or category (24 or 40 products per page). When you ask for more, the scraper repeats the search in Flipkart's other sort orders and skips duplicates, which usually reaches 1,500 to 2,500 products for a broad search. For even more, add more specific search terms, category URLs or price ranges. There is no limit on the number of searches in one run, and a test run with 8 searches saved 11,791 unique products in under 4 minutes.
Why is a field empty? Flipkart doesn't show every field for every product. New products have no rating, some products have no MRP or discount, and some product pages don't list the seller until a delivery pincode is chosen.
Can I schedule runs or use the API? Yes. Schedule the scraper to track prices daily, or start it through the API and download the dataset as JSON, CSV or Excel.
What does a search for a word that doesn't exist return? Flipkart shows its closest matches instead of an empty page, and the scraper saves what Flipkart shows.
variant.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
searchTermsarrayOptionalSearch terms
Keywords to search on Flipkart, one per line (for example "iphone 15" or "running shoes"). Each term is scraped separately.
startUrlsarrayOptionalFlipkart URLs
Flipkart search or category URLs (all products are paged through), product URLs (one detailed product each) or product-review URLs.
maxResultsintegerOptionaldefault 20Max products per search
Maximum number of products to save for each search term or search/category URL. 0 means no limit (Flipkart shows at most a few thousand products per search).
sortenumOptionaldefault "relevance"Sort by
Order of the search results.
minPriceintegerOptionalMin price (₹)
Only products priced at or above this amount in rupees.
maxPriceintegerOptionalMax price (₹)
Only products priced at or below this amount in rupees.
includeDetailsbooleanOptionaldefault falseInclude product details
Open every product page to add the full specification table, highlights, description, seller, bank and exchange offers, best price with offers, warranty, return policy, manufacturer info and all images. Slower: one extra page per product.
includeReviewsbooleanOptionaldefault falseInclude reviews
Also save customer reviews of each product as separate rows (type "review"). Each review row is one result.
maxReviewsPerProductintegerOptionaldefault 20Max reviews per product
Maximum number of reviews to save for each product. 0 means all reviews.
reviewsSortenumOptionaldefault "MOST_HELPFUL"Reviews sort
Which reviews come first.
maxConcurrencyintegerOptionaldefault 8Max concurrency
How many pages are loaded in parallel.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies work for Flipkart and cost the least. If Flipkart starts blocking them, the scraper switches to Indian residential proxies by itself.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| imageUrl | any | Image |
| title | any | Product |
| url | any | URL |
| brand | any | Brand |
| price | any | Price (₹) |
| mrp | any | MRP (₹) |
| discountPercent | any | Discount % |
| rating | any | Rating |
| ratingCount | any | Ratings |
| reviewCount | any | Reviews |
| availability | any | Availability |
| flipkartAssured | any | Assured |
| category | any | Category |
| keySpecs | any | Key specs |
| productId | any | Product ID |
| searchUrl | any | Search |
| position | any | Position |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Result | One Flipkart product or review saved to the dataset | $0.001 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('shelfbright/flipkart-scraper').call({
"searchTerms": [
"iphone 15"
],
"maxResults": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run shelfbright/flipkart-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=shelfbright/flipkart-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Search products by keyword with full product details.
Products with their most helpful customer reviews.
Products in a price range sorted by lowest price.
Products from a pasted Flipkart search link.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.