Sneaker Price Tracker: Sales, Price Drops & Restocks EU/UK/US avatar

Sneaker Price Tracker: Sales, Price Drops & Restocks EU/UK/US

Pricing

from $1.80 / 1,000 sneakers

Go to Apify Store
Sneaker Price Tracker: Sales, Price Drops & Restocks EU/UK/US

Sneaker Price Tracker: Sales, Price Drops & Restocks EU/UK/US

Track sneaker prices, sales and restocks in 13 shops (Kith, SNS, END., Footpatrol, Patta, Slam Jam...). Per-size stock, style-code match across shops, alerts for drops, sales and restocks.

Pricing

from $1.80 / 1,000 sneakers

Rating

0.0

(0)

Developer

APIzilla

APIzilla

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Sneaker Price Tracker: Sales, Price Drops & Restocks (EU, UK, US)

Track sneaker prices, sales and restocks in 13 sneaker shops at once: Kith, Sneakersnstuff (SNS), END., Footpatrol, Asphaltgold, Overkill, Patta, Slam Jam, Footdistrict, Concepts and more. Search by model ("Dunk", "Samba", "New Balance 990") or by exact style code ("DD1391-100"), get per-size stock, the old price and discount, the same shoe matched across shops with the cheapest shop, and, when you run it on a schedule, alerts for new releases, price drops, sales, restocks and sold-out sizes.

What it does

  • One run, many shops. Reads each shop's public product feed (no browser, fast and cheap).
  • Per-size stock. Every size with in stock true/false, as the shop writes it (US 9, EU 42 2/3, UK 8...).
  • Sales. Current price, old price (compareAtPrice), discountPercent and onSale.
  • Style codes. The manufacturer code (Nike DD1391-100, adidas IE3437, New Balance U9060BLK, ASICS 1201A789-020...) is found in the SKU, tags or description and normalized, so the same shoe has the same code in every shop.
  • Cross-shop comparison. Offers grouped by style code: cheapest shop (in stock first), price range in EUR, sizes in stock per shop.
  • Change tracking (the part other scrapers do not have). The Actor remembers every sneaker between runs and reports:
ChangeWhen
new_releaseA new product appeared in the shop
price_drop / price_increaseThe price changed (with old price, change and %)
sale_started / sale_endedThe shop started or stopped showing an old price
restockOne or more sizes came back in stock (the sizes are listed)
sold_outThe last size (of your sizes) sold out
removedThe product page is gone

Turn on Only changes and schedule the Actor (for example every 30 minutes) to get a clean alert feed. Connect it to Slack, email, Telegram or a webhook with Apify integrations.

Shops

Shop IDShopCountryCurrency
kith-euKith Europe (eu.kith.com)France / EUEUR
kith-usKith (kith.com)United StatesUSD
sneakersnstuffSneakersnstuff / SNSSweden / EUEUR
footpatrolFootpatrolUnited KingdomGBP
endclothingEND. ClothingUnited KingdomGBP
urbanindustryUrban IndustryUnited KingdomGBP
overkillOverkillGermanyEUR
asphaltgoldAsphaltgoldGermanyEUR
footdistrictFootdistrictSpainEUR
pattaPattaNetherlandsEUR
slamjamSlam JamItalyEUR
oneblockdownOne Block DownItalyEUR
conceptsConcepts (CNCPTS)United StatesUSD

You can also type a shop by its website, for example "www.patta.nl".

Examples

Find Dunks and Sambas in four EU shops

{
"shops": ["kith-eu", "sneakersnstuff", "asphaltgold", "footdistrict"],
"keywords": ["Dunk", "adidas Samba"],
"maxItems": 100
}

Restock and price-drop alerts for my size, every 30 minutes

{
"shops": ["kith-eu", "sneakersnstuff", "footpatrol", "endclothing", "patta", "slamjam"],
"keywords": ["New Balance 990", "Jordan 4"],
"sizes": ["US 9", "EU 42.5", "UK 8"],
"trackerName": "my-grails",
"onlyChanges": true
}

Deals: 30% off or more, in stock

{
"shops": ["asphaltgold", "overkill", "footdistrict", "sneakersnstuff", "urbanindustry"],
"brands": ["Nike", "adidas", "New Balance", "ASICS"],
"minDiscountPercent": 30,
"onlyInStock": true,
"maxItems": 500
}

Watch exact shoes by style code across all shops

{
"shops": ["kith-eu", "kith-us", "sneakersnstuff", "footpatrol", "endclothing", "overkill", "asphaltgold", "urbanindustry", "footdistrict", "patta", "concepts", "slamjam", "oneblockdown"],
"styleCodes": ["1203A537-026", "U9060BLK", "IE3437"],
"trackerName": "style-watch"
}

Output

One item per sneaker offer (shop + product). Example (shortened):

{
"id": "footdistrict:9123456789",
"changeType": "price_drop",
"changes": [{ "type": "price_drop", "price": 91, "previousPrice": 130, "priceChange": -39, "priceChangePercent": -30 }],
"shop": "footdistrict",
"shopName": "Footdistrict",
"shopCountry": "ES",
"title": "Nike x Kobe Bryant Dunk Low Protro",
"brand": "Nike",
"styleCode": "IQ3919-001",
"currency": "EUR",
"price": 91,
"compareAtPrice": 130,
"discountPercent": 30,
"onSale": true,
"priceEur": 91,
"available": true,
"sizesAvailable": ["40", "41", "42", "42.5", "44"],
"sizes": [{ "size": "40", "available": true, "price": 91, "variantId": "...", "sku": "IQ3919-001-40" }],
"restockedSizes": [],
"crossShop": { "shopCount": 2, "cheapestShop": "footdistrict", "cheapestPriceEur": 91, "isCheapest": true, "otherShops": [{ "shop": "kith-eu", "priceEur": 125 }] },
"priceHistory": [{ "date": "2026-10-20", "price": 130 }, { "date": "2026-10-23", "price": 91 }],
"lowestPriceSeen": 91,
"url": "https://www.footdistrict.com/products/...",
"image": "https://cdn.shopify.com/...",
"publishedAt": "2026-10-14T10:00:00+02:00"
}

The dataset has three views: Overview, Changes (alerts) and Cross-shop prices. The key-value store has:

  • COMPARISON: every style code with its offers per shop, cheapest shop, EUR price range and sizes per shop.
  • OUTPUT: run summary: status per shop (ok, partial, blocked, failed), counts, changes and charged events.

How change tracking works

  • Runs with the same Tracker name compare with each other. The baseline is saved per shop in a named key-value store sneaker-tracker-<trackerName> in your account.
  • The first run saves the baseline (changeType: "baseline"); changes show from the second run.
  • Every matching sneaker on the pages read is remembered, even if it is not saved because of Max sneakers. Changed sneakers are always saved first.
  • Tracked sneakers that were not on the pages read this run are re-checked one by one (up to Re-check tracked sneakers, default 40 per shop), so their price drops and restocks are still caught, and a product whose page is gone becomes removed.
  • new_release is only reported for shops that were already tracked, and only for products that are really new (published after the last run, or the shop was read to the end last time).
  • If you change the keywords, brands or style codes, the tracker starts a new baseline for new releases (use a new tracker name for a different search).
  • A change that could not be saved (max cost reached) is reported in the next run.

Sizes

Shops write sizes differently. A bare number from 30 up is EU; a smaller bare number uses the shop's own system (US for Kith, SNS, Patta, Slam Jam, One Block Down, Concepts; UK for Footpatrol, END., Urban Industry). Write the system in the Sizes input: "US 9", "EU 42", "EU 42 2/3", "UK 8". Sizes are not converted between systems (the conversion depends on the brand), so add each system you care about, for example ["US 9", "EU 42.5", "UK 8"].

Prices and currencies

Prices are in each shop's own currency (currency). priceEur converts with the European Central Bank reference rates of the day (frankfurter.app), or a fixed table if that service is down. This is approximate: shipping, duties and VAT differences between countries are not included.

Pricing

Pay per event. You only pay for results:

EventPrice
Sneaker (one saved sneaker offer with prices and per-size stock)$1.80 per 1,000
Change alert (new release, price drop or rise, sale started or ended, restock, sold out, removed)$0.50 per 1,000
Actor start$0.003 per run (at the default 512 MB; one start event per GB of memory, minimum one)

Examples:

  • 1,000 sneakers from 13 shops: about $1.80.
  • A tracker of 500 sneakers run every hour with Only changes on: you pay only for the changed sneakers (each $0.0018 + $0.0005 per change) plus $0.003 per run. A quiet hour costs $0.003 (about $2.20 for a month of hourly runs).
  • Sneakers that are read but not saved (filtered out, not changed in Only changes mode) cost nothing. Blocked shops cost nothing.

Set a maximum cost per run in the Apify Console; the Actor stops cleanly when it is reached and never saves a result it cannot charge.

StockX and Zalando (coming soon)

  • StockX resale prices (lowest ask, last sale) by style code: coming soon. StockX blocks plain requests even through residential proxies in our tests. The switch is in the input but does nothing and costs nothing yet.
  • Zalando prices by style code: coming soon. Zalando pages load fine, but its search results do not show style codes, and matching by name picked the wrong model too often. The switch does nothing and costs nothing yet.

Marketplace prices are coming soon. They are not in the price list yet and are never charged.

FAQ

Is a style code always found? Almost always for Nike, Jordan, adidas, New Balance, ASICS, Puma, Vans, Converse, Hoka and Salomon: 94% of those products in our test of all 13 shops (82-100% per shop). Smaller brands often have no standard code, and some shops do not show it for every product. Those sneakers have styleCode: null and are not in the cross-shop comparison.

Why fewer results than Max sneakers? Rare keywords may not be in the first pages. Each page has 250 products of the shop's footwear collection, newest first in most shops. Raise Max pages per shop.

How often can I run it? As often as you like. Every 15 to 60 minutes is common for restock alerts.

Does it buy or reserve shoes? No. It only reads public product data.

Which proxy? Apify Proxy with no group (the default). Shops use datacenter proxies and switch to RESIDENTIAL automatically only if they block (Footpatrol sometimes shows a Cloudflare check).

Can you add a shop? Most sneaker shops on Shopify can be added quickly. Open an issue with the website.

Limits

  • Only public product data. No login, no raffles, no checkout.
  • Shops change their catalogue layout from time to time; the run summary (OUTPUT) shows the status of every shop.
  • Stock is what the shop shows at the time of the run.