> ## 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.

# Product Lookup: sehen, wie KI-Shopping-Engines ein Produkt zeigen

> Fragen Sie ChatGPT, Google AI Overviews, AI Mode, Copilot und Naver AI Tab nach einem Produkt und sehen Sie pro Engine, ob die Antwort es zeigte, welche Händlerangebote sie nutzte und welche Seiten sie zitierte.

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

```bash theme={"theme":"css-variables"}
curl -X POST https://api.querying.ai/v1/product-lookup \
  -H "Authorization: Bearer $QUERYING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "product": "belif Moisturizing Eye Bomb",
    "country": "US",
    "competitors": ["Clinique All About Eyes", "CeraVe Eye Repair Cream"],
    "prompts": ["best eye cream for puffiness", "best moisturizing eye cream"],
    "idempotencyKey": "eye-bomb-us"
  }'
```

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:

```json theme={"theme":"css-variables"}
{
  "success": true,
  "lookup": {
    "id": "eye-bomb-us",
    "product": "belif Moisturizing Eye Bomb",
    "competitors": ["Clinique All About Eyes", "CeraVe Eye Repair Cream"],
    "prompts": ["best eye cream for puffiness", "best moisturizing eye cream"],
    "country": "US",
    "engines": ["CHATGPT", "GOOGLE", "AIMODE", "BING_COPILOT"]
  },
  "summary": { "total": 23, "succeeded": 23, "failed": 0 },
  "credits": { "creditsToCharge": 40, "creditsCharged": 0 },
  "asks": [
    {
      "engine": "CHATGPT",
      "taskType": "CHATGPT",
      "role": "product",
      "prompt": "Buy belif Moisturizing Eye Bomb",
      "success": true,
      "task": {
        "id": "56be57f3-d316-4727-8bd3-ab065fed2ec1",
        "taskType": "CHATGPT",
        "status": "QUEUED",
        "priority": 1,
        "createdAt": "2026-10-20T09:22:43.422Z",
        "idempotencyKey": "eye-bomb-us:CHATGPT:buy"
      }
    },
    {
      "engine": "CHATGPT",
      "taskType": "CHATGPT",
      "role": "competitor",
      "prompt": "Buy Clinique All About Eyes",
      "success": true,
      "task": {
        "id": "35f300a4-7603-4ad0-97ba-82eb6a07eed9",
        "taskType": "CHATGPT",
        "status": "QUEUED",
        "priority": 1,
        "createdAt": "2026-10-20T09:22:43.637Z",
        "idempotencyKey": "eye-bomb-us:CHATGPT:buy:c1"
      }
    },
    {
      "engine": "AIMODE",
      "taskType": "AIMODE",
      "role": "prompt",
      "query": "best eye cream for puffiness",
      "success": true,
      "task": {
        "id": "bff41168-d081-4bce-a873-9609baafbaa5",
        "taskType": "AIMODE",
        "status": "QUEUED",
        "priority": 1,
        "createdAt": "2026-10-20T09:22:44.149Z",
        "idempotencyKey": "eye-bomb-us:AIMODE:p1"
      }
    }
  ]
}
```

* `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](#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](/de/api-reference/product-lookup.md) und [Product Lookup abrufen](/de/api-reference/get-product-lookup.md).

## Anfragefelder

| Feld | Pflicht | Beschreibung |
| - | - | - |
| `product` | Ja | Der Name des Produkts, wie Käufer ihn schreiben, 1–200 Zeichen, etwa `belif Moisturizing Eye Bomb`. Eine Produktseiten-URL oder eine GTIN liefert `400 VALIDATION_ERROR`. |
| `country` | Ja | `US` (USA) oder `KR` (Südkorea), unabhängig von Groß- und Kleinschreibung. Jeder andere Wert liefert `422 REGION_UNSUPPORTED`. |
| `competitors` | Nein | Bis zu 5 Namen anderer Produkte, mit den Regeln von `product`. Jedes bekommt dieselben Fragen wie das Produkt. Ein Name, der dem des Produkts entspricht oder doppelt vorkommt, liefert `400`. Namen, die sich nur in Groß- und Kleinschreibung, Satzzeichen oder Leerzeichen unterscheiden, gelten als gleich. |
| `prompts` | Nein | Bis zu 3 Shopping-Prompts mit je 1–300 Zeichen, etwa `best moisturizing eye cream`. Jeder wird jeder Engine einmal im Wortlaut gestellt. |
| `engines` | Nein | Die zu fragenden Engines: `CHATGPT`, `GOOGLE`, `AIMODE`, `BING_COPILOT`, `GEMINI` und nur in `KR` `NAVER_AI_TAB`. Standard sind die unten genannten Engines des Markts. |
| `idempotencyKey` | Nein | Benennt die Abfrage: 1–200 Zeichen ohne Leerzeichen am Anfang oder Ende. Siehe [Abfrage erneut senden](#abfrage-erneut-senden). |
| `priority` | Nein | Ganzzahl `1`–`10`, Standard `1`, gilt für jede Frage. Werte außerhalb des Bereichs werden auf die nächste Grenze gesetzt. Eine Ausführungsreihenfolge ist nicht garantiert. |
| `webhook.url` | Nein | Empfängt den Task jeder Frage, sobald er endet. Siehe [Webhooks](/de/concepts/webhooks.md). |

## Engines und Fragen

Das Produkt und jedes Wettbewerbsprodukt bekommen dieselben Fragen:

| Engine | `US` | `KR` |
| - | - | - |
| `CHATGPT` | `Buy {product}` und `Find the best price for {product}` | `{product} 구매` und `{product} 최저가` |
| `GOOGLE` (AI Overviews) | Der Produktname | Der Produktname, auf Wunsch |
| `AIMODE` (AI Mode) | Der Produktname | Der Produktname |
| `BING_COPILOT` (Copilot) | Der Produktname | Der Produktname, auf Wunsch |
| `NAVER_AI_TAB` (Naver AI Tab) | Nicht verfügbar | Der Produktname |
| `GEMINI` | Der Produktname, auf Wunsch | Der Produktname, auf Wunsch |

„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:

| Engine | `US` | `KR` |
| - | - | - |
| ChatGPT, beide Fragen, mit Widget-Karten | 24 von 24 Abfragen | 20 von 20 Abfragen |
| Copilot | 25 von 25 | 0 von 25 |
| Google AI Overviews | 23 von 25 | 1 von 25 |
| Google AI Mode | 23 von 25 | 13 von 25 |
| Naver AI Tab | – | 25 von 25 |

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

```bash theme={"theme":"css-variables"}
curl https://api.querying.ai/v1/product-lookup/eye-bomb-us \
  -H "Authorization: Bearer $QUERYING_API_KEY"
```

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:

```json theme={"theme":"css-variables"}
{
  "success": true,
  "lookup": {
    "id": "eye-bomb-us",
    "product": "belif Moisturizing Eye Bomb",
    "competitors": ["Clinique All About Eyes", "CeraVe Eye Repair Cream"],
    "prompts": ["best eye cream for puffiness", "best moisturizing eye cream"],
    "country": "US",
    "status": "COMPLETED",
    "createdAt": "2026-10-20T09:22:43.422Z",
    "completedAt": "2026-10-20T09:24:36.695Z",
    "credits": 40
  },
  "summary": {
    "foundIn": ["CHATGPT", "GOOGLE", "AIMODE", "BING_COPILOT"],
    "notFoundIn": [],
    "pending": [],
    "failed": [],
    "merchants": [
      {
        "merchant": "Ulta Beauty",
        "engines": ["CHATGPT", "BING_COPILOT"],
        "price": { "currency": "USD", "min": 48, "max": 48 }
      },
      {
        "merchant": "Amazon",
        "engines": ["CHATGPT"],
        "price": { "currency": "USD", "min": 43, "max": 43 }
      },
      {
        "merchant": "Comparor",
        "engines": ["BING_COPILOT"],
        "price": { "currency": "USD", "min": 35.82, "max": 45.9 }
      }
    ],
    "priceRange": { "currency": "USD", "min": 35.82, "max": 48 },
    "citedDomains": [
      { "domain": "ulta.com", "engines": ["CHATGPT", "GOOGLE", "AIMODE", "BING_COPILOT"] },
      { "domain": "lgbeauty.com", "engines": ["CHATGPT", "GOOGLE", "AIMODE"] }
    ],
    "credits": 10
  },
  "engines": [
    {
      "engine": "CHATGPT",
      "status": "COMPLETED",
      "found": true,
      "via": [
        {
          "taskType": "CHATGPT",
          "prompt": "Buy belif Moisturizing Eye Bomb",
          "taskId": "56be57f3-d316-4727-8bd3-ab065fed2ec1",
          "status": "COMPLETED",
          "completedAt": "2026-10-20T09:23:04.711Z",
          "credits": 2
        },
        {
          "taskType": "CHATGPT",
          "prompt": "Find the best price for belif Moisturizing Eye Bomb",
          "taskId": "c60ffa61-d399-4b15-8343-452dcc150fd3",
          "status": "COMPLETED",
          "completedAt": "2026-10-20T09:23:20.863Z",
          "credits": 2
        }
      ],
      "listings": [
        {
          "position": 1,
          "title": "belif Moisturizing Eye Bomb Eye Cream",
          "source": "merchant_feed",
          "merchant": "Ulta Beauty",
          "url": "https://www.ulta.com/p/moisturizing-eye-bomb-eye-cream-pimprod2043262?cmpid…",
          "price": { "value": 48, "currency": "USD", "raw": "$48.00" },
          "available": true,
          "brand": "belif",
          "modelSees": {
            "title": "belif Moisturizing Eye Bomb Eye Cream",
            "description": "belif's Moisturizing Eye Bomb Eye Cream is a lightweight cream that floods the eye area wi…",
            "rating": 4.5,
            "reviewCount": 105,
            "brand": "belif"
          },
          "ids": { "chatgptProductId": "2619879", "feedId": "oai-shopping-id:v1:feed:…" },
          "ask": 1,
          "match": { "score": 1 }
        },
        {
          "position": 1,
          "title": "Amazon",
          "source": "chatgpt_widget",
          "merchant": "Amazon",
          "url": "https://www.amazon.com/s?k=belif+Moisturizing+Eye+Bomb",
          "price": { "value": 43, "currency": "USD", "raw": "$43.00" },
          "description": "Reported sale price · $5 below retail · A recent October 2026 deal report lists this price.",
          "pictured": "belif Moisturizing Eye Bomb 25ml blue jar white lid",
          "ask": 2,
          "match": { "score": 1 }
        }
      ],
      "otherListings": [],
      "citedPages": [
        {
          "url": "https://lgbeauty.com/products/moisturizing-eye-bomb?selectedVariant=47584416432448",
          "domain": "lgbeauty.com",
          "title": "Moisturizing Eye Bomb",
          "ask": 1
        }
      ]
    },
    {
      "engine": "AIMODE",
      "status": "COMPLETED",
      "found": true,
      "via": [
        {
          "taskType": "AIMODE",
          "query": "belif Moisturizing Eye Bomb",
          "taskId": "74807193-762f-4689-a974-0dfb395ed0f9",
          "status": "COMPLETED",
          "completedAt": "2026-10-20T09:24:30.021Z",
          "credits": 2
        }
      ],
      "listings": [
        {
          "position": 1,
          "title": "belif Moisturizing Eye Bomb",
          "source": "google_shopping",
          "merchant": "Loja Glamourosa",
          "url": "https://www.google.com/search?ibp=oshop&prds=…",
          "price": { "value": 39.59, "currency": "USD", "raw": "$39.59" },
          "oldPrice": { "value": 53, "currency": "USD", "raw": "$53" },
          "rating": 4.7,
          "reviewCount": 1300,
          "ids": {
            "googleProductGroupId": "6991299462534820972",
            "googleCatalogId": "7562423970477224507",
            "googleProductDocId": "5915412989765911473"
          },
          "ask": 1,
          "match": { "score": 1 }
        },
        {
          "position": 2,
          "title": "belif Moisturizing Eye Bomb Stick",
          "source": "google_shopping",
          "merchant": "Oseila Beauty",
          "url": "https://www.google.com/search?ibp=oshop&prds=…",
          "price": { "value": 37.24, "currency": "USD", "raw": "$37.24" },
          "rating": 5,
          "reviewCount": 7,
          "ask": 1,
          "match": { "score": 1, "variant": ["stick"] }
        }
      ],
      "otherListings": [
        {
          "position": 3,
          "title": "belif Aqua Bomb Depuffing Eye Gel",
          "source": "google_shopping",
          "merchant": "Ulta Beauty",
          "price": { "value": 32, "currency": "USD", "raw": "$32.00" },
          "rating": 4.1,
          "reviewCount": 1400,
          "ask": 1,
          "match": { "score": 0.75, "missing": ["moisturizing"] }
        }
      ],
      "citedPages": [
        {
          "url": "https://www.sephora.com/product/belif-moisturizing-eye-bomb-with-peptide-ceramide-P510122",
          "domain": "sephora.com",
          "title": "Sephora",
          "ask": 1
        }
      ]
    }
  ]
}
```

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`

| Feld | Beschreibung |
| - | - |
| `foundIn`, `notFoundIn` | Engines, deren Antworten das Produkt zeigten, und Engines, deren Fragen endeten, ohne es zu zeigen. |
| `pending`, `failed` | Engines mit noch laufenden Fragen und Engines, deren Fragen alle fehlschlugen. |
| `merchants[]` | Jeder Händler der Angebote des Produkts, mit den `engines`, die ihn zeigten, und seiner Spanne der Stückpreise (`price`) dort; Händler auf den meisten Engines zuerst. |
| `priceRange` | Stückpreise über alle Engines in der Währung des Markts: USD für `US`, KRW für `KR`. Angebote einer anderen Packungsgröße oder Form (`match.variant`) zählen nicht mit. |
| `citedDomains[]` | Jede Website, die die Antworten zitieren, mit den `engines`, die sie zitieren; die von den meisten Engines zitierten zuerst. |
| `credits` | Für die Fragen des Produkts bisher abgebuchte Credits. `lookup.credits` umfasst die ganze Abfrage. |

### `engines[]`

Ein Element pro gefragter Engine:

| Feld | Beschreibung |
| - | - |
| `status` | Die Fragen der Engine zusammen: `QUEUED`, `PROCESSING`, `COMPLETED`, sobald alle beendet sind und eine abgeschlossen wurde, oder `FAILED`, wenn alle fehlschlugen. |
| `found` | `true`, wenn eine Antwort ein Angebot des Produkts zeigte, aus einem Katalogeintrag oder einer Widget-Karte von ChatGPT. `false`, wenn alle Fragen ohne ein solches Angebot endeten. `null`, solange Fragen laufen und noch nichts gefunden ist, und wenn alle Fragen fehlschlugen. |
| `via[]` | Die Fragen der Engine der Reihe nach, jeweils mit dem gefragten Text, `taskId`, `status` und `credits` sowie dem `error` einer fehlgeschlagenen Frage. |
| `listings[]` | Angebote, die als das Produkt oder als eine andere Packungsgröße oder Form davon gelten. Ein Angebot, das zwei Fragen zeigten, erscheint nur einmal. |
| `otherListings[]` | Andere Produkte, die die Antworten zeigten. Eine umbenannte oder übersetzte Version des Produkts kann hier landen. |
| `citedPages[]` | Die Seiten, die die Antworten zitieren, jeweils mit `url`, `domain` (der Host ohne `www.` oder `m.`), `title` und `ask`. Bei ChatGPT sind das die Quellen, die seine Antwort zitiert. |

### 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.

| Feld | Beschreibung |
| - | - |
| `position` | Reihenfolge in der Antwort, ab 1. |
| `ask` | Welche Frage der Engine es zeigte, ab 1, in der Reihenfolge von `via[]`. |
| `title` | Der Produktname im Eintrag. Auf einer Widget-Karte von ChatGPT die Überschrift der Karte, die auch der Name des Shops sein kann. |
| `merchant` | Wer es verkauft. |
| `source` | Woher das Angebot stammt. Siehe die nächste Tabelle. |
| `url` | Die Seite des Händlers, wenn die Engine sie verlinkt, sonst die eigene Produktseite der Engine. |
| `price`, `oldPrice` | `value`, `currency` und `raw` wie angezeigt. `currency` ist ein ISO-4217-Code, wenn das Symbol im Markt eindeutig ist. `oldPrice` ist der Preis vor einem Rabatt, den die Engine zeigt. |
| `available` | Ob es vorrätig ist. Nur ChatGPT. |
| `rating`, `reviewCount` | Bewertung und Anzahl der Rezensionen im Eintrag. |
| `modelSees` | Nur ChatGPT: was ChatGPT seinem antwortenden Modell über den Eintrag mitgab, nämlich `title`, `description`, `rating`, `reviewCount`, `brand` und `productPage`. Bewertung und Rezensionszahl eines Eintrags aus dem Produktfeed eines Händlers stehen nur hier. |
| `image`, `description`, `brand` | Wie die Engine sie zeigt. |
| `reviews` | `summary`, `pros` und `cons` der Rezensionen, die die Engine zeigt. |
| `ids` | Katalogkennungen, die die Einträge eines Produkts verbinden, etwa `chatgptProductId` und `feedId` bei ChatGPT, `googleCatalogId`, `googleProductGroupId` und `googleProductDocId` bei den Google-Engines, `bingProductId` und `bingGroupId` bei Copilot sowie `naverProductId` bei Naver AI Tab. Keine Engine liefert eine GTIN. |
| `pictured` | Auf einer Widget-Karte von ChatGPT: was das Bild neben der Karte zeigt, so wie die Antwort danach gesucht hat. |
| `match` | Warum das Angebot als das Produkt gilt. `score` ist der Anteil der Wörter des Produktnamens, die im Angebot vorkommen, von 0 bis 1. `missing` listet die fehlenden Wörter, `variant` markiert eine andere Packungsgröße oder Form (Set, Mini, 1+1, Stick) und `accessory` ein Zubehörteil statt des Produkts, etwa einen Ersatzfilter. |

`source` zeigt, aus welchem Katalog ein Angebot stammt:

| `source` | Engine | Was es ist |
| - | - | - |
| `shopify` | ChatGPT | Der Eintrag eines Shopify-Shops im Produktkatalog von ChatGPT |
| `merchant_feed` | ChatGPT | Ein Eintrag aus dem Produktfeed, den ein Händler an ChatGPT liefert |
| `google_shopping` | ChatGPT, AI Overviews, AI Mode, Gemini | Ein Eintrag aus Google Shopping |
| `chatgpt_catalog` | ChatGPT | Ein Eintrag im Katalog von ChatGPT, der seine Herkunft nicht angibt |
| `chatgpt_widget` | ChatGPT | Ein Shop und ein Preis, die ChatGPT in eine Widget-Karte schrieb, ohne Eintrag dahinter |
| `microsoft_shopping` | Copilot | Ein Angebot aus Microsoft Shopping |
| `naver_shopping` | Naver AI Tab | Ein Angebot aus Naver Shopping |

### 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:

```json theme={"theme":"css-variables"}
{
  "comparison": [
    {
      "product": "belif Moisturizing Eye Bomb",
      "role": "product",
      "engines": [
        {
          "engine": "CHATGPT",
          "status": "COMPLETED",
          "found": true,
          "listings": 4,
          "merchants": 4,
          "mostReviewed": { "reviewCount": 105, "rating": 4.5, "merchant": "Ulta Beauty" },
          "priceRange": { "currency": "USD", "min": 43, "max": 48 },
          "prompts": { "answered": 2, "appeared": 0 }
        },
        {
          "engine": "BING_COPILOT",
          "status": "COMPLETED",
          "found": true,
          "listings": 6,
          "merchants": 5,
          "mostReviewed": { "reviewCount": 2942, "rating": 4.58, "merchant": "Comparor" },
          "priceRange": { "currency": "USD", "min": 35.82, "max": 48 },
          "prompts": { "answered": 2, "appeared": 1 }
        }
      ]
    },
    {
      "product": "Clinique All About Eyes",
      "role": "competitor",
      "engines": [
        {
          "engine": "BING_COPILOT",
          "status": "COMPLETED",
          "found": true,
          "listings": 4,
          "merchants": 3,
          "mostReviewed": { "reviewCount": 85773, "rating": 4.6, "merchant": "Walmart" },
          "priceRange": { "currency": "USD", "min": 38.05, "max": 72 },
          "prompts": { "answered": 2, "appeared": 0 }
        }
      ]
    },
    {
      "product": "CeraVe Eye Repair Cream",
      "role": "competitor",
      "engines": [
        {
          "engine": "BING_COPILOT",
          "status": "COMPLETED",
          "found": true,
          "listings": 6,
          "merchants": 6,
          "mostReviewed": { "reviewCount": 117193, "rating": 4.35, "merchant": "Pasteur Pharmacy" },
          "priceRange": { "currency": "USD", "min": 15.95, "max": 38.95 },
          "prompts": { "answered": 2, "appeared": 0 }
        }
      ]
    }
  ]
}
```

| Feld | Beschreibung |
| - | - |
| `role` | `product` oder `competitor`. |
| `found` | Wie in `engines[]`. |
| `listings` | Wie viele Angebote als das Produkt gelten, Widget-Karten von ChatGPT eingeschlossen. |
| `merchants` | Wie viele Händler unter diesen Angeboten sind. |
| `mostReviewed` | Das Angebot mit den meisten Rezensionen: sein `reviewCount`, `rating` und `merchant`. Bei ChatGPT die Zahl, die sein antwortendes Modell in `modelSees` erhielt. Copilot setzt die Rezensionszahl eines Produkts auf das Angebot jedes Händlers, daher ist `merchant` das erste Angebot, das sie trägt. |
| `priceRange` | Stückpreise auf dieser Engine. |
| `prompts` | Nur wenn die Abfrage Shopping-Prompts hat: `answered` gibt an, wie viele davon die Engine beantwortete, und `appeared`, in wie vielen dieser Antworten das Produkt gezeigt oder genannt wurde. |

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[]`:

| Feld | Beschreibung |
| - | - |
| `shown` | Die Produkte der Abfrage, also das Produkt und seine Wettbewerbsprodukte, die die Antwort als Eintrag oder Widget-Karte zeigte, in der gezeigten Reihenfolge. |
| `named` | Die Produkte der Abfrage, die der Antworttext nennt, in der Reihenfolge der Nennung. |
| `listings[]` | Jeder Produkteintrag und jede Widget-Karte der Antwort. Was zu einem Produkt der Abfrage gehört, trägt `product` und `match`. |
| `via[]`, `citedPages[]` | Wie 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](/de/monitors.md) 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:

```json theme={"theme":"css-variables"}
{
  "prompts": [
    {
      "prompt": "best moisturizing eye cream",
      "engines": [
        {
          "engine": "GOOGLE",
          "status": "COMPLETED",
          "via": [
            {
              "taskType": "GOOGLE",
              "query": "best moisturizing eye cream",
              "taskId": "ae6a153a-6382-40d6-84df-c99de0b60d17",
              "status": "COMPLETED",
              "completedAt": "2026-10-20T09:24:29.231Z",
              "credits": 1.25
            }
          ],
          "shown": ["CeraVe Eye Repair Cream", "Clinique All About Eyes"],
          "named": [
            "belif Moisturizing Eye Bomb",
            "CeraVe Eye Repair Cream",
            "Clinique All About Eyes"
          ],
          "listings": [
            {
              "position": 1,
              "title": "CeraVe Eye Repair Cream",
              "source": "google_shopping",
              "product": "CeraVe Eye Repair Cream",
              "match": { "score": 1 }
            },
            {
              "position": 3,
              "title": "Clinique All About Eyes Rich",
              "source": "google_shopping",
              "product": "Clinique All About Eyes",
              "match": { "score": 1 }
            }
          ],
          "citedPages": [
            {
              "url": "https://www.nytimes.com/wirecutter/reviews/best-eye-cream/",
              "domain": "nytimes.com",
              "title": "The New York Times"
            }
          ]
        },
        {
          "engine": "BING_COPILOT",
          "status": "COMPLETED",
          "via": [
            {
              "taskType": "BING_COPILOT",
              "prompt": "best moisturizing eye cream",
              "taskId": "0f582e93-7756-439d-8e5c-bacc510fdff0",
              "status": "COMPLETED",
              "completedAt": "2026-10-20T09:23:45.384Z",
              "credits": 1.25
            }
          ],
          "shown": ["belif Moisturizing Eye Bomb"],
          "named": ["belif Moisturizing Eye Bomb"],
          "listings": [
            {
              "position": 1,
              "title": "belif Moisturizing Eye Bomb with Peptide and Ceramide",
              "source": "microsoft_shopping",
              "merchant": "Comparor",
              "price": { "value": 45.9, "currency": "USD", "raw": "$45.9" },
              "rating": 4.58,
              "reviewCount": 2942,
              "product": "belif Moisturizing Eye Bomb",
              "match": { "score": 1 }
            },
            {
              "position": 2,
              "title": "belif Moisturizing Eye Bomb with Peptide and Ceramide",
              "source": "microsoft_shopping",
              "merchant": "SweetCare",
              "price": { "value": 41.36, "currency": "USD", "raw": "$41.36" },
              "rating": 4.58,
              "reviewCount": 2942,
              "product": "belif Moisturizing Eye Bomb",
              "match": { "score": 1 }
            },
            {
              "position": 3,
              "title": "belif Moisturizing Eye Bomb with Peptide and Ceramide",
              "source": "microsoft_shopping",
              "merchant": "Macy's",
              "price": { "value": 48, "currency": "USD", "raw": "$48" },
              "rating": 4.58,
              "reviewCount": 2942,
              "product": "belif Moisturizing Eye Bomb",
              "match": { "score": 1 }
            }
          ],
          "citedPages": [
            {
              "url": "https://www.comparor.com/us/belif-moisturizing-eye-bomb-hydrating-eye-cream-25ml.html?utm_source=copilot.com",
              "domain": "comparor.com",
              "title": "belif Moisturizing Eye Bomb with Peptide and Ceramide"
            }
          ]
        }
      ]
    }
  ]
}
```

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](/de/concepts/credits-and-limits.md).

## 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](/de/monitors.md).
* **`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](/de/concepts/async-tasks.md#aufbewahrung).

## Fehler

### Beim Einreichen abgelehnt

| Status | Code | Ursache |
| - | - | - |
| `400` | `VALIDATION_ERROR` | Der Body ist kein gültiges JSON, oder ein Feld verletzt eine Regel oben: `product` oder `country` fehlt, eine URL oder GTIN als Name, zu viele oder doppelte `competitors` oder `prompts`, eine unbekannte oder im Markt nicht angebotene Engine oder ein ungültiger `idempotencyKey`. `details` nennt das Feld. |
| `422` | `REGION_UNSUPPORTED` | `country` ist weder `US` noch `KR`. |
| `409` | `RESOURCE_ALREADY_EXISTS` | Der `idempotencyKey` benennt eine Abfrage zu einem anderen Produkt oder Land oder eine mit einem anderen Wettbewerbsprodukt oder Prompt an derselben Position. Es wurde nichts geschrieben. |

```json theme={"theme":"css-variables"}
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Request validation failed",
    "details": [
      {
        "field": "product",
        "message": "product takes a product's name; a GTIN or barcode is not supported"
      }
    ],
    "timestamp": "2026-10-20T09:00:00.000Z"
  }
}
```

### 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](/de/concepts/errors.md).

### 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](/de/monitors.md)**
>
> Verfolgen Sie Shopping-Prompts nach Zeitplan über KI-Engines hinweg.

> **[Prompt Research](/de/research/prompt-research.md)**
>
> Finden Sie die Kauffragen, die Menschen zu einer Kategorie stellen.


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