Skip to main content
Piloterr
Back to library

Shopify Catalog API

List products from a Shopify shop. query is the shop domain or a URL on that shop. page and limit choose the slice.

Active1 credit = 1 requestGET/v2/shopify/catalog

Endpoint Overview

Detailed documentation, pricing, and usage examples.

OverviewLink to Overview

The Shopify Catalog API lists products from a public Shopify shop. query is the shop domain or any URL on that shop, such as decathlon.com or https://www.decathlon.com. A product link on the same host selects that shop too. shopify.com and apps.shopify.com are rejected.

The shop's public /products.json feed is returned as results and pagination.

QuickstartLink to Quickstart

GET https://api.piloterr.com/v2/shopify/catalog?query=https://www.decathlon.com&page=1&limit=30

ParametersLink to Parameters

Parameter Type Required Description
query string yes Shop domain or shop URL. decathlon.com and https://www.decathlon.com/products/some-handle both read the Decathlon shop.
page integer no Page number, starting at 1. Omit it for page 1. page=2 is the next slice.
limit integer no Items on this page. Default 30. Maximum 250.

Response fieldsLink to Response fields

Field Type Description
results[].title string Product title
results[].handle string Product handle
results[].url string Product URL on the shop
results[].vendor string Vendor
results[].product_type string Product type
results[].tags array Tags
results[].description string Product description
results[].variants[].price number Variant price
results[].variants[].price_display string Price label, without a trailing dash
results[].variants[].compare_at_price number or null Compare-at price when the shop sends one
results[].variants[].available boolean Variant availability
results[].image.src string First image URL
pagination.page number Requested page
pagination.per_page number Requested limit
pagination.total_results null The shop JSON does not include a total
pagination.total_pages null The shop JSON does not include a page count
pagination.next string or null Next shop JSON URL when this page is full, otherwise null

Use casesLink to Use cases

  • Walk a merchant catalog for price and availability checks
  • Import the first pages of a Shopify shop into a PIM
  • Follow pagination.next until the shop runs out of products

Error codesLink to Error codes

Code Meaning
400 Missing query, a domain that is not a shop, or page / limit out of range
403 The shop blocked the JSON feed
404 This page has no products
500 The feed could not be fetched

Related APIs

Expand your data capabilities with these complementary tools.

Ready to get started?

Your web scraping API is one click away. Start with +500 credits, no infrastructure to set up, no proxies to manage, and no credit card required.

  • +500 credits
  • No credit card required
  • All endpoints included