Sonny Angel Restock Tracker — Stock Checker & Restock Alerts avatar

Sonny Angel Restock Tracker — Stock Checker & Restock Alerts

Pricing

from $0.50 / 1,000 store checks

Go to Apify Store
Sonny Angel Restock Tracker — Stock Checker & Restock Alerts

Sonny Angel Restock Tracker — Stock Checker & Restock Alerts

Get a Discord or webhook alert the moment Sonny Angel figures restock on the official US store or any Shopify store. Tracks every series and box variant, diffs each run against the last, and outputs only what changed. Schedule it every few minutes for a Shopify inventory monitor.

Pricing

from $0.50 / 1,000 store checks

Rating

0.0

(0)

Developer

Scrapelab Max

Scrapelab Max

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Share

Sonny Angel Restock Tracker: Stock Checker & Restock Alerts

Get a Discord ping the moment Sonny Angel figures restock. This tool checks the official Sonny Angel USA store at sonnyangelusa.com and up to 10 authorized retailers. Each run compares the catalog with the previous run and reports only what changed. Schedule it every few minutes and you have a restock alert service for every series and box size.

It also works on any Shopify store: paste a store or collection URL to use it as a general Shopify restock and inventory monitor.

What you get

  • Restock alerts in Discord: product name, box size, price, store, and a direct link to the product page, sent when an item goes from sold out to in stock. Alerts also fire when a new product appears already in stock.
  • Any other destination through a webhook: a JSON POST to Zapier, Make, n8n, your own server, or a bot.
  • Every box size tracked separately: "1 Piece" and "Box of 12" restock independently, so each is tracked on its own.
  • Series names: "Snack Series" becomes Snack and "HIPPERS - Harvest Series" becomes HIPPERS Harvest. Filter to only the series you care about.
  • Change-only output: the dataset holds only restocks, sell-outs, new listings, and removals. Turn on fullCatalog to get every item on every run.
  • Fails loudly: if a store returns nothing, the run fails with a clear message. It never reports "everything sold out" because of a hiccup.

Stores

StoreHow to enable
Sonny Angel USA (official), sonnyangelusa.comDefault
Kinokuniya USA, JapanLA, Senpai's Corner, Friends NYC, Gunnzo, Leanna Lin's Wonderland, World of Mirth, Peace Love & Happiness Club, Kiddywampus, Colorful CuteTick them under Also check these retailers. All are on Sonny Angel's official retailer list.
Any other Shopify storeAdd its URL, or a /collections/<handle> URL, to Store URLs

Quick start

  1. Create a Discord webhook: open Channel settings, then Integrations, Webhooks, New Webhook, and Copy Webhook URL.
  2. Paste it into Discord webhook URL and tick any extra retailers you want.
  3. Click Start once. The first run is a baseline: it records the current stock and sends no alerts.
  4. Open Schedules and run it every 2–5 minutes. Every later run alerts on changes.

Keep Snapshot store name the same across scheduled runs. That store remembers the previous run's stock. If you change it, the next run starts from a new baseline.

Input

FieldDefaultDescription
storeUrls["https://www.sonnyangelusa.com"]Shopify stores, or single collections, to check
retailerPresets[]Retailer ids to add, e.g. ["japanla", "kinokuniya-usa"]
brandKeywordSonny AngelTrack only products whose title, tags, vendor, or type contain this keyword. Leave empty to track everything.
seriesFilter[]Keywords such as ["hippers", "animal"]. Leave empty to track every series.
fullCatalogfalseOutput every item each run, not only changes
alertOnNewProductstrueAlso alert when a never-seen product appears in stock
discordWebhookUrl—Discord channel webhook
webhookUrl—Generic JSON webhook
snapshotStoreNamesonny-angel-snapshotNamed key-value store holding the last run's stock
proxyConfigurationoffTurn on Apify Proxy only if runs start failing with 403 or 429

Output

One row per variant:

{
"title": "Snack Series",
"variantTitle": "Sonny Angel Mini Figure Snack (1 Piece)",
"series": "Snack",
"changeType": "restocked",
"available": true,
"previousAvailable": false,
"price": 12.25,
"currency": "USD",
"url": "https://www.sonnyangelusa.com/products/snack-series?variant=47033562398934",
"imageUrl": "https://cdn.shopify.com/...",
"storeUrl": "https://www.sonnyangelusa.com",
"productId": "9036689375446",
"variantId": "47033562398934",
"sku": "W-SAS-65985ea",
"tags": ["Sonny Angel", "Regular", "..."],
"isBaselineRun": false,
"scrapedAt": "2026-10-27T03:40:12.000Z"
}

changeType is one of new, restocked, soldOut, unchanged (only with fullCatalog), or removed. Each run's summary is saved in the run's key-value store as OUTPUT.

The generic webhook receives { "event": "restock", "storeUrls": [...], "scrapedAt": "...", "items": [ ...rows ] }.

Cost

These figures were measured on the Apify platform at 256 MB of memory:

SetupRun timeCompute per runEvery 2 min, per month
Official store onlyabout 2–3 sabout 0.0002 CUabout 4 CU
Official store plus 10 retailersabout 8 sabout 0.0006 CUabout 12 CU

Use 256 MB of memory; more does not make it faster. No proxy is needed by default.

Good to know

  • "In stock" means reported in stock. The store's own stock flag can lag behind checkout, and per-customer limits still apply. The alert gets you to the page fast; it cannot guarantee checkout.
  • Polling interval: 2–5 minutes is the sustainable range. Polling every minute through shared IPs looks like one aggressive client and risks blocks for everyone.
  • What it reads: only public catalog data, the same JSON the store serves to every visitor. It never touches carts, accounts, or checkout.
  • Stock counts: inventory quantities aren't published by these stores, so inventoryQuantity is usually null.

Feedback

Want a store added, or found a series name that looks wrong? Open an issue on the actor's Issues tab.