Zum Hauptinhalt springen
Mit Product Lookup sehen Sie ein Produkt so, wie KI-Shopping-Engines es Käufern zeigen. Senden Sie einen Produktnamen und einen Markt, und querying.ai fragt jede Engine danach. Für jede Engine erfahren Sie, ob die Antwort das Produkt zeigte, welche Händlerangebote sie zeigte (Händler, Katalog, Preis, Verfügbarkeit, Bewertung und Anzahl der Rezensionen) und welche Seiten sie zitiert. Fügen Sie bis zu fünf Wettbewerbsprodukte hinzu, um sie Engine für Engine zu vergleichen, und bis zu drei Shopping-Prompts wie best moisturizing eye cream, um zu sehen, welche dieser Produkte jede Engine einem Käufer zeigt. Eine Abfrage zeigt Ihnen zum Beispiel:
  • ob ChatGPT, Google AI Overviews, AI Mode oder Copilot das Produkt zeigen, wenn man sie danach fragt,
  • über welche Händler und Katalogeinträge jede Engine es zeigt, zu welchem Preis, mit welcher Bewertung und wie vielen Rezensionen,
  • was das antwortende Modell von ChatGPT über das Produkt gelesen hat,
  • wie das Produkt auf jeder Engine im Vergleich zu seinen Wettbewerbsprodukten abschneidet,
  • welche dieser Produkte jede Engine bei einer Kauffrage zeigt.

Abfrage senden

Die Abfrage wird in Fragen aufgeteilt: Jede Frage geht an eine Engine und betrifft ein Produkt oder einen Prompt. Jede Frage wird als gewöhnlicher Task eingereiht, und die API-Antwort listet sie auf. Hier ist sie auf drei der 23 Fragen gekürzt:
  • lookup.id ist Ihr idempotencyKey oder eine UUID, die der Server wählt, wenn Sie keinen senden. Damit lesen Sie die Abfrage.
  • Jedes Element von asks[] hat seine role (product, competitor oder prompt), den gefragten Text in prompt oder query und seinen task. Eine abgelehnte Frage hat statt task die Felder success: false und error. Siehe Fehler.
  • credits.creditsToCharge summiert die Preise der zurückgegebenen Fragen, die bis zum Ende jeder Frage auf Ihrem Guthaben reserviert sind. creditsCharged ist, was davon bereits abgebucht wurde.
Lesen Sie die Abfrage mit GET /v1/product-lookup/{id}, bis lookup.status den Wert COMPLETED hat. Diese Abfrage dauerte etwa zwei Minuten; eine Abfrage endet, wenn ihre langsamste Engine antwortet. Mit webhook.url wird Ihnen der Task jeder Frage zugestellt, sobald er endet, mit dem Schlüssel der Frage in task.idempotencyKey, der mit der ID der Abfrage beginnt. Kein Webhook deckt die ganze Abfrage ab. Lesen Sie die Abfrage deshalb bei jeder Zustellung und prüfen Sie lookup.status. Die Schemas stehen in der API-Referenz: Product Lookup und Product Lookup abrufen.

Anfragefelder

Engines und Fragen

Das Produkt und jedes Wettbewerbsprodukt bekommen dieselben Fragen: „Auf Wunsch“ bedeutet, dass die Engine nur gefragt wird, wenn Sie sie in engines angeben. Ohne engines fragt eine US-Abfrage ChatGPT, AI Overviews, AI Mode und Copilot, also 5 Fragen pro Produkt. Eine KR-Abfrage fragt Naver AI Tab, ChatGPT und AI Mode, also 4 Fragen pro Produkt. Ein Shopping-Prompt wird jeder Engine einmal gestellt: 4 Fragen mit den Standard-Engines für US und 3 mit denen für KR. Die Abfrage oben stellte 3 × 5 + 2 × 4 = 23 Fragen. ChatGPT bekommt zwei Fragen, weil eine Frage nur bei etwa der Hälfte der Produkte einen Produkteintrag zeigt und dieselbe Frage bei Wiederholung oft eine andere Hälfte trifft. Die übrigen Standard-Engines sind die, die in einem Test mit 50 Produkten am 2026-10-20 Produkte zeigten: Die ChatGPT-Zeile stammt von 12 US- und 10 KR-Produkten, die je zweimal abgefragt wurden. Gemini zeigte in 115 Fragen in beiden Märkten keinen einzigen Produkteintrag.

Abfrage lesen

Das Ergebnis hat fünf Teile:
  • lookup: was gefragt wurde, ihr status und die bisher abgebuchten credits.
  • summary und engines[]: die Antworten zum Produkt, über alle Engines und pro Engine.
  • competitors[]: dieselben summary und engines[] für jedes Wettbewerbsprodukt.
  • comparison[]: das Produkt und seine Wettbewerbsprodukte nebeneinander, Engine für Engine.
  • prompts[]: was jede Engine auf jeden Shopping-Prompt antwortete.
lookup.status ist QUEUED, bis eine Frage startet, und PROCESSING, solange noch eine Frage läuft. Der Status wird COMPLETED, sobald alle Fragen beendet sind und mindestens eine abgeschlossen wurde, und FAILED, wenn alle fehlschlugen. Die Elemente füllen sich, während Fragen enden, sodass Sie eine Abfrage schon vor dem Abschluss lesen können. Hier sind lookup, summary und engines[] der Abfrage oben, gekürzt auf zwei der vier Engines und wenige Elemente pro Liste:
Alle vier Engines zeigten das Produkt. ChatGPT zeigte einen Eintrag aus dem Produktfeed von Ulta Beauty, und sein antwortendes Modell las dazu eine Bewertung von 4,5 aus 105 Rezensionen. ChatGPT schrieb außerdem Widget-Karten für drei Shops, darunter Amazon. AI Mode zeigte das Angebot eines Händlers und eine als variant markierte Stick-Version und ordnete das Augengel der Marke unter otherListings ein.

summary

engines[]

Ein Element pro gefragter Engine:

Felder eines Angebots

Ein Angebot ist der Eintrag eines Händlers zu dem Produkt, so wie die Engine ihn führt. Es enthält nur die Felder, die die Engine liefert. source zeigt, aus welchem Katalog ein Angebot stammt:

Widget-Karten von ChatGPT

ChatGPT beantwortet eine Kauffrage oft mit Karten, die jeweils einen Shop und einen Preis nennen, den es auf der Seite des Shops gelesen hat, ohne Katalogeintrag dahinter. Product Lookup liest jede Karte als chatgpt_widget-Angebot nach den Einträgen der Antwort und zählt sie für found.
  • merchant ist der Shop, den die Karte nennt, oder die Domain ihres Kauflinks. description ist die Beschreibungszeile der Karte.
  • Eine Karte hat kein rating, reviewCount, available, ids oder modelSees. Bei einer Preisspanne wie $40–$62 fehlt price.
  • Eine Karte ohne Kauflink und ohne Verkäuferzeile wird nicht gelesen.
  • Eine Karte mit demselben Shop und Preis wie ein Eintrag oder eine frühere Karte des Produkts entfällt. Shops gelten als gleich, wenn ihre Namen oder verlinkten Websites übereinstimmen oder einer mit dem anderen beginnt, wie bei Ulta, Ulta Beauty und ulta.com.
Um nur Katalogeinträge zu lesen, lassen Sie die Angebote weg, deren source chatgpt_widget ist.

Mit Wettbewerbsprodukten vergleichen

Eine Frage zu einem Produkt zeigt selten das Produkt einer anderen Marke; im Test mit 50 Produkten kam das kein einziges Mal vor. Deshalb nennen Sie die Wettbewerbsprodukte selbst, und jedes bekommt die Fragen des Produkts. Jedes Element von competitors[] hat product, summary und engines[] des Wettbewerbsprodukts und wird gelesen wie beim Produkt. comparison[] stellt das Produkt und seine Wettbewerbsprodukte gegenüber, mit einer Zeile pro Produkt und einem Element pro Engine. Aus der Abfrage oben, gekürzt auf Copilot, beim Produkt zusätzlich ChatGPT:
Alle drei Produkte wurden auf allen vier Engines gefunden. Bei Copilot hat das Angebot des Produkts mit den meisten Rezensionen 2.942 davon, gegenüber 85.773 und 117.193 bei den beiden Wettbewerbsprodukten. In den acht Antworten auf Shopping-Prompts erschien CeraVe Eye Repair Cream in fünf, das Produkt und Clinique All About Eyes in je zwei.

Shopping-Prompts

Jedes Element von prompts[] hat den prompt und ein Element pro Engine in engines[]: Die Antwort auf einen Shopping-Prompt zeigt Produkte vieler Marken. Ein Eintrag zählt deshalb nur dann als eines der Produkte der Abfrage, wenn er die Marke enthält, also das erste Wort des Produktnamens. Ein Name im Text zählt so, wie ein GEO-Monitor eine Markennennung zählt, mit dem vollen Produktnamen als Suchbegriff. Aus der Abfrage oben die Antworten von AI Overviews und Copilot auf best moisturizing eye cream, die Angebote gekürzt auf die Produkte der Abfrage:
AI Overviews nannte das Produkt im Text, zeigte aber nur Einträge der beiden Wettbewerbsprodukte. Copilot zeigte das Produkt bei drei Händlern. Der Abgleich beruht auf Namen, daher zählt eine Version, deren Name ein Wort ergänzt, etwa Clinique All About Eyes Rich, als das jeweilige Produkt.

Abfrage erneut senden

Jede Frage hat einen eigenen Schlüssel, gebildet aus der ID der Abfrage:
  • Die Fragen des Produkts: <id>:<engine>:<ask>, etwa eye-bomb-us:CHATGPT:buy. Die Fragen von ChatGPT sind buy und price, die der anderen Engines name.
  • Die Fragen des n-ten Wettbewerbsprodukts hängen :c<n> an, etwa eye-bomb-us:CHATGPT:buy:c1.
  • Die Fragen des n-ten Prompts: <id>:<engine>:p<n>, etwa eye-bomb-us:AIMODE:p1.
Wenn Sie eine Abfrage mit demselben idempotencyKey erneut senden, liefert die API die vorhandenen Fragen und ergänzt nur die fehlenden. Berechnet werden nur die ergänzten Fragen. So schließen Sie eine Abfrage ab, deren Fragen wegen fehlender Credits oder der Parallelitätsgrenze abgelehnt wurden, oder fügen ein Wettbewerbsprodukt oder einen Prompt am Ende der Liste hinzu. Ein Wettbewerbsprodukt oder Prompt, den Sie weglassen, bleibt in der Abfrage. Ein erneutes Senden, das das Produkt oder das Land ändert oder an eine bereits belegte Position ein anderes Wettbewerbsprodukt oder einen anderen Prompt setzt, liefert 409 RESOURCE_ALREADY_EXISTS und schreibt nichts. Fehlgeschlagene Fragen gibt ein erneutes Senden unverändert zurück. Für neue Antworten der Engines senden Sie die Abfrage unter einem neuen idempotencyKey.

Preis

Eine Abfrage kostet 10 Credits pro Produkt, also für das Produkt und jedes Wettbewerbsprodukt, und 5 Credits pro Shopping-Prompt, gleich welche Engines gefragt werden.
  • Die Abfrage oben kostet 3 × 10 + 2 × 5 = 40 Credits. Die größte Abfrage, ein Produkt mit 5 Wettbewerbsprodukten und 3 Prompts, kostet 75 Credits.
  • Die Credits eines Produkts oder Prompts verteilen sich auf seine Fragen. Mit den Standard-Engines für US kostet eine Produktfrage 2 Credits und eine Prompt-Frage 1,25. Mit denen für KR kostet eine Produktfrage 2,5 Credits, und die drei Fragen eines Prompts kosten 1,67, 1,67 und 1,66. Weniger Engines senken den Preis nicht: Nur mit ChatGPT kostet jede der beiden Fragen eines Produkts 5 Credits.
  • Jede Frage wird beim Einreichen reserviert und bei Abschluss abgebucht, wie jeder Task. Eine fehlgeschlagene Frage wird nicht berechnet.
  • Zu Tarifpreisen kostet ein Produkt $0,025 bei Basic und $0,010 bei Max.
Mehr zu Reservierungen und Tarifen unter Credits und Limits.

Ergebnisse richtig lesen

  • Eine Abfrage ist eine Momentaufnahme. Jede Engine beantwortet eine oder zwei Fragen. Bevor Sie auf einen einzelnen Unterschied reagieren, führen Sie die Abfrage unter einem neuen idempotencyKey erneut aus.
  • Einträge behalten ihre Werte, die Auswahl wechselt. In vier Läufen derselben Abfrage behielt derselbe Händlereintrag Preis, Bewertung und Rezensionszahl in 307 von 316 Werten. Von Lauf zu Lauf ändert sich, welche Einträge eine Antwort zeigt. Daher können found (am häufigsten bei ChatGPT), die Händler, mostReviewed, priceRange sowie shown und named der Prompts abweichen.
  • Minuten Abstand ändern so viel wie Stunden. Die Antworten von ChatGPT, AI Mode und Copilot unterschieden sich mit drei Minuten Abstand so stark wie mit elf Stunden. AI Overviews kann auf eine erneute Frage nach wenigen Sekunden dieselbe Antwort liefern, daher ist eine schnelle Wiederholung dort keine neue Stichprobe.
  • Summen sind stabiler als einzelne Antworten. Über die vier Läufe änderten sich einzelne Antworten auf Shopping-Prompts, doch die Produkte, die in den meisten Antworten erschienen, lagen in jedem Lauf vorn. Um Prompts über längere Zeit zu verfolgen, nutzen Sie einen GEO-Monitor.
  • found: false beschreibt diese Antworten. Es bedeutet, dass die Fragen dieses Laufs das Produkt nicht zeigten. Es bedeutet nicht, dass der Katalog der Engine es nicht führt.
  • Der Abgleich beruht auf Namen. Keine Engine liefert eine GTIN. Ein umbenanntes oder übersetztes Produkt kann in otherListings landen, und eine Version, die sich im Namen nicht unterscheidet, kann als das Produkt zählen. Prüfen Sie match, wenn ein Angebot nicht zu passen scheint.

Grenzen

  • Die Eingabe ist ein Produktname. Produktseiten-URLs und GTINs werden nicht unterstützt.
  • Die Märkte sind US und KR.
  • Eine Abfrage nimmt bis zu 5 Wettbewerbsprodukte und 3 Shopping-Prompts an. Mit den Standard-Engines für US stellt die größte Abfrage 42 Fragen.
  • Die Wettbewerbsprodukte sind die, die Sie nennen. Eine Abfrage findet sie nicht für Sie; Shopping-Prompts zeigen, welche Produkte eine Engine Käufern vorlegt.
  • Gelesen werden die Einträge und Widget-Karten von ChatGPT. Shops und Preise, die ChatGPT in den Text oder in Tabellen der Antwort schreibt, werden nicht gelesen.
  • Jede Antwort steuert höchstens 60 Angebote und 20 zitierte Seiten bei.
  • Eine Abfrage ist lesbar, solange die Tasks ihrer Fragen lesbar sind, also bis 24 Stunden nach ihrem Abschluss. Siehe Asynchrone Tasks.

Fehler

Beim Einreichen abgelehnt

Abgelehnte Fragen

Jede Frage wird wie ein einzelner Task zugelassen. Sie kann daher wegen Ihres Guthabens (402 INSUFFICIENT_CREDITS), der Parallelität Ihres Tarifs (429 PLAN_CONCURRENCY_LIMIT), des täglichen Credit-Limits eines Schlüssels (429 KEY_DAILY_CREDIT_LIMIT) oder eines auf andere Engines beschränkten Schlüssels abgelehnt werden. Eine abgelehnte Frage bleibt mit success: false und ihrem error in asks[], und die übrigen Fragen laufen weiter. Fragen werden einzeln zugelassen: die erste Frage jeder Engine zu jedem Produkt und jeder Prompt vor jeder zweiten Frage. Hat Ihr Tarif nur für einen Teil der Fragen Platz, decken die zugelassenen deshalb so viele Engines und Produkte ab wie möglich. Wird keine der ersten Fragen des Produkts zugelassen, wird nichts weiter gefragt, und die API-Antwort ist die erste Ablehnung mit ihrem Status, etwa 402 INSUFFICIENT_CREDITS. Mit den 2 gleichzeitigen Tasks des Free-Tarifs lässt eine US-Abfrage die ersten Fragen des Produkts an ChatGPT und AI Overviews zu; senden Sie sie erneut, wenn diese beendet sind, um den Rest hinzuzufügen. Die größte US-Abfrage mit 42 Fragen passt in die 50 gleichzeitigen Tasks von Basic, wenn sonst nichts in der Warteschlange ist. Authentifizierungsfehler sind dieselben wie bei jeder Anfrage. Siehe Fehler.

Fehlgeschlagene Fragen und Lesezugriffe

  • Eine fehlgeschlagene Frage hat status: "FAILED" und einen error in via[] und wird nicht berechnet. Eine Engine, deren Fragen alle fehlschlugen, hat status: "FAILED" und found: null und steht in summary.failed.
  • GET /v1/product-lookup/{id} liefert 404 RESOURCE_NOT_FOUND für eine ID ohne Abfrage in Ihrem Konto, auch für eine Abfrage, deren Tasks das Lesefenster überschritten haben.

Nächste Schritte

GEO-Monitore

Verfolgen Sie Shopping-Prompts nach Zeitplan über KI-Engines hinweg.

Prompt Research

Finden Sie die Kauffragen, die Menschen zu einer Kategorie stellen.