Monitors are live: get a webhook when any Shopify store changes a price, sells out, or starts a promo

[ BLOG ]

All posts

Market research ·

How to Find the Best-Selling Products of a Shopify Store

Most Shopify stores will sort their own catalog by sales if you ask. How to read that ranking, what it hides, and how to compare best sellers across many stores in a niche.

To find the best-selling products of a Shopify store, open its full catalog sorted by sales: add /collections/all?sort_by=best-selling to the store's domain. Shopify orders the products by the store's own sales ranking, so the first products on the page are the ones that sell most. It works on most stores, takes a few seconds and needs no tools. The ranking doesn't show how many units each product sells, so pair it with reviews and ads before you draw conclusions.

Why the sort works

Shopify themes let shoppers sort collections by price, date, name and best-selling. The best-selling order is calculated by Shopify from the store's orders. When you request it on the all collection, which contains every published product, you see the whole catalog in that order. You're reading the store's own ranking, not an outside guess.

What you need

  • The store's domain. If you aren't sure it's on Shopify, run [the checks to confirm a website is built on Shopify](/blog/check-if-website-is-shopify) first.
  • A browser, and a spreadsheet to record what you find.
  • For more than a few stores, a script or an API key.

Steps

  1. Open https://example-store.com/collections/all?sort_by=best-selling.
  2. Write down the first 10 to 20 products, their prices and whether they're in stock.
  3. If the page is empty or redirects, try a main collection with the same parameter.
  4. Check the top products' review counts and recent reviews.
  5. Look for the same products in the store's ads.
  6. Repeat on competitors and compare the lists.

Step 1: open the sorted catalog

Replace the domain and open the URL. Most themes show 16 to 48 products per page. The order is what you're after, so you don't need to page far: the top of the list is where the signal is.

Step 2: record the top products

For each of the top products, note the title, the price, the compare-at price if there is one, and whether every variant is available. A best seller that is partly sold out is selling faster than the store restocks it, which is a strong signal.

Step 3: work around stores that block it

Some stores hide the all collection, redirect it to the home page, or use a theme that ignores the sort parameter. Try the store's main collections from the menu with ?sort_by=best-selling added. If the order on the page doesn't change when you add the parameter, the theme isn't applying it and you'll need the other signals below.

Step 4: check reviews

Reviews give you a second, independent signal. Products that sell a lot collect reviews faster. Look at the review count on each top product and the dates of the latest reviews. A product with 2,000 reviews but none in the last three months is an old best seller that may be fading. A product with 80 reviews, most of them from the last month, is probably growing.

Step 5: check the ads

Brands advertise the products they want to scale. Search the brand in the Meta Ad Library and note which products the long-running ads feature. If a product is high in the best-selling sort and also in ads that have run for months, it's both selling and profitable to promote. How to see the ads a Shopify store is running walks through the ad libraries.

Step 6: compare across stores

One store's best sellers tell you about that store. The same exercise across 20 stores in a niche tells you what the market buys. Doing it by hand takes an hour or two. With data, it's one request per store.

ShopLens returns topProducts on every store profile: the store's best sellers, best first, with title, handle, price, currency, image and a product category from the Shopify Product Taxonomy. It also returns productTypes, the store's product types with how many products each one has.

bash
curl -s -H "Authorization: Bearer $SHOPLENS_API_KEY" \
  https://data.shoplens.dev/api/v1/shops/example-store.com \
  | jq '[.topProducts[:5][] | {rank, title, price, currency, taxonomyCategory}]'
json
[
  {
    "rank": 1,
    "title": "Linen Shirt",
    "price": "39.00",
    "currency": "USD",
    "taxonomyCategory": "Apparel & Accessories > Clothing > Clothing Tops > Shirts"
  }
]

The example is made up. price is the "from" price, the lowest across variants. Each lookup costs one credit.

The taxonomy category is what makes cross-store comparison work. Merchants name their product types freely, so one store's "Tees" is another store's "T-Shirts". The taxonomy path is the same for both, so you can group best sellers from 20 stores and count which categories and price points appear most often.

typescript
const domains = ["example-store.com", "example-rival.com", "example-other.com"];
const counts = new Map<string, number>();

for (const domain of domains) {
  const response = await fetch(`https://data.shoplens.dev/api/v1/shops/${domain}`, {
    headers: { Authorization: `Bearer ${process.env.SHOPLENS_API_KEY}` },
  });
  if (response.status !== 200) continue;
  const shop = await response.json();
  for (const product of shop.topProducts.slice(0, 10)) {
    const key = product.taxonomyCategory ?? "Uncategorized";
    counts.set(key, (counts.get(key) ?? 0) + 1);
  }
}

console.table([...counts].sort((a, b) => b[1] - a[1]).slice(0, 10));

To build the list of stores for a niche in the first place, see how to get a list of Shopify stores by country and category.

What the ranking doesn't tell you

  • Volume. Rank 1 could sell 50 units a month or 50,000. Pair the list with the store's estimated sales, explained in [how to estimate a Shopify store's sales](/blog/shopify-store-sales-estimate), to get a sense of scale.
  • Margin. A best seller can be a loss leader the store discounts to win customers.
  • Channel. The ranking covers the store's Shopify orders. Products that sell mostly on Amazon or in retail won't stand out.
  • Timing. The ranking reflects sales over a period Shopify chooses, so a product that took off last week may not have climbed yet.

Turning best sellers into decisions

The point of the exercise is usually one of three decisions. If you're choosing a product to launch, look for categories that appear in many stores' top ten at a price you can match. If you're selling to merchants, a store's best sellers tell you what to mention in your first message. If you're watching competitors, a change in their top five over a few months shows what they're pushing next.

Common mistakes

  • Trusting a theme's "Best sellers" collection. Some stores hand-pick a collection called "Best sellers". The sort parameter uses real order data; a hand-picked collection doesn't have to.
  • Looking at one store. One store's list is about its brand and audience. Patterns appear across several stores.
  • Ignoring stock. A best seller that's out of stock in most sizes is an opportunity for anyone who can supply it.

How to check it worked

Compare your list with the store's ads and reviews. If the top three products in the sorted catalog also have the most recent reviews and feature in long-running ads, you've found the store's real best sellers. If the three signals disagree, trust the sort order for the store's own sales and use the others to judge where it's heading.

[ GET STARTED ]

Start building on Shopify data

Get an API key and make your first store lookup in a few minutes.