Questa pagina è disponibile solo in inglese.
List and search products
GET /rest/v1/products
Stable ordering, newest first (sort: updated_at default or created_at; id tiebreak). Use updated_after for incremental sync crawls. All filters combine (AND). Typical searches: products not on a channel (channel_account_id + listing_status=none), listings in error, sold-out products (quantity_max=0), products that haven't sold for 30 days (not_sold_since), products missing images (issue=missing_images).
Required scope: products:read.
Authorization
apiKey Authorization: Bearer nbl_live_... (or nbl_test_... for test mode). Test-mode writes are validated and simulated but never persisted and never touch channels; simulated results are marked simulated.
In: header
Query Parameters
1 <= value <= 10025Free text over title, description, tags, brand, categories, SKUs and barcodes (whole words).
length <= 200Without it, archived products (deleted or merged) are left out of the list and of every search, sku included. status=archived lists only them. An archived product is still readable by id.
Value in
- "ready"
- "listed"
- "archived"
- "sold_out"
- "error"
- "ongoing"
- "to_verify"
Exact match on any variant SKU. Archived (deleted or merged) products don't match unless status=archived.
Exact match on any variant barcode (GTIN/UPC/EAN).
Products on this channel account (any status but delisted). Combine with listing_status.
listed, ongoing, error, delisted, imported, or none (not on that account or, without channel_account_id, on no channel at all).
Value in
- "listed"
- "ongoing"
- "error"
- "delisted"
- "imported"
- "none"
At least one variant priced ≥ this (inclusive).
Total stock across variants ≥ this (inclusive).
Catalog issues, comma-separated (all must apply): missing_sku, missing_barcode, invalid_barcode, missing_title, missing_description, missing_price, missing_tags, missing_images. Counts: GET /catalog/diagnostics.
Products with at least one sale (canceled/refunded excluded) since this time.
date-timeProducts with no sale since this time (includes never sold).
date-timeUp to 100 comma-separated product ids.
date-timedate-timedate-timedate-time"updated_at"Value in
- "updated_at"
- "created_at"
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/products"{ "object": "list", "has_more": true, "next_cursor": "string", "data": [ { "id": "prod_66a1f09b2", "object": "product", "title": "Vintage denim jacket", "description": "string", "brand": "string", "category": "string", "short_description": "string", "vat_rate": 0, "mpn": "string", "weight": { "value": "string", "unit": "oz" }, "dimensions": { "length": "string", "width": "string", "height": "string", "unit": "in" }, "tags": [ "string" ], "currency": "string", "status": "ready", "requires_attention": { "reason": "string", "message": "string", "channel": "string", "conflicting_product_ids": [ "string" ], "detected_at": "2019-08-24T14:15:22Z" }, "merged_into": "string", "sync_status": "ok", "images": [ { "id": "img_ph1x8", "object": "image", "url": "http://example.com", "alt": "string", "position": 0 } ], "variants": [ { "id": "var_66a1f1", "object": "variant", "sku": "VDJ-M-001", "title": "string", "price": "19.90", "msrp": "24.90", "quantity": 0, "barcode": "string", "grams": 0, "asin": "string", "images": [ { "image_id": "img_66a1f2", "url": "http://example.com", "position": 0 } ], "options": { "property1": "string", "property2": "string" } } ], "listings": [ { "id": "list_9ac2e", "channel_account_id": "string", "channel": "string", "status": "listed", "url_on_channel": "http://example.com", "overrides": { "title": "string", "description": "string" } } ], "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" } ]}Ultimo aggiornamento il 18 ottobre 2026