Shopify API
Catalog, pricing and inventory data from any public storefront.
Why teams scrape Shopify stores
Shopify stores holds some of the most commercially useful public data on the web, and almost none of it is available through a stable official feed at the volume real products need. Rate limits, partner-only access and shifting page structures mean teams either give up on the source or maintain a fragile scraper that breaks every few weeks.
Millions of DTC brands run on Shopify, and each storefront exposes a consistent public catalog structure — which makes it the best source for competitive assortment and pricing work across the long tail.
Irmu removes the infrastructure question entirely. One authenticated request handles proxy selection, browser rendering, anti-bot challenges and retries, and AI Extract turns the resulting page into validated JSON against a schema you define. You get product_title, price, compare_at_price, variants, inventory, images, collections, vendor without writing or maintaining a single selector, and the same endpoint, quota and observability model you already use for every other source.
What it powers
Assortment tracking
Watch competitor catalogs expand and contract.
Promotion detection
Catch discounts the moment compare-at prices change.
Inventory signals
Infer demand from stock movement.
DTC market research
Survey pricing across hundreds of brands in a category.
Fields available
Everything below comes back typed and validated against your schema.
product_title
Product name
price
Current price
compare_at_price
Original price
variants
Variant options and prices
inventory
Availability by variant
images
Product imagery
collections
Collections the product belongs to
vendor
Brand or vendor field
One call, no selectors
curl -X POST https://app.irmu.com/api/extract \
-H "Authorization: Bearer irmu_sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://examplestore.com/collections/all",
"schema": {
"product_title": "string",
"price": "string",
"compare_at_price": "string",
"variants": "string",
"inventory": "string",
"images": "string"
}
}'Validated JSON
{
"data": {
"product_title": "Merino Crew",
"price": 118,
"compare_at_price": 148,
"vendor": "Example"
},
"credits_used": 12,
"status": 200
}Copy, paste, ship
import requests
res = requests.post(
"https://app.irmu.com/api/extract",
headers={"Authorization": "Bearer irmu_sk_live_..."},
json={
"url": "https://examplestore.com/collections/all",
"schema": {
"product_title": "string",
"price": "string",
"compare_at_price": "string",
"variants": "string"
},
},
)
data = res.json()["data"]
print(data)Simple credits
Per product page
12 credits
Failed requests are retried automatically and never billed.
See full pricing →Shopify API questions
Start extracting Shopify stores data today
1,000 free credits every month. No card, no sales call.