input | string | object | Input The store entry as given. |
recordType | string | Record type product (one per delivered product, charged product) | variant (with includeVariants, one per variant, charged product) | summary (one per store; charged store when at least one row was delivered) e.g. "product" |
position | integer | Position Product and variant rows: position within the store (1-based). |
platform | string | null | Platform shopify | woocommerce |
store | string | null | Store The store's host (after redirects, e.g. www.allbirds.com). |
productId | string | Product ID |
handle | string | null | Handle URL handle (Shopify) or slug (WooCommerce). |
title | string | Title Product title (variant rows: the product's title). |
url | string | null | Product URL Variant rows: the product URL with ?variant=<id> (Shopify). |
vendor | string | null | Vendor Shopify vendor; WooCommerce brand when the store uses brands. |
productType | string | null | Product type Shopify product type; WooCommerce: the first category. |
tags | array | Tags |
categories | array | Categories WooCommerce categories (Shopify products have none in the storefront JSON). |
price | number | null | Price Product rows: the lowest variant price. Variant rows: the variant's price. |
priceMin | number | null | Lowest price |
priceMax | number | null | Highest price |
compareAtPrice | number | null | Compare-at price The regular price of discounted variants (highest of them); null when nothing is on sale. |
currency | string | null | Currency ISO 4217 code (Shopify: from the store's /meta.json). |
onSale | boolean | On sale At least one variant is below its compare-at price. |
discountPct | integer | null | Discount % Largest discount among variants, in percent of the compare-at price. |
available | boolean | null | Available At least one variant can be bought (variant rows: this variant). |
variantCount | integer | Variants |
variants | array | Variants Product rows: up to 100 { variantId, title, sku, price, compareAtPrice, available, options, grams }. |
options | array | object | Options Product rows: [{ name, values }]. Variant rows: { optionName: value }. |
images | array | Images Up to 20 image URLs. |
imageCount | integer | Images (count) |
createdAt | string | null | Created at ISO 8601 UTC (Shopify only). |
updatedAt | string | null | Updated at ISO 8601 UTC (Shopify only). |
publishedAt | string | null | Published at ISO 8601 UTC (Shopify only). |
description | string | null | Description Plain text, product rows only, with includeDescription. |
variantId | string | Variant ID Variant rows only. |
variantTitle | string | null | Variant title Variant rows only (e.g. 9 / Black). |
sku | string | null | SKU Variant rows only. |
grams | number | null | Weight (g) Variant rows only. |
image | string | null | Image Variant rows only: the variant's image, else the product's first image. |
storeName | string | null | Store name Summary records only (Shopify /meta.json). |
productCount | integer | null | Products in store Summary records only: published products the store reports (Shopify /meta.json, WooCommerce X-WP-Total). |
collections | array | Collections Summary records only: the Shopify collections listed. |
resultsDelivered | integer | Rows delivered Summary records only. |
duplicates | integer | Duplicates Summary records only: rows already delivered for another entry of this run (not charged). |
stopReason | string | Stop reason Summary records only: end | limit | free_plan | budget | deadline | aborted | max_pages | empty_pages | error |
status | string | Status ok | not_found | error | skipped_invalid | skipped_budget | skipped_free_plan | skipped_unmetered e.g. "ok" |
charged | boolean | Charged Product and variant rows: charged product. Summary records: charged store when at least one row was delivered. |
chargedEvent | string | Charged event Pay-per-event event charged for this record (present only when charged). |
chargedCount | integer | Events charged Events actually charged when the charge came back short of the requested count (present only then; a warning explains it). |
source | string | Source Upstream data source (storefront). |
fetchedAt | string | Fetched at ISO timestamp. |
error | object | Error { code, message, provider?, status? } when status is not ok. Actor codes: invalid_input, unsupported_platform, store_password_protected, blocked, collection_not_found. Upstream codes: http_error (see status), timeout, network, dns_not_found, blocked_url, too_large, invalid_json, unexpected_type, invalid_response. Codes set by the runtime: budget_exhausted, free_plan_limit, unmetered, aborted, charge_failed, record_too_large, invalid_record, dataset_push_failed. |
warnings | array | Warnings Notes about this record, e.g. a free-plan cap, the budget, or a collection that was not found. |