best moisturizing eye cream, para ver cuáles de estos productos muestra cada motor a un comprador.
Con una consulta sabrás, por ejemplo:
- Si ChatGPT, Google AI Overviews, AI Mode o Copilot muestran el producto cuando se les pregunta por él.
- De qué comercios y registros de catálogo lo muestra cada motor, a qué precio, con qué valoración y cuántas reseñas.
- Qué leyó sobre el producto el modelo que responde en ChatGPT.
- Cómo queda el producto frente a sus competidores en cada motor.
- Cuáles de estos productos muestra cada motor ante una búsqueda de compra.
Enviar una consulta
lookup.ides tuidempotencyKey, o un UUID que elige el servidor si no envías ninguno. Con él lees la consulta.- Cada entrada de
asks[]tiene surole(product,competitoroprompt), el texto preguntado enpromptoquery, y sutask. Una pregunta rechazada tienesuccess: falsey unerroren lugar detask. Consulta Errores. credits.creditsToChargesuma los precios de las preguntas que devuelve la API, retenidos de tu saldo hasta que termina cada pregunta.creditsChargedes lo que ya se les ha cobrado.
GET /v1/product-lookup/{id} hasta que lookup.status sea COMPLETED. Esta consulta tardó unos dos minutos; una consulta termina cuando responde su motor más lento. Con webhook.url, recibes la tarea de cada pregunta cuando termina, con la clave de la pregunta en task.idempotencyKey, que empieza por el id de la consulta. Ningún webhook cubre la consulta entera, así que lee la consulta en cada entrega y comprueba lookup.status. Los esquemas están en la referencia de la API: Product Lookup y Obtener un Product Lookup.
Campos de la solicitud
Motores y preguntas
El producto y cada competidor reciben las mismas preguntas:
“Si lo pides” significa que a ese motor solo se le pregunta cuando lo incluyes en
engines. Sin engines, una consulta en US pregunta a ChatGPT, AI Overviews, AI Mode y Copilot, es decir, 5 preguntas por producto. Una consulta en KR pregunta a Naver AI Tab, ChatGPT y AI Mode, 4 preguntas por producto. Un prompt de compra se pregunta una vez a cada motor: 4 preguntas con los motores por defecto de US y 3 con los de KR. La consulta de arriba hizo 3 × 5 + 2 × 4 = 23 preguntas.
A ChatGPT se le hacen dos preguntas porque una sola muestra un registro del producto en aproximadamente la mitad de los productos, y la misma pregunta repetida suele dar con otra mitad. Los demás motores por defecto son los que mostraron productos en una prueba con 50 productos el 2026-10-20:
La fila de ChatGPT sale de 12 productos de
US y 10 de KR, consultados dos veces cada uno. Gemini no mostró ningún registro de producto en 115 preguntas entre los dos mercados.
Leer la consulta
lookup: qué se preguntó, sustatusy loscreditscobrados hasta ahora.summaryyengines[]: las respuestas sobre el producto, en conjunto y motor por motor.competitors[]: los mismossummaryyengines[]para cada competidor.comparison[]: el producto y sus competidores lado a lado, motor por motor.prompts[]: lo que respondió cada motor a cada prompt de compra.
lookup.status es QUEUED hasta que empieza alguna pregunta y PROCESSING mientras quede alguna sin terminar. Pasa a COMPLETED cuando todas las preguntas han terminado y al menos una se completó, y a FAILED cuando fallaron todas. Las entradas se van llenando a medida que terminan las preguntas, así que puedes leer una consulta antes de que se complete.
Aquí están lookup, summary y engines[] de la consulta de arriba, recortados a dos de los cuatro motores y a unas pocas entradas por lista:
variant, y puso el gel para el contorno de ojos de la marca en otherListings.
summary
engines[]
Una entrada por cada motor consultado:
Campos de una oferta
Una oferta es el registro del producto de un comercio, tal como lo tiene el motor. Solo trae los campos que da el motor.source indica de qué catálogo viene una oferta:
Tarjetas de widget de ChatGPT
ChatGPT suele responder a una búsqueda de compra con tarjetas; cada una indica una tienda y un precio que leyó en la página de la tienda, sin registro de catálogo detrás. Una consulta lee cada tarjeta como una ofertachatgpt_widget, después de los registros de la respuesta, y la cuenta para found.
merchantes la tienda que indica la tarjeta, o el dominio de su enlace de compra.descriptiones la línea de descripción de la tarjeta.- Una tarjeta no tiene
rating,reviewCount,available,idsnimodelSees. Con un rango de precios como$40–$62,pricequeda fuera. - No se lee una tarjeta que no tenga ni enlace de compra ni línea de vendedor.
- Se descarta una tarjeta con la misma tienda y el mismo precio que un registro o una tarjeta anterior del producto. Dos tiendas son la misma cuando sus nombres o sus sitios enlazados coinciden, o uno empieza por el otro, como Ulta, Ulta Beauty y ulta.com.
source sea chatgpt_widget.
Comparar con competidores
Una pregunta sobre un producto rara vez muestra el producto de otra marca; en la prueba con 50 productos no ocurrió ni una vez. Por eso eres tú quien indica los competidores, y cada uno recibe las preguntas del producto. Cada entrada decompetitors[] tiene el product, el summary y los engines[] del competidor, y se lee igual que la del producto.
comparison[] alinea el producto y sus competidores, con una fila por producto y una entrada por motor. De la consulta de arriba, recortada a Copilot, más ChatGPT para el producto:
Los tres productos se encontraron en los cuatro motores. En Copilot, la oferta con más reseñas del producto tiene 2.942 reseñas, frente a 85.773 y 117.193 de los dos competidores. En las ocho respuestas a prompts de compra, CeraVe Eye Repair Cream apareció en cinco, y el producto y Clinique All About Eyes en dos cada uno.
Prompts de compra
Cada entrada deprompts[] tiene el prompt y una entrada por motor en engines[]:
La respuesta a un prompt de compra muestra productos de muchas marcas, así que un registro solo cuenta como uno de los productos de la consulta cuando contiene la marca, es decir, la primera palabra del nombre del producto. Un nombre en el texto cuenta igual que un monitor GEO cuenta una mención de marca, con el nombre completo del producto como término.
De la consulta de arriba, AI Overviews y Copilot respondiendo a
best moisturizing eye cream, con las ofertas recortadas a los productos de la consulta:
Clinique All About Eyes Rich, cuenta como el producto correspondiente.
Volver a enviar una consulta
Cada pregunta tiene su propia clave, formada a partir del id de la consulta:- Las preguntas del producto:
<id>:<engine>:<ask>, comoeye-bomb-us:CHATGPT:buy. Las preguntas de ChatGPT sonbuyyprice, y la de los demás motores esname. - Las preguntas del enésimo competidor añaden
:c<n>, comoeye-bomb-us:CHATGPT:buy:c1. - Las preguntas del enésimo prompt:
<id>:<engine>:p<n>, comoeye-bomb-us:AIMODE:p1.
idempotencyKey, la API devuelve las preguntas que ya existen y añade solo las que faltan, y solo se te cobran las que añade. Úsalo para terminar una consulta cuyas preguntas se rechazaron por falta de créditos o por concurrencia, o para añadir un competidor o un prompt al final de su lista. Un competidor o un prompt que omitas sigue en la consulta.
Un reenvío que cambia el producto o el país, o que pone un competidor o un prompt distinto en una posición que ya tiene uno, devuelve 409 RESOURCE_ALREADY_EXISTS y no escribe nada. Un reenvío devuelve tal cual una pregunta que falló. Para que los motores respondan de nuevo, envía la consulta con un idempotencyKey nuevo.
Precio
Una consulta cuesta 10 créditos por producto, el producto y cada competidor, y 5 créditos por prompt de compra, sean cuales sean los motores a los que preguntes.- La consulta de arriba cuesta 3 × 10 + 2 × 5 = 40 créditos. La consulta más grande, un producto con 5 competidores y 3 prompts, cuesta 75 créditos.
- Los créditos de un producto o de un prompt se reparten entre sus preguntas. Con los motores por defecto de
US, una pregunta de producto cuesta 2 créditos y una de prompt 1,25. Con los deKR, una pregunta de producto cuesta 2,5 créditos y las tres preguntas de un prompt cuestan 1,67, 1,67 y 1,66. Preguntar a menos motores no baja el precio: solo con ChatGPT, cada una de las dos preguntas de un producto cuesta 5 créditos. - Cada pregunta se retiene al enviarla y se cobra cuando se completa, como cualquier tarea. Una pregunta que falla no se cobra.
- A precio de plan, un producto cuesta $0,025 en Basic y $0,010 en Max.
Cómo leer bien los resultados
- Una consulta es una instantánea. Cada motor responde a una o dos preguntas. Antes de actuar por una sola diferencia, vuelve a lanzar la consulta con un
idempotencyKeynuevo. - Los registros mantienen sus valores; lo que cambia es la selección. En cuatro ejecuciones de una misma consulta, el mismo registro de un comercio mantuvo su precio, su valoración y su número de reseñas en 307 de 316 valores. Lo que cambia de una ejecución a otra es qué registros muestra una respuesta, así que
found(sobre todo en ChatGPT), los comercios,mostReviewed,priceRangey losshownynamedde los prompts pueden variar. - Unos minutos de diferencia cambian tanto como unas horas. Las respuestas de ChatGPT, AI Mode y Copilot variaron lo mismo con tres minutos de diferencia que con once horas. AI Overviews puede devolver la misma respuesta si se le pregunta de nuevo a los pocos segundos, así que repetir enseguida no da una muestra nueva.
- Los totales son más estables que las respuestas sueltas. En las cuatro ejecuciones, las respuestas a los prompts de compra cambiaron una a una, pero los productos que aparecieron en más respuestas encabezaron todas las ejecuciones. Para seguir prompts a lo largo del tiempo, usa un monitor GEO.
found: falsedescribe estas respuestas. Significa que las preguntas de esta ejecución no mostraron el producto. No significa que el catálogo del motor no lo tenga.- La coincidencia se basa en nombres. Ningún motor devuelve un GTIN. Un producto con otro nombre o traducido puede acabar en
otherListings, y una versión que su nombre no distingue puede contar como el producto. Revisamatchcuando una oferta no encaje.
Límites
- La entrada es el nombre de un producto. No se admiten URLs de páginas de producto ni GTIN.
- Los mercados son
USyKR. - Una consulta admite hasta 5 competidores y 3 prompts de compra. Con los motores por defecto de
US, la consulta más grande hace 42 preguntas. - Los competidores son los que tú indicas. Una consulta no los busca por ti; los prompts de compra muestran qué productos pone un motor delante de los compradores.
- Se leen los registros y las tarjetas de widget de ChatGPT, pero no las tiendas ni los precios que escribe en el texto o en las tablas de la respuesta.
- Cada respuesta aporta como máximo 60 ofertas y 20 páginas citadas.
- Una consulta se puede leer mientras se puedan leer las tareas de sus preguntas, hasta 24 horas después de que se completen. Consulta Tareas asíncronas.
Errores
Rechazos al enviar
Preguntas rechazadas
Cada pregunta se admite como una tarea individual, así que puede rechazarse por tu saldo (402 INSUFFICIENT_CREDITS), por la concurrencia de tu plan (429 PLAN_CONCURRENCY_LIMIT), por el límite diario de créditos de una clave (429 KEY_DAILY_CREDIT_LIMIT) o por una clave limitada a otros motores. Una pregunta rechazada queda en asks[] con success: false y su error, y las demás preguntas siguen adelante.
Las preguntas se admiten de una en una: la primera pregunta de cada motor sobre cada producto, y cada prompt, van antes que cualquier segunda pregunta. Así, cuando tu plan solo tiene sitio para algunas preguntas, las admitidas cubren tantos motores y productos como pueden. Si no se admite ninguna de las primeras preguntas del producto, no se pregunta nada más, y la respuesta de la API es el primer rechazo con su estado, como 402 INSUFFICIENT_CREDITS. Con las 2 tareas simultáneas del plan Free, una consulta en US admite las primeras preguntas del producto a ChatGPT y a AI Overviews; vuelve a enviarla cuando terminen para añadir el resto. La consulta más grande en US, de 42 preguntas, cabe en las 50 tareas simultáneas de Basic cuando no hay nada más en cola.
Los errores de autenticación son los mismos que en cualquier solicitud. Consulta Errores.
Preguntas fallidas y lecturas
- Una pregunta que falla tiene
status: "FAILED"y unerrorenvia[], y no se cobra. Un motor en el que fallaron todas las preguntas tienestatus: "FAILED"yfound: null, y aparece ensummary.failed. GET /v1/product-lookup/{id}devuelve404 RESOURCE_NOT_FOUNDpara un id sin consulta en tu cuenta, incluida una consulta cuyas tareas ya pasaron el plazo de lectura.
Próximos pasos
Monitores GEO
Sigue prompts de compra en los motores de IA de forma programada.
Prompt Research
Encuentra las preguntas de compra que la gente hace sobre una categoría.