https://api.nexscope.ai/woocommerce/productsRun 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/products |
| 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, without query or fragment. Example: https://example.com |
keyword | string | optional | Search only within this store; at most 200 characters. Example: shirt |
pageNum | integer | optional | Page number, default 1. Example: 1 |
pageSize | integer | optional | Page size, default 20, maximum 100. Example: 20 |
Response example
Platform response envelope. code 0 indicates success or acceptance; data contains the business result.
{
"code": 0,
"cost": "-1",
"data": {
"cacheHit": false,
"fetchedAt": "1792972800000",
"hasMore": false,
"pageNum": 1,
"pageSize": 20,
"products": [
{
"description": "Cotton shirt.",
"id": "34",
"images": [
{
"alt": "Shirt",
"url": "https://example.com/image.jpg"
}
],
"isInStock": true,
"isPasswordProtected": false,
"name": "Cotton Shirt",
"prices": {
"currency": "USD",
"minorUnit": 2,
"price": "11.05"
},
"shortDescription": "Cotton shirt.",
"sku": "SHIRT-34",
"type": "simple",
"url": "https://example.com/product/shirt",
"variation": ""
}
],
"storeUrl": "https://example.com",
"total": 1,
"totalPages": 1
},
"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, products, pageNum, pageSize
| 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.fetchedAt | string | required | Fetch time in epoch milliseconds, not the product modification time. Example: 1792972800000 |
data.hasMore | any | optional | Has more value used by this API operation. |
data.pageNum | integer | required | Pagination metadata; totals are null when the store omits headers. Example: 1 |
data.pageSize | integer | required | Pagination metadata; totals are null when the store omits headers. Example: 20 |
data.products | array | required | Normalized public products. Example: [] |
data.products[] | object | required | Item in data products. |
data.products[].description | any | optional | Description value used by this API operation. |
data.products[].id | any | optional | Id value used by this API operation. |
data.products[].images | array | required | Public image URLs; images are not fetched by this API. Example: [] |
data.products[].images[] | object | required | Item in data products[] images. |
data.products[].images[].alt | string | required | Plain text alternative label. Example: Shirt |
data.products[].images[].url | string | required | Image URL. Example: https://example.com/image.jpg |
data.products[].isInStock | any | optional | Is in stock value used by this API operation. |
data.products[].isPasswordProtected | any | optional | Is password protected value used by this API operation. |
data.products[].name | any | optional | Name value used by this API operation. |
data.products[].parentId | any | optional | Parent id value used by this API operation. |
data.products[].prices | object | required | Anonymous store pricing; decimal values are strings for exact precision. Example: {} |
data.products[].prices.currency | string | required | Currency code. Example: USD |
data.products[].prices.maxPrice | any | optional | Max price value used by this API operation. |
data.products[].prices.maxPriceMinor | any | optional | Max price minor value used by this API operation. |
data.products[].prices.minPrice | any | optional | Min price value used by this API operation. |
data.products[].prices.minPriceMinor | any | optional | Min price minor value used by this API operation. |
data.products[].prices.minorUnit | integer | required | Currency decimal precision. Example: 2 |
data.products[].prices.price | any | optional | Price value used by this API operation. |
data.products[].prices.priceMinor | any | optional | Price minor value used by this API operation. |
data.products[].prices.regularPrice | any | optional | Regular price value used by this API operation. |
data.products[].prices.regularPriceMinor | any | optional | Regular price minor value used by this API operation. |
data.products[].prices.salePrice | any | optional | Sale price value used by this API operation. |
data.products[].prices.salePriceMinor | any | optional | Sale price minor value used by this API operation. |
data.products[].shortDescription | any | optional | Short description value used by this API operation. |
data.products[].sku | any | optional | Sku value used by this API operation. |
data.products[].stockQuantity | any | optional | Stock quantity value used by this API operation. |
data.products[].type | any | optional | Type value used by this API operation. |
data.products[].url | any | optional | Url value used by this API operation. |
data.products[].variation | any | optional | Variation value used by this API operation. |
data.storeUrl | string | required | Normalized store identity. Example: https://example.com |
data.total | any | optional | Total value used by this API operation. |
data.totalPages | any | optional | Total pages value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.hasMore | boolean | optional | Null when total pages are unavailable. Example: false |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.hasMore | null | optional | Has more value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].description | string | optional | Plain text or public product identifier. Example: Cotton shirt. |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].description | null | optional | Description value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].id | string | optional | Plain text or public product identifier. Example: 34 |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].id | null | optional | Id value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].isInStock | boolean | optional | Store value, null when unavailable. Example: true |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].isInStock | null | optional | Is in stock value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].isPasswordProtected | boolean | optional | Store value, null when unavailable. Example: false |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].isPasswordProtected | null | optional | Is password protected value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].name | string | optional | Plain text or public product identifier. Example: Cotton Shirt |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].name | null | optional | Name value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].parentId | string | optional | Store value; null when unavailable. Example: null |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].parentId | null | optional | Parent id value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.maxPrice | string | optional | Exact amount string; null when unavailable. Minor suffix denotes original smallest-unit amount. Example: null |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.maxPrice | null | optional | Max price value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.maxPriceMinor | string | optional | Exact amount string; null when unavailable. Minor suffix denotes original smallest-unit amount. Example: null |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.maxPriceMinor | null | optional | Max price minor value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.minPrice | string | optional | Exact amount string; null when unavailable. Minor suffix denotes original smallest-unit amount. Example: null |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.minPrice | null | optional | Min price value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.minPriceMinor | string | optional | Exact amount string; null when unavailable. Minor suffix denotes original smallest-unit amount. Example: null |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.minPriceMinor | null | optional | Min price minor value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.price | string | optional | Exact amount string; null when unavailable. Minor suffix denotes original smallest-unit amount. Example: 11.05 |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.price | null | optional | Price value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.priceMinor | string | optional | Exact amount string; null when unavailable. Minor suffix denotes original smallest-unit amount. Example: null |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.priceMinor | null | optional | Price minor value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.regularPrice | string | optional | Exact amount string; null when unavailable. Minor suffix denotes original smallest-unit amount. Example: null |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.regularPrice | null | optional | Regular price value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.regularPriceMinor | string | optional | Exact amount string; null when unavailable. Minor suffix denotes original smallest-unit amount. Example: null |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.regularPriceMinor | null | optional | Regular price minor value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.salePrice | string | optional | Exact amount string; null when unavailable. Minor suffix denotes original smallest-unit amount. Example: null |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.salePrice | null | optional | Sale price value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.salePriceMinor | string | optional | Exact amount string; null when unavailable. Minor suffix denotes original smallest-unit amount. Example: null |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].prices.salePriceMinor | null | optional | Sale price minor value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].shortDescription | string | optional | Plain text or public product identifier. Example: Cotton shirt. |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].shortDescription | null | optional | Short description value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].sku | string | optional | Plain text or public product identifier. Example: SHIRT-34 |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].sku | null | optional | Sku value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].stockQuantity | integer | optional | Always null: public Store API does not expose exact inventory. Example: null |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].stockQuantity | null | optional | Stock quantity value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].type | string | optional | Store value; null when unavailable. Example: simple |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].type | null | optional | Type value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].url | string | optional | Plain text or public product identifier. Example: https://example.com/product/shirt |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].url | null | optional | Url value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].variation | string | optional | Plain text or public product identifier. Example: |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.products[].variation | null | optional | Variation value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.total | integer | optional | Pagination metadata; totals are null when the store omits headers. Example: 1 |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.total | null | optional | Total value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.totalPages | integer | optional | Pagination metadata; totals are null when the store omits headers. Example: 1 |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.totalPages | null | optional | Total pages 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.