List products or find products by ID or SKU
product_id and sku cannot be combined. The default is active products only.
Permission
An OAuth access token with this scope. How to get a token
products:readRead products.
Parameters
Not sure what to enter? Here’s where to find IDs.
client_idquery · stringrequiredThe Client ID of your OAuth client. It’s public, and goes on every request alongside your access token. Find it in QuoteCloud under Settings → API dashboard → Manage Integrations → OAuth Clients.Length at least 1.
product_idquery · stringReturn only this product. Use the
id from an earlier response.skuquery · stringReturn only products with this SKU.
activequery · stringWhich products to return. Leave this out for active products only, or use
all for both.One of active, inactive, true, false, all. cursorquery · string or nullWhere the next page starts. Leave this out for the first page, then send
meta.nextCursor from the previous response.limitquery · integerHow many results to return per page, up to 100.Default
50. Value 1 to 100. Responses
200Product page.
dataarray of objectrequiredItem fields
idstringrequirednamestringrequiredskustringrequiredlineItemNamestringrequireddescriptionNotesstringrequiredpricenumberrequiredcostnumber or nullrequireddefaultQtynumberrequiredtermnumberrequiredtermBasedPricingbooleanstatusbooleanrequiredfolderNamestringpaginationobjectrequiredFields
continueCursorstring or nullrequiredisDonebooleanrequired400Invalid request or validation failure.
dataobjectrequiredFields
statusstringrequiredAlways
error. messagestringrequiredcodestringdocumentRefstringassetGenerationIdstringerrorsarray of objectItem fields
fieldstringrequiredmessagestringrequired401Missing or invalid bearer token or client ID.
errorstringrequirederror_descriptionstring403Insufficient scope, missing add-on, usage limit, or permission denial.
Exactly one of these:
OAuthError
errorstringrequirederror_descriptionstringApiErrorEnvelope
dataobjectrequiredFields
statusstringrequiredAlways
error. messagestringrequiredcodestringdocumentRefstringassetGenerationIdstringerrorsarray of objectItem fields
fieldstringrequiredmessagestringrequiredRate limit
120 requests a minute per company, shared across REST, Zapier and MCP. On a 429, wait for Retry-After.