Guide
How to track a competitor's new product launches on Shopify
6 min read
New product drops are how competitors test demand and win categories - and being early to one is a real edge. Shopify stores publish enough public data to catch new launches, often before they're promoted. Here are three free ways to see a store's latest products, and how to get alerted automatically instead of refreshing their site.
Method 1: Sort their catalog by newest
Shopify lets you sort any store's 'all products' collection by creation date, right in the URL. Newest first shows you their latest additions:
https://competitor.com/collections/all?sort_by=created-descending # as JSON: https://competitor.com/collections/all/products.json?sort_by=created-descending
Method 2: The store's product RSS feed
Many Shopify stores expose an Atom/RSS feed of their products, which you can subscribe to in any feed reader to get new items pushed to you:
https://competitor.com/collections/all.atom
Method 3: Diff products.json over time
The most reliable method is to save the store's full catalog from /products.json, then re-fetch it later and compare: any product ID that appears in the new snapshot but not the old one is a new launch. This catches everything, including products that aren't featured or linked anywhere yet.
Here's the whole idea in a few lines - grab today's product IDs, do the same tomorrow, and compare:
# Today: save every product ID curl -s 'https://competitor.com/products.json?limit=250' \ | jq -r '.products[].id' | sort > today.txt # Tomorrow: fetch again into next.txt, then diff comm -13 today.txt next.txt # IDs that are NEW since yesterday comm -23 today.txt next.txt # IDs that were REMOVED
A gotcha: created_at vs published_at
When you read the timestamps, know the difference between the two dates on each product. created_at is when the product record was first made in the store's admin; published_at is when it actually went live on the storefront. A store can create a product weeks early as a hidden draft and publish it later - so published_at is the true 'launch' date a shopper (and you) would notice.
If you sort by created-descending you're ordering by admin-creation date, which can surface a product that isn't public yet or bury one that was drafted long ago but only just launched. When you care about real go-live dates, sort or diff on published_at.
Why timing beats browsing
All three methods share one problem: they only help if you actually check. A competitor can launch on a Tuesday and sell out by Friday; if you look next week, you've missed the window. For dropshippers hunting winners and brands defending a category, same-day awareness is the whole point.
Get alerted the moment they launch
Shop Sentry automates the diffing method. Add a competitor's Shopify domain and it checks their catalog on a schedule (hourly on paid plans), so when a new product appears, you get an alert by email or Telegram - with the product name and a link - usually the same day it's published, often before it shows up in their navigation.
It watches removals too, which is a quieter but telling signal about what didn't work for them.
Frequently asked questions
How do I see a Shopify store's newest products?
Add ?sort_by=created-descending to their /collections/all URL (or the /collections/all/products.json endpoint). The newest products appear first; check the created_at timestamps for exact dates.
Can I subscribe to a store's new products?
Sometimes - many Shopify stores expose an RSS/Atom feed at /collections/all.atom that you can follow in a feed reader. If it's disabled, diff products.json over time or use a monitoring tool.
How do I catch new launches automatically?
Use a monitor like Shop Sentry: add the store once and get an email or Telegram alert whenever a new product appears in its catalog - no manual checking.
Will I also know when they remove a product?
Yes, if you diff the catalog over time (or use Shop Sentry) - a product that disappears from products.json is a removal, a useful signal that it didn't sell.
Should I use created_at or published_at for launch dates?
Use published_at - that's when the product actually went live on the storefront. created_at is when the record was first drafted in the admin, which can be weeks earlier, so it's not a reliable 'launch' date.
