List a store's products
Walk a store's catalog. Each product comes back with its title, handle, vendor, product type, tags, description as plain text and as HTML, publish and update timestamps, every image with its dimensions, the full option matrix, and every variant with price, compare-at price, SKU, barcode, option values, weight and availability — plus the product's price range, currency and whether anything on it is discounted. Collect several pages in one request with pages, or resume with a previous response's nextCursor. Per-unit stock is not published here; use /product-detail for that.
/products Catalog https://api.fetchlayer.dev/shopify-stores/products Headers
Authorization string required Bearer token — your FetchLayer API key.
Parameters
store string required Store domain, or any URL on the store — for example example.com, https://example.com/products/foo, or a myshopify.com domain.
limit number optional Maximum items returned (max 2000), or -1 for everything available. (default: 30)
pages number optional Pages of results to collect in one request (max 40), or -1 for the maximum allowed. Each page counts as one request.
cursor string optional Resume from a previous response's nextCursor.
format string optional json or markdown. Markdown returns the same result rendered for a model to read. (default: json)
timeoutMs number optional Per-request time limit in milliseconds (max 120000).
Response Fields
products
List a store's products
requestedUrl string The store URL this result corresponds to.
scrapedAt string When the store was read, as an ISO timestamp.
transport string Always shopify-storefront — the upstream source this data came from.
notes string[] Caveats about this specific result: a truncated walk, an upstream limit, or a field this store does not publish. Read it before treating a result as complete.
pagesScraped number Pages actually collected. Each page counts as one request against your plan.
pagesRequested number Pages the request asked for.
nextCursor string Pass back as cursor to continue, or null when the listing is exhausted.
hasNextPage boolean Whether more results are available beyond this response.
resultType string Always product-list.
domain string The store the products came from.
products object[] The products, in the order the store publishes them.
products[].id string The product's id on the store.
products[].handle string The product's identifier in its store URL — what product-detail takes.
products[].title string Product title.
products[].productUrl string Canonical product page URL on the store.
products[].vendor string Vendor or brand the store attributes the product to.
products[].productType string The store's own product type for this item.
products[].tags string[] Merchandising tags, often the store's internal taxonomy.
products[].description string Description as plain text; descriptionHtml carries the original markup.
products[].publishedAt string When the product was published, and createdAt / updatedAt alongside it.
products[].images object[] Every image, each with url, downloadUrl, width, height, position, altText and the variants it belongs to.
products[].options object[] The choices a buyer makes — for example Size and the sizes available.
products[].variants object[] Every buyable version, with price, compareAtPrice, sku, barcode, optionValues, grams, requiresShipping, taxable and available.
products[].variants[].inventoryQuantity number Units on hand. Published only by product-detail, and only by stores that track inventory.
products[].variantsTruncated boolean True when the product has more variants than the store publishes; the first 250 are returned.
products[].priceMin string Lowest variant price, with priceMax and currency alongside it.
products[].available boolean True when at least one variant can be bought.
products[].onSale boolean True when at least one variant carries a compareAtPrice above its price.
productCount number Number of products in this response.
Request
curl -X POST "https://api.fetchlayer.dev/shopify-stores/products" \
-H "Authorization: Bearer ss-your-key" \
-H "Content-Type: application/json" \
-d '{"store":"allbirds.com","limit":50,"pages":2}'Response
{
"resultType": "product-list",
"domain": "allbirds.com",
"productCount": 50,
"pagesScraped": 2,
"hasNextPage": true,
"nextCursor": "cGFnZT0z",
"products": [
{
"handle": "mens-tree-runners",
"title": "Men's Tree Runners",
"vendor": "Allbirds",
"priceMin": "98.00",
"priceMax": "98.00",
"currency": "USD",
"onSale": false,
"variants": [
{
"sku": "TR-M-10-NAT",
"title": "10 / Natural White",
"price": "98.00",
"compareAtPrice": null,
"available": true
}
]
}
],
"notes": []
}