Flipkart Seller Scraper avatar

Flipkart Seller Scraper

Pricing

from $2.99 / 1,000 seller offers

Go to Apify Store
Flipkart Seller Scraper

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

w3crawler

Maintained by Community

Actor 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

  1. Choose productUrl, sellersPageUrl, searchQuery, or searchUrl.
  2. Supply one or more public Flipkart URLs or search queries.
  3. Set page and item bounds, pacing, retries, timeouts, optional filters, and enrichment toggles.
  4. 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.

FieldType and boundsDescription
modeproductUrl, sellersPageUrl, searchQuery, or searchUrlSelects the public source workflow.
productUrlsarray of HTTPS public product URLsRequired in productUrl mode. Product pages must contain /p/.
sellersPageUrlsarray of HTTPS https://www.flipkart.com/sellers?pid=... URLsRequired in sellersPageUrl mode; the pid is validated.
querystring up to 200 charactersOne public query used in searchQuery mode.
queriesarray of non-empty stringsAdditional public queries used in searchQuery mode.
searchUrlsarray of HTTPS Flipkart /search URLsRequired in searchUrl mode.
maxPagesinteger 1–10; default 1Public search pages per query or search URL.
startPageinteger 1–100; default 1First public search page.
maxItemsinteger 1–1000; default 100Maximum source-backed seller rows emitted after processing. Issue counts are retained in OUTPUT_SUMMARY.
maxConcurrencyinteger 1–5; default 1Maximum independent public browser tasks.
minDelayMsinteger 0–30000; default 500Minimum randomized wait before a public navigation.
maxDelayMsinteger at least minDelayMs and at most 60000; default 1500Maximum randomized wait before a public navigation.
maxRetriesinteger 0–5; default 2Additional attempts for navigation or extraction errors. Barriers are never bypassed.
navigationTimeoutSecsinteger 10–180; default 60Maximum public navigation time.
selectorTimeoutSecsinteger 1–30; default 8Maximum wait for visible seller selectors.
postNavigationWaitMsinteger 0–10000; default 800Bounded wait after DOM load for public rows to render.
includeDetailboolean; default trueInclude public product name, brand, category, description, fulfillment, and inventory evidence when available.
includeMediaboolean; default trueInclude bounded public product image and product/sellers-page link evidence.
includeRatingsboolean; default trueInclude visible product and seller ratings and counts.
filtersobjectOptional seller/product rating, discount, Flipkart Assured, and exact seller-name filters. Missing values do not pass a required filter.
pincodeinteger 100000–999999; default 110001Recorded delivery-comparison context; it is not submitted to private or authenticated flows.
proxyConfigurationobject or nullStandard 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 test
apify validate-schema
apify run --purge --input-file test/cloud-validation.json
npm run validate

For an authenticated deployment:

apify push --force --wait-for-finish 600 --json
apify 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

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.