WooCommerce API — Single Product & Variations
Documentation menu
FetchLayer FetchLayer API

Get one product in full

Read one product completely: full description, prices and sale prices, SKU, stock status and quantity, rating and review count, categories, tags and brands, every attribute, every variation with its own price, SKU and stock, all image URLs, weight and dimensions, and the products the store lists as related. Takes a product id, a slug, or the product's URL on the store.

POST /product-detail Catalog
https://api.fetchlayer.dev/woocommerce-stores/product-detail
OpenAPI JSON

Headers

Authorization string required

Bearer token — your FetchLayer API key.

Parameters

store string required

Store domain, for example example.com, or any URL on the store. 3–255 characters.

product string required

Product id, slug, or the product's URL on the store.

dataSource string optional

Pin the read to one published source: catalog-api, content-api or product-pages. catalog-api carries every field, content-api carries no prices, SKUs or stock, and product-pages carries no attributes or variations and is far more expensive to read. (default: the most complete source the store offers)

includeVariations boolean optional

Also resolve each variation's own price, SKU and stock. (default: true)

timeoutMs number optional

Per-request time limit in milliseconds (max 600000).

Response Fields

product-detail

Get one product in full

requestedUrl string

The store this result corresponds to.

scrapedAt string

ISO 8601 timestamp of the read.

blocked boolean

Always false on a successful response.

notes string[]

Caveats about this particular result — a truncated walk, an upstream limit, a field this store does not publish. Read it: a short result set is usually explained here rather than by an error.

store object

The resolved store: canonical domain and the store's own base URL.

dataSource string

Which published source this product was read from.

product object

The full product record — the same shape as a row in /products, with variations and attributes resolved.

product.variations object[]

Each variation's id, SKU, option values, prices, permalink and stock status.

product.attributes object[]

Attribute name, key, terms, and whether variations differ by it.

product.images object[]

Every image on the product, each with a downloadUrl that streams the file through GET /media.

relatedProductIds number[]

Products the store lists as related, where it publishes any.

Request

curl -X POST "https://api.fetchlayer.dev/woocommerce-stores/product-detail" \
  -H "Authorization: Bearer ss-your-key" \
  -H "Content-Type: application/json" \
  -d '{"store":"example-shop.com","product":"coastal-rain-shell","includeVariations":true}'

Response

{
  "dataSource": "catalog-api",
  "product": {
    "id": 8842,
    "name": "Coastal Rain Shell",
    "type": "variable",
    "prices": {
      "currency": "USD",
      "priceRangeMin": "129.00",
      "priceRangeMax": "149.00",
      "onSale": true
    },
    "variations": [
      {
        "id": 8845,
        "sku": "CRS-BLK-M",
        "stockStatus": "in-stock",
        "attributes": [
          {
            "name": "Size",
            "value": "M"
          }
        ]
      }
    ]
  },
  "relatedProductIds": [
    8801,
    8912
  ],
  "notes": []
}