> ## Documentation Index
> Fetch the complete documentation index at: https://docs.querying.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Commerce Product API (COMMERCE_PRODUCT)

> Lee una página de producto de Amazon, Walmart, Target, Sephora, Ulta, Olive Young, 11st, Musinsa, Kurly, Rakuten, Flipkart, Zalando y más, y obtén su precio, stock, vendedor, valoración, imágenes, especificaciones y opciones en un mismo formato.

Lee una página de producto de una tienda y recibe el producto como JSON mediante la API de tareas asíncronas. Pasa la `url` de la página; la URL elige la tienda y todas las tiendas devuelven los mismos campos. Cada lectura completada cuesta **3 créditos**.

## Solicitud

```bash theme={"theme":"css-variables"}
curl -X POST https://api.querying.ai/v1/async/task \
  -H "Authorization: Bearer $QUERYING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "taskType": "COMMERCE_PRODUCT", "payload": { "url": "https://www.amazon.com/dp/B00TTD9BRC" } }'
```

Envía la tarea y luego consulta `GET /v1/async/task/{id}` o recibe su webhook. Consulta [Tareas asíncronas](https://docs.querying.ai/es/concepts/async-tasks.md).

## Parámetros

* `url`: Obligatorio. Una página de producto de una de las tiendas siguientes, de hasta 2.048 caracteres. Las `url` de producto que devuelve [Commerce Search](https://docs.querying.ai/es/engines/commerce-serp.md) para estas tiendas sirven tal cual, salvo las páginas de LOHACO de Yahoo! Shopping (`lohaco.yahoo.co.jp`). Los parámetros que no afectan al resultado, como los códigos de seguimiento, se quitan antes de leer la página.
* `country`: Opcional. Por defecto, el país de la tienda. Cualquier otro país se rechaza con `422 REGION_UNSUPPORTED`.

| `site` | Página de producto | `country` |
| - | - | - |
| `amazon` | `amazon.com/dp/{ASIN}` | `US` |
| `walmart` | `walmart.com/ip/{name}/{id}` | `US` |
| `target` | `target.com/p/{name}/-/A-{TCIN}` | `US` |
| `sephora` | `sephora.com/product/{name}-P{id}` | `US` |
| `ulta` | `ulta.com/p/{name}-{id}` | `US` |
| `11st` | `11st.co.kr/products/{id}` | `KR` |
| `lotteon` | `lotteon.com/p/product/{id}` | `KR` |
| `musinsa` | `musinsa.com/products/{id}` | `KR` |
| `kurly` | `kurly.com/goods/{id}` | `KR` |
| `oliveyoung` | `oliveyoung.co.kr/store/goods/getGoodsDetail.do?goodsNo={id}` | `KR` |
| `rakuten` | `item.rakuten.co.jp/{shop}/{item}/` | `JP` |
| `yahoo_shopping` | `store.shopping.yahoo.co.jp/{store}/{item}.html` | `JP` |
| `qoo10` | `qoo10.jp/g/{id}` | `JP` |
| `flipkart` | `flipkart.com/{name}/p/{itm}?pid={pid}` | `IN` |
| `myntra` | `myntra.com/{category}/{brand}/{name}/{id}/buy` | `IN` |
| `nykaa` | `nykaa.com/{name}/p/{id}` | `IN` |
| `zalando` | `zalando.de/{name}-{sku}.html` | `DE` |
| `google_shopping` | `google.com/search?q={query}&udm=28#product={productId}&title={title}` | `US` |

También sirven otras direcciones de la misma página, como `/gp/product/{ASIN}` en Amazon o las páginas móviles de 11st.

## Ejemplo de respuesta

```json theme={"theme":"css-variables"}
{
  "site": "amazon",
  "country": "US",
  "url": "https://www.amazon.com/dp/B00TTD9BRC",
  "productId": "B00TTD9BRC",
  "title": "CeraVe Moisturizing Cream, Face & Body Moisturizer for Dry Skin, 19oz",
  "brand": "CeraVe",
  "price": 16.77,
  "listPrice": 18.96,
  "currency": "USD",
  "inStock": true,
  "seller": "Amazon.com",
  "rating": 4.7,
  "reviewCount": 149149,
  "images": ["https://m.media-amazon.com/images/I/61EidjXUBrL._SL1000_.jpg"],
  "description": "[ HYALURONIC ACID MOISTURIZER ] With hyaluronic acid, ceramides and MVE technology for 24 hour hydration.",
  "descriptionImages": ["https://m.media-amazon.com/images/S/aplus-media-library-service-media/8c56d081-e316-4b57-9731-fcf4eda0821f.__CR0,0,1464,600_PT0_SX1464_V1___.jpg"],
  "specs": [
    { "name": "Item Form", "value": "Cream" },
    { "name": "Skin Type", "value": "All, Dry, Sensitive" }
  ],
  "options": [{ "name": "Size", "values": ["8 Ounce", "16 Ounce (Pack of 1)", "19 Ounce (Pack of 1)"] }],
  "categories": ["Beauty & Personal Care", "Skin Care", "Face", "Creams & Moisturizers", "Face Moisturizers"]
}
```

## Campos del resultado

* `site`, `country`, `url` y `productId` identifican la página. `url` es la página leída. `productId` es el ID de producto propio de la tienda, como el ASIN en Amazon o `shop:item` en Rakuten, y coincide con el que devuelve Commerce Search. La excepción es un producto de Nykaa con tonos o tamaños: Commerce Search devuelve el ID de una de las opciones y esta lectura devuelve el ID de la página del producto.
* `title` siempre está presente. Los demás campos aparecen cuando la página los muestra; la tabla siguiente indica qué tiendas devuelven cada uno.
* `price` es lo que paga un comprador por el producto tal como la página lo muestra al abrirse, antes de cupones y envío, en `currency` (ISO 4217). `listPrice` es el precio habitual que la página tacha y aparece cuando supera a `price`. `inStock` indica si ese producto está en stock y `seller` es quien lo vende.
* `rating` usa una escala de cinco puntos con dos decimales. `reviewCount` es el número de reseñas.
* `images` lista hasta 30 fotos de la galería del producto en el orden de la página. 11st y Lotte ON devuelven solo la foto principal, Sephora hasta dos, y en Rakuten y Yahoo! Shopping también llegan los banners o avisos que el vendedor pone en esa galería. `description` es texto plano con una línea por párrafo, de hasta 10.000 caracteres; no incluye el texto que solo aparece dentro de imágenes.
* `descriptionImages` lista hasta 300 imágenes de la descripción del producto, como la página de detalle del vendedor o el contenido A+ de Amazon, en el orden de la página. También llegan los banners y avisos que el vendedor pone en su descripción, y el texto dentro de las imágenes no se lee.
* `specs` lista hasta 100 pares `{ name, value }` de los detalles del producto. `options` lista hasta 20 opciones, como talla o color, cada una con hasta 100 `values`; los demás campos describen la opción con la que se abre la página. `categories` va de la categoría más amplia a la más concreta, con hasta 10 niveles. `gtin` es el UPC, EAN o JAN que indica la página.
* `google_shopping` lee un producto que devolvió [Commerce Search](https://docs.querying.ai/es/engines/commerce-serp.md): su `url` lleva la consulta, el ID de producto de Google y el título del producto. La lectura vuelve a buscar esa consulta en Google Shopping, o el título si Google ya no muestra el producto para la consulta, y abre el panel del producto, así que tarda más que la página de una tienda. `offers` lista las tiendas que Google muestra para el producto, empezando por la que Google marca como mejor precio, cada una con `seller`, `title` (el nombre del producto en la tienda), `url` (la página del producto en la tienda), `price`, `listPrice`, `currency` e `inStock`. `price`, `listPrice`, `seller` e `inStock` del producto son los de la primera tienda. `reviewCount` aparece solo cuando Google muestra el número exacto (menos de 1.000). Si Google no muestra el producto en ninguna de las dos búsquedas, la tarea termina con `PAGE_UNAVAILABLE`.
* Una página que la tienda responde con 404 o 410, como un producto retirado, termina la tarea con `PAGE_UNAVAILABLE`, y el mensaje incluye la respuesta de la tienda. Las demás lecturas fallidas terminan con `ENGINE_NO_RESULT`. Se factura cada lectura completada.

| Campo | Tiendas que lo devuelven |
| - | - |
| `title`, `price`, `currency`, `images` | Todas |
| `brand` | Todas salvo Rakuten |
| `inStock` | Todas salvo Target y Sephora |
| `rating` | Todas salvo Lotte ON, Kurly y Zalando |
| `reviewCount` | Todas salvo Lotte ON y Zalando |
| `categories` | Todas salvo Sephora, Qoo10, Flipkart y Google Shopping |
| `description` | Todas salvo 11st y Qoo10. Lotte ON, Musinsa y Olive Young muestran casi toda la descripción en imágenes, así que pocas de sus páginas la tienen. Flipkart y Zalando devuelven el resumen breve que publican para los buscadores. |
| `descriptionImages` | Amazon, Ulta, 11st, Lotte ON, Musinsa, Kurly, Olive Young, Rakuten, Yahoo! Shopping y Qoo10 |
| `specs` | Amazon, Walmart, Target, Ulta, Lotte ON, Musinsa, Kurly, Myntra, Nykaa y Google Shopping |
| `options` | Amazon, Walmart, Ulta, Musinsa, Kurly, Olive Young, Rakuten, Myntra, Nykaa y Zalando |
| `seller` | Amazon, Walmart, Lotte ON, Kurly, Rakuten, Myntra, Nykaa y Google Shopping |
| `listPrice` | Amazon, Walmart, Target, Sephora, Musinsa, Kurly, Olive Young, Qoo10, Myntra, Nykaa y Google Shopping |
| `offers` | Google Shopping |
| `gtin` | Amazon, Walmart, Target, Ulta, Olive Young, Rakuten y Yahoo! Shopping |

## Relacionado

* [Commerce Search](https://docs.querying.ai/es/engines/commerce-serp.md)
* [Resumen de motores](https://docs.querying.ai/es/engines/overview.md)
* [Créditos y límites](https://docs.querying.ai/es/concepts/credits-and-limits.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.