Flipkart Seller Scraper
Pricing
from $2.99 / 1,000 seller offers
Flipkart Seller Scraper
Scrape rich, current Flipkart seller-offer snapshots from public All Sellers pages, including seller ratings, prices, savings, delivery, policies, EMI, assurance, and categorized offers.
Pricing
from $2.99 / 1,000 seller offers
Rating
0.0
(0)
Developer
w3crawler
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
3
Monthly active users
an hour ago
Last modified
Categories
Share
What does Flipkart Seller Scraper do?
Flipkart Seller Scraper collects bounded seller-offer records from the public Flipkart All Sellers surface. It can start from public product pages, direct sellers-page URLs, public search queries, or public search URLs, then report seller names, disclosed seller identifiers, ratings, prices, discounts, delivery, policies, visible offers, and optional product evidence.
Target and scope
The target is the public Flipkart web experience at https://www.flipkart.com/. The scope is limited to seller and product information visible in the requested public pages. Seller IDs, seller URLs, location, contact, delivery, inventory, and offer fields are emitted only when the public page discloses them. Missing values are not guessed.
The Actor uses a visible Chromium page and public DOM evidence. It does not log in, load caller credentials or pre-existing sessions, call private APIs, submit private forms, bypass CAPTCHA or WAF controls, evade rate limits, or fabricate seller rows. When a public access barrier or empty page is observed, the Actor stops without creating a placeholder row.
Common use cases
- Compare public seller prices and discounts for a product.
- Monitor public seller availability, delivery, return, EMI, and assurance signals.
- Research marketplace assortment and seller-offer coverage.
- Build bounded seller snapshots for price or catalog pipelines.
Apify supplies scheduling, API access, dataset exports, monitoring, and integrations around each run.
How to scrape Flipkart seller offers
- Choose productUrl, sellersPageUrl, searchQuery, or searchUrl.
- Supply one or more public Flipkart URLs or search queries.
- Set page and item bounds, pacing, retries, timeouts, optional filters, and enrichment toggles.
- Start the Actor and inspect the dataset plus the OUTPUT_SUMMARY key-value record.
Public-data boundary
Only HTTPS URLs on flipkart.com are accepted. Credentials, cookies, private endpoints, arbitrary proxy URLs, and non-Flipkart targets are rejected. Login, CAPTCHA, paywall, geofence, rate-limit, WAF, device-verification, redirect, network, timeout, no-results, and filter outcomes are reported honestly; no access control is bypassed.
How much does it cost?
Cost depends on browser runtime, the number of public product and sellers pages, search pagination, concurrency, retries, pacing, optional product detail, and proxy usage. Start with one product, maxPages 1, maxItems 5, low concurrency, and conservative pacing. Detail and media collection add extraction work; larger runs may use more compute and storage. Apify compute, proxy, and storage prices are shown in the Console for your account and plan.
Input
The Input tab accepts the fields below. mode defaults to productUrl in the runtime, but the selected mode must have its matching source list or query.
| Field | Type and bounds | Description |
|---|---|---|
| mode | productUrl, sellersPageUrl, searchQuery, or searchUrl | Selects the public source workflow. |
| productUrls | array of HTTPS public product URLs | Required in productUrl mode. Product pages must contain /p/. |
| sellersPageUrls | array of HTTPS https://www.flipkart.com/sellers?pid=... URLs | Required in sellersPageUrl mode; the pid is validated. |
| query | string up to 200 characters | One public query used in searchQuery mode. |
| queries | array of non-empty strings | Additional public queries used in searchQuery mode. |
| searchUrls | array of HTTPS Flipkart /search URLs | Required in searchUrl mode. |
| maxPages | integer 1–10; default 1 | Public search pages per query or search URL. |
| startPage | integer 1–100; default 1 | First public search page. |
| maxItems | integer 1–1000; default 100 | Maximum source-backed seller rows emitted after processing. Issue counts are retained in OUTPUT_SUMMARY. |
| maxConcurrency | integer 1–5; default 1 | Maximum independent public browser tasks. |
| minDelayMs | integer 0–30000; default 500 | Minimum randomized wait before a public navigation. |
| maxDelayMs | integer at least minDelayMs and at most 60000; default 1500 | Maximum randomized wait before a public navigation. |
| maxRetries | integer 0–5; default 2 | Additional attempts for navigation or extraction errors. Barriers are never bypassed. |
| navigationTimeoutSecs | integer 10–180; default 60 | Maximum public navigation time. |
| selectorTimeoutSecs | integer 1–30; default 8 | Maximum wait for visible seller selectors. |
| postNavigationWaitMs | integer 0–10000; default 800 | Bounded wait after DOM load for public rows to render. |
| includeDetail | boolean; default true | Include public product name, brand, category, description, fulfillment, and inventory evidence when available. |
| includeMedia | boolean; default true | Include bounded public product image and product/sellers-page link evidence. |
| includeRatings | boolean; default true | Include visible product and seller ratings and counts. |
| filters | object | Optional seller/product rating, discount, Flipkart Assured, and exact seller-name filters. Missing values do not pass a required filter. |
| pincode | integer 100000–999999; default 110001 | Recorded delivery-comparison context; it is not submitted to private or authenticated flows. |
| proxyConfiguration | object or null | Standard Apify Proxy settings: useApifyProxy, apifyProxyGroups, and apifyProxyCountry. |
Filter fields
The filters object supports minSellerRating and minProductRating from 0–5, minDiscountPercent from 0–100, requireFlipkartAssured as a boolean, and sellerNames as a list of exact case-insensitive seller names.
Proxy fields
useApifyProxy is false by default. apifyProxyGroups is an optional list of Apify Proxy group names, and apifyProxyCountry is an optional two-letter country code. Proxy use is honored in an Apify runtime when configured; it is not a barrier-bypass mechanism.
Product input
{"mode": "productUrl","productUrls": ["https://www.flipkart.com/lava-a1-josh/p/itmba4f30465b893?pid=MOBHQY3HFQ9ACG94","https://www.flipkart.com/apple-iphone-16-ultramarine-128-gb/p/itmcc210cae43fba?pid=MOBH4DQFYZT6EH2F"],"maxItems": 10,"maxConcurrency": 1,"minDelayMs": 700,"maxDelayMs": 1200,"maxRetries": 2,"includeDetail": true,"includeMedia": false,"includeRatings": true,"proxyConfiguration": {"useApifyProxy": true}}
Direct sellers-page input
{"mode": "sellersPageUrl","sellersPageUrls": ["https://www.flipkart.com/sellers?pid=MOBHQY3HFQ9ACG94","https://www.flipkart.com/sellers?pid=MOBH4DQFYZT6EH2F"],"maxItems": 20,"includeDetail": false,"includeMedia": false,"includeRatings": true,"minDelayMs": 1000,"maxDelayMs": 1500,"proxyConfiguration": {"useApifyProxy": true}}
Search input
{"mode": "searchQuery","queries": ["smartphone"],"maxPages": 1,"startPage": 1,"maxItems": 5,"includeDetail": false,"includeMedia": false,"includeRatings": false,"maxConcurrency": 1,"minDelayMs": 1000,"maxDelayMs": 1500,"proxyConfiguration": {"useApifyProxy": true}}
Output
The default dataset contains only source-backed public business records. Failed requests and empty results never create diagnostic or placeholder rows. The OUTPUT_SUMMARY key-value record stores canonical run status, data status, and numeric counts.
For a clean empty extraction, status and runStatus are SUCCEEDED and dataStatus is NO_RESULTS. If source-backed rows were saved before later failures, the run remains SUCCEEDED with dataStatus PARTIAL. If extraction fails before any rows are saved, the run is FAILED with dataStatus FAILED.
Rich normal seller row
{"recordType": "Flipkart seller offer","recordId": "seller-offer:MOBHQY3HFQ9ACG94:ExampleSeller:1999:https%3A%2F%2Fwww.flipkart.com%2Fsellers%3Fpid%3DMOBHQY3HFQ9ACG94","inputUrl": "https://www.flipkart.com/lava-a1-josh/p/itmba4f30465b893?pid=MOBHQY3HFQ9ACG94","sellerPosition": 1,"sellerCountOnPage": 2,"productId": "MOBHQY3HFQ9ACG94","pid": "MOBHQY3HFQ9ACG94","productName": "Lava A1 Josh","productUrl": "https://www.flipkart.com/lava-a1-josh/p/itmba4f30465b893?pid=MOBHQY3HFQ9ACG94","sellersPageUrl": "https://www.flipkart.com/sellers?pid=MOBHQY3HFQ9ACG94","sellerId": "SELLER123","sellerIdStatus": "source_backed","sellerUrl": "https://www.flipkart.com/seller/example-store","sellerUrlStatus": "source_backed","sellerName": "Example Seller","sellerRating": 4.2,"sellerRatingCount": 1200,"sellerReviewCount": 180,"isFlipkartAssured": true,"codAvailable": true,"returnPolicy": "7 days replacement policy","returnWindowDays": 7,"priceAmount": 1999,"price": "₹1,999","originalPriceAmount": 2499,"originalPrice": "₹2,499","savingsAmount": 500,"discountPercent": 20,"discount": "20% off","currency": "INR","inventoryStatus": "In stock","deliveryTime": "Usually delivered in 3 days","deliveryMinDays": 3,"allOffers": ["Bank offer","No cost EMI"],"bankOffers": ["Bank offer"],"bankOfferCount": 1,"noCostEmiOffers": ["No cost EMI"],"noCostEmiOfferCount": 1,"offerSummary": "Bank offer | No cost EMI","source": "Flipkart public All Sellers comparison page","sourceWebsite": "https://www.flipkart.com/","sourcePageUrl": "https://www.flipkart.com/sellers?pid=MOBHQY3HFQ9ACG94","sourceMetadata": {"publicOnly": true,"protectedSession": false,"extractedFrom": ["visible seller comparison DOM"]},"scrapedAt": "2026-09-08T00:00:00.000Z"}
Partial public row with undisclosed seller identity
The public page can show a valid seller offer without disclosing a seller ID or seller URL. The explicit status fields distinguish that source-backed absence from an extraction failure.
{"recordType": "Flipkart seller offer","recordId": "seller-offer:MOBHQY3HFQ9ACG94:ExampleSeller:1999:https%3A%2F%2Fwww.flipkart.com%2Fsellers%3Fpid%3DMOBHQY3HFQ9ACG94","productId": "MOBHQY3HFQ9ACG94","productName": "Lava A1 Josh","sellersPageUrl": "https://www.flipkart.com/sellers?pid=MOBHQY3HFQ9ACG94","sellerIdStatus": "not_disclosed","sellerUrlStatus": "not_disclosed","sellerName": "Example Seller","priceAmount": 1999,"currency": "INR","sourceWebsite": "https://www.flipkart.com/","sourcePageUrl": "https://www.flipkart.com/sellers?pid=MOBHQY3HFQ9ACG94","scrapedAt": "2026-09-08T00:00:00.000Z"}
No placeholder seller is created for a blocked, empty, failed, or filtered page. Numeric issue counts remain in OUTPUT_SUMMARY and do not count toward seller-row qualification.
OUTPUT_SUMMARY example
{"status": "SUCCEEDED","mode": "productUrl","sourceWebsite": "https://www.flipkart.com/","recordsPushed": 3,"sellerRecords": 3,"generatedBy": "OpenAI Codex (GPT-5)","sourceTransport": "apify_proxy","browserLocale": "en-IN","browserTimezone": "Asia/Kolkata","completedAt": "2026-09-08T00:00:00.000Z","runStatus": "SUCCEEDED","dataStatus": "COMPLETE","failureCount": 0,"diagnosticCount": 0,"dataAvailable": true}
Tips and advanced options
- Use includeDetail: false when seller-only output is sufficient.
- Use includeMedia: false to reduce output size when image and link evidence is not needed.
- Keep maxConcurrency at 1 and increase minDelayMs/maxDelayMs for repeated public requests.
- Use direct sellers-page mode when you already have a public pid and want to avoid product-page resolution.
- Use filters only after checking whether the public page exposes the requested rating, discount, assurance, or seller name.
- Retries apply to navigation and extraction failures. Access barriers stop the affected request immediately and are never bypassed.
- The browser context is created fresh per task/attempt and uses bounded public navigation; caller credentials and pre-existing sessions are not loaded.
For local development from this Actor directory:
npm testapify validate-schemaapify run --purge --input-file test/cloud-validation.jsonnpm run validate
For an authenticated deployment:
apify push --force --wait-for-finish 600 --jsonapify call w3crawler/flipkart-seller-scraper --input-file test/cloud-validation.json --memory 1024 --timeout 300 --json
Use an explicit build or version when comparing Cloud evidence. Inspect the default dataset and OUTPUT_SUMMARY rather than relying only on terminal run status.
Troubleshooting
Seller IDs are not present
This is expected when the public seller row does not disclose an identifier or link. Use sellerIdStatus and sellerUrlStatus. The Actor does not infer seller IDs from names.
Product discovery returns no seller rows
Confirm that the public product page or sellers-page URL resolves to the expected product, use direct sellers-page mode when available, and temporarily disable filters and optional detail. Search discovery is bounded by maxPages and maxItems.
The input is rejected
Confirm that mode matches its required source fields, product URLs contain /p/, sellers-page URLs are /sellers?pid=... with a valid pid, search URLs are /search, and JSON numbers/booleans are not quoted strings.
Delivery or pincode fields are missing
The reference pincode is recorded as context only. Delivery and inventory are emitted only when the public page discloses them; no private pincode or account flow is submitted.
API and Issues
Privacy, legal, and non-affiliation
This Actor is an independent public-data extraction tool and is not affiliated with, endorsed by, or sponsored by Flipkart. Flipkart is a trademark of its respective owner.
The Actor is designed to collect only information a public page makes available. It does not intentionally collect private account data, credentials, cookies, protected endpoints, or authenticated seller information. Public pages may still contain seller or other personal information. You are responsible for having a lawful purpose, respecting Flipkart’s terms and robots guidance, complying with applicable privacy and data-protection laws, and securing downloaded data. If your use case may involve personal data, obtain appropriate legal advice before running the Actor.