Flipkart Product Price & Specs Scraper
Pull Flipkart products by keyword, category URL or exact product link, with current price, original MRP, discount percentage, rating, key specifications and seller name. Filter by price range and minimum rating.
Input schema
Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.
| Field | Type | Required | Description |
|---|---|---|---|
mode | string | required | How to find products on Flipkart. |
searchQuery | string | optional | Keyword(s) to search on Flipkart. (mode=search) |
categoryUrl | string | optional | Full Flipkart category or browse URL, e.g. https://www.flipkart.com/laptops/pr?sid=6bo%2Cb5g (mode=byCategory) |
Show all input fields
| Field | Type | Required | Description |
|---|---|---|---|
mode | string | required | How to find products on Flipkart. |
searchQuery | string | optional | Keyword(s) to search on Flipkart. (mode=search) |
categoryUrl | string | optional | Full Flipkart category or browse URL, e.g. https://www.flipkart.com/laptops/pr?sid=6bo%2Cb5g (mode=byCategory) |
startUrls | array | optional | Flipkart product URLs. (mode=byUrl) |
productIds | array | optional | Flipkart product IDs (the pid from a URL) or product URLs. (mode=byUrl) |
sortBy | string | optional | Sort order for search/category results. |
minPrice | integer | optional | Minimum price filter in Indian Rupees. |
maxPrice | integer | optional | Maximum price filter in Indian Rupees. |
minRating | number | optional | Minimum product rating (1.0-5.0). |
brand | string | optional | Only products from this brand, e.g. Samsung. Use the exact brand name shown on Flipkart. |
minDiscount | string | optional | Only products with at least this discount percentage. |
fAssuredOnly | boolean | optional | Only products marked Flipkart Assured. |
includeDetails | boolean | optional | Open each product page for specifications, variants, offers, seller, images and warranty. Product URLs and IDs always return full details. |
includeReviews | boolean | optional | Add buyer review records for each product. |
maxReviewsPerProduct | integer | optional | Maximum reviews to collect per product when reviews are enabled. |
reviewsSort | string | optional | Order of buyer reviews. |
certifiedBuyersOnly | boolean | optional | Only reviews marked as certified buyer. |
maxItems | integer | optional | Maximum number of products to scrape (1-500). |
maxPages | integer | optional | Maximum search/category result pages to read (1-30). |
Download the published input schema
View complete JSON
{
"description": "Scrape Flipkart products by keyword, category URL, product URL or product ID. Add full product details, variants, offers, seller, specifications and reviews.",
"properties": {
"brand": {
"description": "Only products from this brand, e.g. Samsung. Use the exact brand name shown on Flipkart.",
"editor": "textfield",
"title": "Brand",
"type": "string"
},
"categoryUrl": {
"description": "Full Flipkart category or browse URL, e.g. https://www.flipkart.com/laptops/pr?sid=6bo%2Cb5g (mode=byCategory)",
"editor": "textfield",
"title": "Category URL",
"type": "string"
},
"certifiedBuyersOnly": {
"default": false,
"description": "Only reviews marked as certified buyer.",
"prefill": false,
"title": "Certified Buyers Only",
"type": "boolean"
},
"fAssuredOnly": {
"default": false,
"description": "Only products marked Flipkart Assured.",
"prefill": false,
"title": "Flipkart Assured Only",
"type": "boolean"
},
"includeDetails": {
"default": true,
"description": "Open each product page for specifications, variants, offers, seller, images and warranty. Product URLs and IDs always return full details.",
"prefill": false,
"title": "Include Full Product Details",
"type": "boolean"
},
"includeReviews": {
"default": false,
"description": "Add buyer review records for each product.",
"prefill": false,
"title": "Include Reviews",
"type": "boolean"
},
"maxItems": {
"default": 50,
"description": "Maximum number of products to scrape (1-500).",
"maximum": 500,
"minimum": 1,
"prefill": 3,
"title": "Max Items",
"type": "integer"
},
"maxPages": {
"default": 30,
"description": "Maximum search/category result pages to read (1-30).",
"maximum": 30,
"minimum": 1,
"prefill": 1,
"title": "Max Pages",
"type": "integer"
},
"maxPrice": {
"description": "Maximum price filter in Indian Rupees.",
"maximum": 10000000,
"minimum": 0,
"title": "Maximum Price (INR)",
"type": "integer"
},
"maxReviewsPerProduct": {
"default": 20,
"description": "Maximum reviews to collect per product when reviews are enabled.",
"maximum": 200,
"minimum": 0,
"prefill": 0,
"title": "Max Reviews per Product",
"type": "integer"
},
"minDiscount": {
"default": "0",
"description": "Only products with at least this discount percentage.",
"editor": "select",
"enum": [
"0",
"10",
"20",
"30",
"40",
"50"
],
"enumTitles": [
"Any",
"10% or more",
"20% or more",
"30% or more",
"40% or more",
"50% or more"
],
"prefill": "0",
"title": "Minimum Discount",
"type": "string"
},
"minPrice": {
"description": "Minimum price filter in Indian Rupees.",
"maximum": 10000000,
"minimum": 0,
"title": "Minimum Price (INR)",
"type": "integer"
},
"minRating": {
"description": "Minimum product rating (1.0-5.0).",
"maximum": 5,
"minimum": 1,
"title": "Minimum Rating",
"type": "number"
},
"mode": {
"default": "search",
"description": "How to find products on Flipkart.",
"editor": "select",
"enum": [
"search",
"byCategory",
"byUrl"
],
"enumTitles": [
"Search products by keyword",
"Browse a category URL",
"Fetch specific product URLs or IDs"
],
"prefill": "search",
"title": "Mode",
"type": "string"
},
"productIds": {
"default": [],
"description": "Flipkart product IDs (the pid from a URL) or product URLs. (mode=byUrl)",
"editor": "stringList",
"prefill": [],
"title": "Product IDs",
"type": "array"
},
"reviewsSort": {
"default": "MOST_HELPFUL",
"description": "Order of buyer reviews.",
"editor": "select",
"enum": [
"MOST_HELPFUL",
"MOST_RECENT",
"POSITIVE_FIRST",
"NEGATIVE_FIRST"
],
"enumTitles": [
"Most helpful",
"Most recent",
"Positive first",
"Negative first"
],
"prefill": "MOST_HELPFUL",
"title": "Reviews Sort",
"type": "string"
},
"searchQuery": {
"description": "Keyword(s) to search on Flipkart. (mode=search)",
"editor": "textfield",
"prefill": "laptop",
"title": "Search Query",
"type": "string"
},
"sortBy": {
"default": "relevance",
"description": "Sort order for search/category results.",
"editor": "select",
"enum": [
"relevance",
"popularity",
"price_asc",
"price_desc",
"recency_desc"
],
"enumTitles": [
"Relevance",
"Popularity",
"Price: Low to High",
"Price: High to Low",
"Newest first"
],
"prefill": "relevance",
"title": "Sort By",
"type": "string"
},
"startUrls": {
"default": [],
"description": "Flipkart product URLs. (mode=byUrl)",
"editor": "requestListSources",
"items": {
"properties": {
"url": {
"description": "Flipkart product URL.",
"title": "URL",
"type": "string"
}
},
"type": "object"
},
"prefill": [],
"title": "Product URLs",
"type": "array"
}
},
"required": [
"mode"
],
"schemaVersion": 1,
"title": "Flipkart Scraper Input",
"type": "object"
}
Output schema
Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.
| Field | Type | Required | Description |
|---|---|---|---|
products | string | optional | Dataset containing product records (recordType=product) and, when Include Reviews is on, review records (recordType=review). |
Download the published output schema
View complete JSON
{
"actorOutputSchemaVersion": 1,
"description": "Flipkart product records with price, MRP, discount, rating histogram, specs, variants, offers, seller, images and optional buyer reviews.",
"properties": {
"products": {
"description": "Dataset containing product records (recordType=product) and, when Include Reviews is on, review records (recordType=review).",
"template": "{{links.apiDefaultDatasetUrl}}/items",
"title": "Flipkart products and reviews",
"type": "string"
}
},
"title": "Flipkart Product Price & Specs Scraper Output"
}
Dataset schema
Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.
Download the published dataset schema
View complete JSON
{
"actorSpecification": 1,
"views": {
"overview": {
"display": {
"component": "table",
"properties": {}
},
"title": "Flipkart Products",
"transformation": {
"fields": [
"title",
"price",
"originalPrice",
"discountPercent",
"rating",
"ratingCount",
"reviewCount",
"brand",
"seller",
"url"
]
}
}
}
}
Key-value schema
Published key-value store definitions, when provided by this build.
This definition is not present in the default published build. See the published README for available documentation.
Published README
Read the full published documentation
Flipkart Product Price & Specs Scraper
Flipkart is India's largest marketplace, and almost every product page carries the details a price tracker, catalog team or brand analyst needs: the current selling price, the struck-through MRP, the discount, the rating breakdown, the full specification table, the seller behind the listing, the variants and the buyer reviews. This actor turns that public data into clean JSON — from a keyword search, a category page, a list of product links, or bare product IDs. No login, cookies or API key.
What this actor does
- Three modes: keyword search, category/browse URL, and product URLs or IDs.
- Filters: price range in INR, minimum rating, brand, minimum discount and Flipkart Assured.
- Full detail enrichment: specifications, highlights, description, warranty, manufacturer/importer details, gallery, variants, offers and seller scores.
- Optional reviews: rating, title, text, author, date, certified-buyer flag, location, helpful votes, photos and the variant reviewed.
- Pagination with de-duplication: walks search/category pages up to your
maxItems, skips repeated sponsored cards. - Empty fields are omitted — only populated fields appear in output records.
Output per product
productId— Flipkart product ID (pid)itemId— Flipkart internal item ID, when the listing card provides itlistingId— listing (seller offer) IDtitle,subtitle— product name and variant lineurl— product URLbrand,colorprice— current selling price in INRoriginalPrice— MRP when it is higher than the selling pricediscountPercent,discountAmountbestOfferPrice— effective price after a bank/exchange offer, when Flipkart shows onespecialPrice— true when Flipkart flags a special/best pricecurrency—INRrating,ratingCount,reviewCountratingHistogram— counts for 1 to 5 starsaspectRatings— ratings for battery, design, performance and similar aspectskeySpecs— short spec bullets from the product card or highlightsimageUrl,images[]— main image and full galleryavailability,inStockisFlipkartAssuredoffers[]— bank, exchange and coupon offers with type, title, subtitle and discount textofferCountseller— seller namesellerId,sellerRating,sellerTenure,sellerProductsSold,sellerQualityScore,sellerSpeedScore,sellerAbout,sellerProductQuality,sellerServiceQualityspecifications— grouped specification table (for exampleGeneral,Display and Audio Features,Dimensions)highlights[],description,warrantymanufacturerInfo— country of origin, manufacturer, importer, packer and generic name when publishedvariants[]— colour and size options with label, product ID, URL, image, stock state and selected flagbreadcrumb[],category,subCategory,superCategory,verticalquestionCount,answerCountcodAvailable,returnPolicy,noCostEmisourceUrl— product URL for product/ID runs and the search/category page URL for listing runssourceQuery,searchRank— search/category runs onlyrecordType: "product",scrapedAt
Output per review
Review records appear when Include Reviews is on (recordType: "review"):
productId,reviewIdrating,title,textauthor,created,certifiedBuyerlocation— city and statehelpfulCount,upvotes,downvotestotalCount— combined upvotes and downvotes as Flipkart reports them (not a review total)images[]— photos attached to the reviewproductAttributes[]— the variant the reviewer bought (colour, size, storage, etc.)reviewUrl,reviewPageUrlrecordType: "review",scrapedAt
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode |
string | search |
search / byCategory / byUrl |
searchQuery |
string | – | Keyword search query (mode=search) |
categoryUrl |
string | – | Flipkart category or browse URL (mode=byCategory) |
startUrls |
array | [] |
Product URLs (mode=byUrl) |
productIds |
array | [] |
Product IDs or product URLs (mode=byUrl) |
sortBy |
string | relevance |
relevance, popularity, price_asc, price_desc, recency_desc |
minPrice |
integer | – | Minimum price in INR |
maxPrice |
integer | – | Maximum price in INR |
minRating |
number | – | Minimum rating (1.0–5.0) |
brand |
string | – | Only this brand, e.g. Samsung |
minDiscount |
string | "0" |
Minimum discount: "0", "10", "20", "30", "40", "50" |
fAssuredOnly |
boolean | false |
Only Flipkart Assured products |
includeDetails |
boolean | true |
Open each product page for specs, variants, offers, seller, gallery and warranty |
includeReviews |
boolean | false |
Add buyer review records |
maxReviewsPerProduct |
integer | 20 |
Review cap per product (0–200) |
reviewsSort |
string | MOST_HELPFUL |
MOST_HELPFUL, MOST_RECENT, POSITIVE_FIRST, NEGATIVE_FIRST |
certifiedBuyersOnly |
boolean | false |
Only certified-buyer reviews |
maxItems |
integer | 50 |
Maximum products to return (1–500) |
maxPages |
integer | 30 |
Maximum search/category pages to read (1–30) |
Example: laptops under ₹60,000
{
"mode": "search",
"searchQuery": "laptop",
"maxPrice": 60000,
"minRating": 4.0,
"sortBy": "price_asc",
"includeDetails": true,
"maxItems": 50
}
Example: browse a category
{
"mode": "byCategory",
"categoryUrl": "https://www.flipkart.com/laptops/pr?sid=6bo%2Cb5g",
"sortBy": "popularity",
"minDiscount": "20",
"maxItems": 100
}
Example: product URLs and IDs
{
"mode": "byUrl",
"startUrls": [
{"url": "https://www.flipkart.com/asus-expertbook-laptop/p/itm0af4b?pid=COMH8Z2Q"},
{"url": "https://www.flipkart.com/samsung-galaxy-s24/p/itm123?pid=SMSG123"}
],
"productIds": ["MOBHPP598ENKRGBY"],
"includeReviews": true,
"maxReviewsPerProduct": 20
}
Example: top-rated smartphones with reviews
{
"mode": "search",
"searchQuery": "smartphone",
"maxPrice": 30000,
"minRating": 4.2,
"brand": "Samsung",
"fAssuredOnly": true,
"includeDetails": true,
"includeReviews": true,
"maxReviewsPerProduct": 10,
"reviewsSort": "MOST_RECENT",
"certifiedBuyersOnly": true,
"maxItems": 30
}
Use cases
- Price and discount tracking — re-run the same search or product list on a schedule and compare
price,originalPriceanddiscountPercentperproductId. - Catalog and PIM enrichment — pull grouped specifications, highlights, description, warranty and manufacturer details for a product line.
- Variant monitoring — see every colour and size with its own product ID, URL, image and stock state.
- Seller research — compare seller ratings, tenure, products sold, quality and speed scores across listings.
- Review and sentiment analysis — collect certified-buyer reviews with ratings, text, location, votes, photos and the purchased variant.
- Assortment and brand benchmarking — filter a category by brand, price, rating, discount and Flipkart Assured.
FAQ
What data can I get without a product URL? Keyword search and category URLs return the full listing cards: price, MRP, discount, rating, counts, key specs, image, availability and Flipkart Assured. Turn on Include Full Product Details to add specs, variants, offers, seller, gallery and warranty.
Does this actor require a Flipkart account, cookies or an API key? No. It reads public product pages and needs no login or key.
Do I need to set up a proxy? No. The actor chooses a working connection to Flipkart automatically. Just fill in the input and run it.
Can I use bare product IDs instead of full URLs?
Yes. Paste the product ID (the pid from a Flipkart URL) into productIds with mode set to byUrl. The actor opens the product page and returns the full record.
How many products can I get per run?
Set maxItems up to 500 and maxPages up to 30. Flipkart shows 24–40 cards per page and stops serving results after a few dozen pages; for very broad searches, split by category, brand or price band.
Why are some products missing variants or highlights?
Not every product has variants, highlights, a description or a warranty. Those fields are omitted when Flipkart does not show them; they are never filled with guessed values. Placeholder values such as NA, N/A or None are also omitted.
What happens if a product page cannot be opened? The listing record is still returned with the data from the results page, and the run status reports how many product pages could not be enriched after retries. Nothing is filled with guessed values.
Why does a category run sometimes return fewer products than expected? Flipkart can mix recommendation or sponsored cards from unrelated departments into a category page. Those cards are filtered out so a category run only returns products from the requested category. If none match, the run reports that honestly instead of returning unrelated items.
Why is originalPrice missing on some products?
When the selling price equals the MRP, there is no discount to report, so originalPrice, discountPercent and discountAmount are omitted.
What is the difference between ratingCount and reviewCount?
ratingCount is the number of star ratings. reviewCount is the number of written reviews. Both come from Flipkart.
Do reviews include the variant the reviewer bought?
Yes, when Flipkart publishes it. The productAttributes array shows the colour, size, storage or other variant attributes attached to the review.
Are prices in a specific currency? All prices are in Indian Rupees (INR), as shown on flipkart.com.
Is this actor affiliated with Flipkart? No. This is an independent third-party tool that reads publicly visible product data. It is not affiliated with, endorsed by, or connected to Flipkart.
Python quickstart
Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.
Source build gjSnDGaHdVZmVZwuO. Documentation is regenerated from the default published build; private drafts are not included.