https://api.nexscope.ai/woocommerce/productCollectionDataRun this API
Send a JSON request to execute this API and receive the documented response payload.
Endpoint
| Method | POST |
| Path | https://api.nexscope.ai/woocommerce/productCollectionData |
| Auth | Bearer API key |
| Content-Type | application/json |
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
storeUrl | string | required | Public HTTPS store root or WordPress installation path. Example: https://example.com |
keyword | string | optional | Search within this store; at most 200 characters. Example: shirt |
categoryId | string | optional | Restrict to a public product category. Example: 16 |
calculatePriceRange | boolean | optional | Calculate this aggregate; default true. Unsupported store fields may be null. Example: true |
calculateRatingCounts | boolean | optional | Calculate this aggregate; default true. Unsupported store fields may be null. Example: true |
calculateStockStatusCounts | boolean | optional | Calculate this aggregate; default true. Unsupported store fields may be null. Example: true |
attributeTaxonomies | array | optional | Attribute taxonomies to count, using OR semantics, for example pa_color. Default empty. Example: [
"pa_color"
] |
taxonomies | array | optional | Public taxonomies to count; default empty. Store support varies. Example: [
"product_cat"
] |
Response example
Platform response envelope. code 0 indicates success or acceptance; data contains the business result.
{
"code": 0,
"cost": "-1",
"data": {
"cacheHit": false,
"collection": {
"attributeCounts": [
{
"count": 1,
"termId": "16"
}
],
"priceRange": {
"currency": "USD",
"maxPrice": "10.00",
"maxPriceMinor": "1000",
"minPrice": "10.00",
"minPriceMinor": "1000",
"minorUnit": 2
},
"ratingCounts": [
{
"count": 1,
"rating": 5
}
],
"stockStatusCounts": [
{
"count": 1,
"status": "instock"
}
],
"taxonomyCounts": [
{
"count": 1,
"termId": "16"
}
]
},
"fetchedAt": "1792972800000",
"storeUrl": "https://example.com"
},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}Response fields
| Name | Type | Required | Description |
|---|---|---|---|
code | integer | required | 0 means accepted or successful; nonzero is a platform error. |
cost | string | required | Elapsed milliseconds, never credits; -1 outside web requests. |
data | any | required | Data value used by this API operation. |
msg | string | null | required | Msg value used by this API operation. |
time | string | required | Server local time: yyyy-MM-dd HH:mm:ss. |
traceId | string | null | required | Trace id value used by this API operation. |
ts | string | required | Epoch milliseconds. |
Any of option 1 — requires storeUrl, fetchedAt, cacheHit, collection
| Name | Type | Required | Description |
|---|---|---|---|
data | object | required | Data value used by this API operation. |
data.cacheHit | boolean | required | Whether the response was served from the anonymous 60-second cache. Example: false |
data.collection | object | required | Normalized public data. Missing optional values are null or empty strings. Example: {} |
data.collection.attributeCounts | any | optional | Attribute counts value used by this API operation. |
data.collection.priceRange | any | optional | Price range value used by this API operation. |
data.collection.ratingCounts | any | optional | Rating counts value used by this API operation. |
data.collection.stockStatusCounts | any | optional | Stock status counts value used by this API operation. |
data.collection.taxonomyCounts | any | optional | Taxonomy counts value used by this API operation. |
data.fetchedAt | string | required | Fetch time in epoch milliseconds; preserved on cache hits. Example: 1792972800000 |
data.storeUrl | string | required | Normalized store identity. Example: https://example.com |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.attributeCounts | array | optional | Null when disabled or unsupported by the store; empty array means no matches. Example: [] |
data.collection.attributeCounts[] | object | required | Item in data collection attributeCounts. |
data.collection.attributeCounts[].count | integer | required | Product count in this bucket. Example: 1 |
data.collection.attributeCounts[].termId | string | required | Public aggregate bucket. Example: 16 |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.attributeCounts | null | optional | Attribute counts value used by this API operation. |
Any of option 1 — requires currency, minorUnit, minPrice, maxPrice, minPriceMinor, maxPriceMinor
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.priceRange | object | optional | Null when disabled or unavailable; exact decimal strings. Example: {} |
data.collection.priceRange.currency | string | required | Currency code. Example: USD |
data.collection.priceRange.maxPrice | string | required | Exact amount; Minor suffix denotes original smallest-unit value. Example: 10.00 |
data.collection.priceRange.maxPriceMinor | string | required | Exact amount; Minor suffix denotes original smallest-unit value. Example: 1000 |
data.collection.priceRange.minPrice | string | required | Exact amount; Minor suffix denotes original smallest-unit value. Example: 10.00 |
data.collection.priceRange.minPriceMinor | string | required | Exact amount; Minor suffix denotes original smallest-unit value. Example: 1000 |
data.collection.priceRange.minorUnit | integer | required | Currency decimal precision. Example: 2 |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.priceRange | null | optional | Price range value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.ratingCounts | array | optional | Null when disabled or unsupported by the store; empty array means no matches. Example: [] |
data.collection.ratingCounts[] | object | required | Item in data collection ratingCounts. |
data.collection.ratingCounts[].count | integer | required | Product count in this bucket. Example: 1 |
data.collection.ratingCounts[].rating | integer | required | Public aggregate bucket. Example: 5 |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.ratingCounts | null | optional | Rating counts value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.stockStatusCounts | array | optional | Null when disabled or unsupported by the store; empty array means no matches. Example: [] |
data.collection.stockStatusCounts[] | object | required | Item in data collection stockStatusCounts. |
data.collection.stockStatusCounts[].count | integer | required | Product count in this bucket. Example: 1 |
data.collection.stockStatusCounts[].status | string | required | Public aggregate bucket. Example: instock |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.stockStatusCounts | null | optional | Stock status counts value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.taxonomyCounts | array | optional | Null when disabled or unsupported by the store; empty array means no matches. Example: [] |
data.collection.taxonomyCounts[] | object | required | Item in data collection taxonomyCounts. |
data.collection.taxonomyCounts[].count | integer | required | Product count in this bucket. Example: 1 |
data.collection.taxonomyCounts[].termId | string | required | Public aggregate bucket. Example: 16 |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.taxonomyCounts | null | optional | Taxonomy counts value used by this API operation. |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data | null | required | Data value used by this API operation. |
Responses
| Code | Description |
|---|---|
| 200 | Default HTTP response for both success and many business errors. Only outer JSON code 0 indicates success or asynchronous acceptance; inspect data for the result. |
| 429 | Execution admission rate limit; honor Retry-After when present. |
| 503 | Execution admission is temporarily unavailable; honor Retry-After when present. |
| Opt-in | X-Nexscope-Http-Status: semantic maps controller-handled business errors to HTTP status on run and task routes. Pre-authentication failures, such as a missing API key (code 11209), may still return HTTP 200 before this mapping. Always check the outer JSON code; malformed requests and infrastructure failures may also return non-200 HTTP responses. |
Data source, freshness, and limitations
Source, freshness, coverage, rate limits, and estimation notes are not specified in this API definition unless they appear in the request or response field documentation above. Do not assume official marketplace data or real-time freshness when it is not explicitly documented.