Shopify Inventory Monitor avatar

Shopify Inventory Monitor

Pricing

from $3.00 / 1,000 variant monitoreds

Go to Apify Store
Shopify Inventory Monitor

Shopify Inventory Monitor

Monitor Shopify store inventory, availability, and prices across multiple stores using the public products.json API. Tracks variant-level stock levels, detects out-of-stock items, exports JSON and CSV, and optionally notifies a webhook when inventory changes.

Pricing

from $3.00 / 1,000 variant monitoreds

Rating

0.0

(0)

Developer

Harsh

Harsh

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Monitor Shopify store inventory, availability, and prices across multiple stores using the public products.json API. No browser is required — the Actor uses Crawlee HTTP crawling with retries, logging, and rate limiting.

Features

  • Multiple stores — monitor one or many Shopify store or collection URLs in a single run
  • Variant-level records — one dataset row per product variant (SKU, price, options)
  • Inventory detection — captures inventory_quantity and inventory_management when exposed by the store
  • Out-of-stock detection — flags variants that are unavailable or have zero tracked inventory
  • JSON output — variant records pushed to the default dataset
  • CSV exportinventory.csv saved to the key-value store
  • Change detection — compares against the previous run snapshot (INVENTORY_SNAPSHOT)
  • Webhook notifications — optional POST with changes and full records when monitoring completes
  • Rate limiting — configurable concurrency, retries, and request delay

Input

FieldTypeDefaultDescription
storeUrlsstring[]Shopify store or collection URLs (required)
maxProductsinteger250Max products per store URL
maxConcurrencyinteger2Max parallel HTTP requests
minConcurrencyinteger1Min parallel HTTP requests
requestDelayMsinteger500Approximate per-request delay
maxRequestRetriesinteger3Retries for failed requests
includeOutOfStockOnlybooleanfalseOnly output out-of-stock variants
detectChangesbooleantrueCompare with previous run snapshot
webhookUrlstringOptional webhook URL for POST notifications
saveCsvbooleantrueSave inventory.csv to key-value store

Example input

{
"storeUrls": [
"https://shop.polymer80.com",
"https://www.allbirds.com"
],
"maxProducts": 100,
"maxConcurrency": 2,
"requestDelayMs": 500,
"detectChanges": true,
"saveCsv": true,
"webhookUrl": "https://example.com/webhooks/inventory"
}

Local example input is in storage/key_value_stores/default/INPUT.json.

Output

Dataset (JSON)

Each item is a variant inventory record. See examples/example-output.json.

Key-value store

KeyDescription
inventory.csvCSV export of all variant records
OUTPUTRun summary with change count and metadata
INVENTORY_SNAPSHOTSnapshot used for change detection on the next run

Webhook payload

When webhookUrl is set, the Actor POSTs:

{
"event": "inventory.monitor.complete",
"monitoredAt": "2026-07-05T12:00:00.000Z",
"totalVariants": 120,
"outOfStockCount": 8,
"changesDetected": 3,
"changes": [],
"records": []
}

Local development

npm install
npm run lint
npm run build
npm test
apify run --purge

Notes

  • Inventory quantities are only available when the store exposes them via the public products API.
  • Collection URLs that return 404 automatically fall back to store-wide products.json.
  • Schedule this Actor regularly to track stock and price changes over time.

License

ISC