Bestseller lists are the most-used and least-understood dataset in Indian e-commerce. An aggregator app builds a "trending now" feed from them. A brand reports a rank improvement as a sales win. Both read an ordinal signal as if it were a volume.
Rank is genuinely useful. It is the closest public demand signal these platforms expose, and it updates fast enough to catch real movement. But it tells you ordering, not magnitude, and each platform computes it differently.
If you are building a feed others will make decisions on, the reading rules matter as much as the collection.
The three platforms differ in ways that affect comparability.
| Platform | Ranked surface | Rough basis | Update behaviour | Comparable across categories? |
|---|---|---|---|---|
| Amazon India | Bestsellers by category and sub-category | Recent sales velocity, category-scoped | Frequent intra-day refresh | No — rank 1 in a large category is not rank 1 in a small one |
| Flipkart | Category browse with popularity sorting and curated lists | Popularity and engagement signals | Less frequent, less transparent | No |
| Myntra | Curated and popularity-sorted category surfaces, fashion-specific | Engagement, sales and merchandising | Mixed; editorial influence is real | No |
Three consequences for anyone building a feed.
Rank is scoped to a category. A rank of 3 means third within that specific node. Comparing ranks across nodes without normalising by node size is the most common error in aggregator feeds.
Merchandising influences the surface. On Myntra especially, what appears high on a category page reflects merchandising as well as demand. Treat these lists as what the platform is promoting and what is selling, combined.
Refresh rates differ. Amazon moves fastest. Collecting all three on one schedule and presenting them as of a single timestamp implies an equivalence that does not exist.
Teams routinely blend these. They answer different questions.
| Signal | What it measures | What it cannot tell you |
|---|---|---|
| Bestseller rank | Relative sales or popularity ordering within a node | How much sells; comparisons across nodes |
| Share of search | How often a brand appears in results for tracked queries | Whether those appearances convert |
| Listing count | How many SKUs a brand has present | Whether any of them sell |
A brand can hold high listing count and weak rank — broad assortment, thin demand. It can hold strong rank on two SKUs and near-zero share of search — dependent on category browse, invisible to searchers. Both findings disappear if you merge the three into one index.
Keep them as separate columns. If a stakeholder wants one number, build the composite in the reporting layer where its weights stay visible, never in the collection layer where they become invisible assumptions.
Four decisions define the dataset.
Category tree traversal. Snapshot the tree first, as its own versioned dataset. Platforms reorganise categories, and a hard-coded path that starts returning a different node looks exactly like a demand shift. Store category_tree_version on every observation.
Depth. Decide your read depth per node and hold it fixed. Read top 50 one day and top 100 the next, and every aggregate moves for reasons unrelated to the market.
Node selection. Leaf nodes carry the useful signal. Parent-node lists are dominated by a few high-volume sub-categories. Track leaves, roll up in reporting.
Cadence. Daily minimum for rank, in fixed collection windows.
| Dataset | Cadence | Reason |
|---|---|---|
| Bestseller rank, tracked leaf nodes | Daily, fixed window | Rank moves daily; comparability requires a fixed hour |
| New entrants to a list | Daily | Entry is the highest-value signal for trending feeds |
| Share of search, tracked queries | Daily | Query results shift with merchandising |
| Listing count per brand per node | Weekly | Moves slowly |
| Category tree | Weekly | Reorganisations must be caught before they corrupt series |
| Price on ranked items | Daily | Needed to read rank moves correctly |
The last row is easy to miss. A jump from rank 40 to rank 4 usually has a price change behind it. Without price on the same record, your feed shows a mystery.
Fixed windows are not optional for rank. Amazon's lists refresh through the day, so a 6 a.m. reading and a 6 p.m. reading are different measurements — and the gap between them masquerades as a trend.
One row per item per node per platform per run.
| Field | Type | Notes |
|---|---|---|
| observed_at | timestamp | IST with offset |
| collection_window | enum | Label the fixed window explicitly |
| platform | enum | amazon / flipkart / myntra |
| surface_type | enum | bestseller / popularity_sort / curated — not interchangeable |
| category_node_id / category_path_raw | string | Platform node ID / full breadcrumb |
| category_tree_version | string | Ties row to a tree snapshot |
| rank_position | integer | Position within this node and surface |
| rank_depth_collected | integer | How deep this run read; protects aggregates |
| platform_product_id | string | ASIN, FSN, Myntra style ID |
| product_title_raw / brand_raw | string | Verbatim |
| mrp / selling_price / discount_pct_shown | number | As displayed |
| is_sponsored | boolean | Must be captured; sponsored placements are not rank |
| first_seen_in_node_at / days_in_node | timestamp / integer | Derived; drives new-entrant detection |
| matched_product_key | string | Cross-platform identity where resolved |
| collection_run_id / run_health_flag | string / enum | Audit trail; ok / partial / blocked |
Two fields carry outsized weight.
is_sponsored — if sponsored placements leak into a bestseller feed, you are publishing advertising as demand. Capture it and exclude it from rank series.
rank_depth_collected — an aggregate over top 50 is not comparable to one over top 100. Storing depth on the row lets you always restrict a comparison to a common depth.
Three patterns cover most implementations.
Trending feeds. The valuable signal is rank change plus new entry, not rank itself. An item entering a node's top 20 for the first time is more interesting than one that has been rank 3 for eight months. Build the feed on rank_delta and first_seen_in_node_at.
Category landing pages. Populate from durable rank — items with high days_in_node — rather than today's snapshot. Returning users expect continuity, not a feed that reshuffles hourly.
Recommendation seeds. Rank is a reasonable cold-start prior when you have no behavioural data. Replace it as engagement data accumulates; it is a starting point, not a ranking function.
Decide early whether your app shows one platform's rank or a blended view. A blended view needs solid cross-platform matching, or users see the same product twice with different ranks and stop trusting the feed.
This deserves stating plainly, because it is where the expensive mistakes happen.
Rank 200 to 100 and rank 3 to 2 are not comparable improvements. The distance between adjacent ranks is not constant, and it compresses sharply at the top.
What rank data cannot do:
What it can do:
If a stakeholder needs volume, say the dataset does not contain volume. Rank distribution and rank-change frequency by category node is what the data supports. A modelled units estimate presented as observation is the fastest way to lose credibility.
For a single-platform feed, the platform ID is your key — the same ID in multiple nodes is one product in several nodes, not several products.
Cross-platform is the real work. The same product carries an ASIN, an FSN and a Myntra style ID, with three different titles and three different image sets.
| Signal | Reliability | Notes |
|---|---|---|
| EAN / GTIN where published | Decisive | Inconsistently available |
| Brand + model number or article code | High | Strong in electronics and appliances |
| Primary image perceptual hash | High | Platforms often receive the same brand assets |
| Brand + net weight + pack type | High for FMCG | Depends on clean weight parsing |
| Title token overlap, category-constrained | Medium | Weak without the category constraint |
Fashion is harder than the rest. Colour names and size systems differ across platforms, and the same style may be listed under different names. For Myntra, plan on more human review in the matching loop.
Score, then use two thresholds — auto-accept, review, discard — and store every decision with its signal breakdown. Publish the review-queue size as a quality metric. A feed that admits its matching uncertainty is more usable than one that claims none.
Actowiz Solutions delivers daily bestseller, rank and share-of-search feeds across Amazon India, Flipkart and Myntra, with fixed collection windows, sponsored placements flagged, and cross-platform matching scored per record.
We ship observed fields with depth and run-health metadata, so your feed's aggregates stay comparable over time.
Not from public data alone. Rank is ordinal, and the gap between adjacent positions is neither constant nor comparable across categories. Any conversion requires a calibration set from actual sales data for that specific category, and it degrades over time.
Daily at minimum, in a fixed collection window. Amazon's lists refresh through the day, so readings taken at different hours are different measurements. Fixed windows keep the series comparable; price should be collected on the same records to explain rank moves.
Rank orders items by sales or popularity within one category node. Share of search measures how often a brand appears in results for tracked queries. A brand can rank well through category browse while being nearly invisible in search, so the two should be reported as separate signals.
You can also reach us for all your mobile app scraping, data collection, web scraping, and instant data scraper service requirements!
Our web scraping expertise is relied on by 4,000+ global enterprises including Zomato, Tata Consumer, Subway, and Expedia — helping them turn web data into growth.
Watch how businesses like yours are using Actowiz data to drive growth.
From Zomato to Expedia — see why global leaders trust us with their data.
Backed by automation, data volume, and enterprise-grade scale — we help businesses from startups to Fortune 500s extract competitive insights across the USA, UK, UAE, and beyond.
We partner with agencies, system integrators, and technology platforms to deliver end-to-end solutions across the retail and digital shelf ecosystem.
Use this web data RFP checklist to define scope, sources, fields, SLA, QA and pricing models, then score vendors fairly.
Sensitive Skin Skincare Product Data API helps brands track cleansers, serums, moisturizers, and sunscreens with structured product data.
German marketplace data report 2026: online retail size, Amazon.de, Otto, Kaufland and Zalando price signals, PAngV rules and peak seasons.
Whether you're a startup or a Fortune 500 — we have the right plan for your data needs.