Retrieves detailed product information for a given product URL, including product metadata, available dimensions, and variant-level details such as pricing, availability, images, and attributes.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Retrieve full product details for any URL across CartAI's merchant network — including Shopify stores and major retailers. Returns product metadata, available variant dimensions, and per-variant pricing, availability, images, and attributes in a single call.
When to Use This Endpoint
Use /product/details when you already have a product URL and need structured data about it — variants, stock status, and prices — without scraping the page yourself.
| Use case | Recommended approach |
|---|---|
| Display variant selector UI | Use dimensions to build pickers; use variants[] to populate options |
| Check stock before showing "Add to Cart" | Filter variants[] where available: true |
| Confirm price before checkout | Read price from the matching variant |
Found a product via /product/search | Pass directUrl from search results as url here to get variant-level detail |
Pass a specific variant into POST /checkout | Match user-selected attributes to a variantId, then use the variant's url |
Authentication
Every request must include your API key in the request header.
x-api-key: YOUR_API_KEY_HERE- Never embed your API key in client-side code. Always call this endpoint from your backend.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
url | string | ✅ Yes | The product page URL on the merchant's site. |
allVariants | boolean | ❌ No | When true, returns every available variant. When false or omitted, returns a default subset. |
Example Request
curl --location 'https://api.cartai.ai/product/details' \
--header 'Content-Type: application/json' \
--header 'x-api-key: <your-api-key>' \
--data '{
"url": "https://www.natori.com/products/feathers-plunge-t-shirt-bra-black",
"allVariants": true
}'Response Schema
A successful 200 response returns a JSON object with the following structure.
Top-level fields
| Field | Type | Description |
|---|---|---|
status | string | "success" when the product was found. |
message | string | Human-readable result summary (e.g. "Product found"). |
data | object | Contains all product details. See data below. |
data
data| Field | Type | Description |
|---|---|---|
product | object | Core product metadata. See product below. |
commissionUrl | string (URI) | Affiliate-tracked version of the product URL, if applicable. Falls back to directUrl. |
directUrl | string (URI) | Canonical product URL on the merchant's site. |
dimensions | array of strings | The variant axes for this product (e.g. ["Color", "Band", "Cup"]). Used to label attributes in each variant. |
variants | array of objects | All variants for this product. See variants[] below. |
product
product| Field | Type | Description |
|---|---|---|
name | string | Product name as listed by the merchant. |
brand | string | Brand name. |
retailer | string | Merchant or store name. |
image | string (URI) | URL of the primary product image. |
url | string (URI) | Product page URL. |
variants[]
variants[]Each object in variants represents a single purchasable combination of attributes.
| Field | Type | Description |
|---|---|---|
variantId | string | Unique identifier for this variant on the merchant's platform. |
price | number | Price for this specific variant. |
available | boolean | true if the variant is in stock and can be purchased. false if out of stock. |
image | string (URI) | Image URL for this variant. May differ from the base product image when colors vary. |
attributes | object | Key-value map of dimension name to selected value (e.g. { "Color": "Black", "Band": "32", "Cup": "C" }). Keys match the entries in dimensions. |
url | string (URI) | Product page URL for this variant. |
commissionUrl | string (URI) | Affiliate-tracked URL for this variant, if applicable. |
Example Response
{
"status": "success",
"message": "Product found",
"data": {
"product": {
"name": "Feathers Plunge T-Shirt Bra",
"brand": "NATORI",
"retailer": "Natori",
"image": "//cdn.shopify.com/s/files/1/0859/9853/4942/files/2787276_source_1711606471.jpg?v=1730239729",
"url": "https://www.natori.com/products/feathers-plunge-t-shirt-bra-black"
},
"commissionUrl": "https://www.natori.com/products/feathers-plunge-t-shirt-bra-black",
"directUrl": "https://www.natori.com/products/feathers-plunge-t-shirt-bra-black",
"dimensions": ["Color", "Band", "Cup"],
"variants": [
{
"variantId": "49175047242014",
"price": 72.0,
"available": true,
"image": "//cdn.shopify.com/s/files/1/0859/9853/4942/files/2787276_source_1711606471.jpg?v=1730239729",
"attributes": {
"Color": "Black",
"Band": "30",
"Cup": "A"
},
"url": "https://www.natori.com/products/feathers-plunge-t-shirt-bra-black",
"commissionUrl": "https://www.natori.com/products/feathers-plunge-t-shirt-bra-black"
},
{
"variantId": "49175047373086",
"price": 72.0,
"available": false,
"image": "//cdn.shopify.com/s/files/1/0859/9853/4942/files/2787276_source_1711606471.jpg?v=1730239729",
"attributes": {
"Color": "Black",
"Band": "30",
"Cup": "DD"
},
"url": "https://www.natori.com/products/feathers-plunge-t-shirt-bra-black",
"commissionUrl": "https://www.natori.com/products/feathers-plunge-t-shirt-bra-black"
}
]
}
}Notes
- Filter
variants[]byavailable: truebefore presenting options to users — out-of-stock variants are included in the response so you can display them as disabled rather than hidden. dimensionsdefines the order and naming of keys in each variant'sattributesobject. Use it to dynamically render variant pickers without hardcoding dimension names.- Pass a variant's
url(not the top-leveldirectUrl) intoPOST /checkoutwhen you want to target a specific variant for purchase.
400Bad Request