WooCommerce API — Detect a WooCommerce Store
Documentation menu
FetchLayer FetchLayer API

Check a domain runs WooCommerce

Confirm a domain is a WooCommerce store and find the real storefront behind it, before anything else spends a request on it. Returns a verdict with a confidence level, the individual signals that were checked and which of them matched, and every published data source that answered — most complete first. Run it once per new domain; the dataSource it reports is the one every later call will use.

POST /detect-store Store
https://api.fetchlayer.dev/woocommerce-stores/detect-store
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.

timeoutMs number optional

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

Response Fields

detect-store

Check a domain runs WooCommerce

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.

detection.isWooCommerce boolean

Whether the domain runs WooCommerce.

detection.confidence string

high when the store publishes product data or identifies WooCommerce outright, medium on weaker storefront signals alone, none when nothing matched.

detection.evidence object[]

One row per signal checked: what was looked for, whether it was found, and what matched.

detection.dataSource string | null

The most complete source available, or null when none is. This is what a products call will read from.

detection.availableDataSources string[]

Every source that answered, most complete first.

detection.storeVersion string | null

Null unless the store publishes it, and many do not.

detection.platformVersion string | null

The underlying platform version, where the store publishes it.

Request

curl -X POST "https://api.fetchlayer.dev/woocommerce-stores/detect-store" \
  -H "Authorization: Bearer ss-your-key" \
  -H "Content-Type: application/json" \
  -d '{"store":"example-shop.com"}'

Response

{
  "store": {
    "domain": "example-shop.com",
    "url": "https://example-shop.com"
  },
  "detection": {
    "isWooCommerce": true,
    "confidence": "high",
    "dataSource": "catalog-api",
    "availableDataSources": [
      "catalog-api",
      "content-api",
      "product-pages"
    ],
    "evidence": [
      {
        "signal": "store-catalog-endpoint",
        "found": true,
        "detail": "200 with 412 products"
      }
    ]
  },
  "notes": []
}