In diesem Dokument sind die Kontingente für die Merchant API aufgeführt.
Die Merchant API verwendet Kontingente, um für alle Nutzer eine stabile und faire Umgebung zu schaffen. Kontingente verhindern, dass ein einzelner API-Nutzer das System übermäßig belastet, und sorgen so für eine hohe Leistung. Um Ihre Produktdaten optimal zu verwalten und Ihren Umsatz auf Google zu steigern, sollten Sie sich mit diesen Kontingenten vertraut machen.
Allgemeine Konzepte
Merchant API-Kontingente werden über Kontingentgruppen verwaltet.
API-Methoden werden Kontingentgruppen zugeordnet. Die Struktur dieser Zuordnung kann variieren:
- Eine Methode pro Gruppe:Einige Kontingentgruppen gelten für eine einzelne API-Methode.
Die Methode zum Auflisten von Datenquellen für Einträge
accounts.dataSources.listhat beispielsweise eine eigene Kontingentgruppe. - Mehrere Methoden pro Gruppe (Bündelung): Häufig werden zusammengehörige Methoden in einer einzigen Kontingentgruppe gebündelt. Für alle Methoden in dieser Gruppe gelten dieselben Tages- und Minutengrenzwerte. Häufige Beispiele:
- Alle Lesevorgänge für zugehörige Methoden und Ressourcen wie
merchant-accounts-read-methodswerden gruppiert. - Alle Schreibvorgänge für zugehörige Methoden und Ressourcen werden gruppiert, z. B.
merchant-accounts-write-methods.
- Alle Lesevorgänge für zugehörige Methoden und Ressourcen wie
Jeder Methodenaufruf wird einmal gezählt, unabhängig vom Typ. Eine list-Anfrage mit 250 Elementen wird nur einmal gezählt, nicht als 250 get-Anfragen.
Das integrierte HTTP-Batching hat keinen Einfluss auf das Kontingent. Jede einzelne Anfrage in einem Batch von Anfragen wird als eine Anfrage auf das Kontingent angerechnet. Eine Batchanfrage mit 500 insert-Anfragen wird beispielsweise als 500 einzelne insert-Methodenanfragen abgerechnet.
Ausnahme für Batching in dedizierten Regionen:Spezialisierte Batch-Methoden für Regionen (batchCreate, batchUpdate, batchDelete) werden unabhängig von der Anzahl der in der Nutzlast enthaltenen regionalen Vorgänge als ein einziger API-Aufruf für die Kontingentgruppe merchant_regions gezählt.
Damit Sie Ihre Integration effektiv verwalten können, sollten Sie die spezifische Kontingentgruppe für jede API-Methode, die Sie verwenden möchten, prüfen. Diese Details finden Sie in der Methode „quotas.list“. Weitere Informationen finden Sie unter Monitoring und Sichtbarkeit.
Richtlinie aktualisieren
Für die Merchant API gelten in Bezug auf Aktualisierungen die folgenden Richtlinien:
- Standardmäßig können Sie Ihre Produkte bis zu zweimal täglich aktualisieren. Sie sollten die Anrufe gleichmäßig über den Tag verteilen, um das Kontingent pro Minute einzuhalten.
- Standardmäßig können Sie Ihre untergeordneten Konten nur zweimal pro Tag aktualisieren. Ihr tägliches Kontingent für die Aktualisierung von Unterkonten ist eine aggregierte Beschränkung, die auf der Gesamtzahl der zulässigen Unterkonten basiert.
- Standardmäßig können Sie Datenquellenmethoden für Ihre Unterkonten wie
listodercreatenur zweimal pro Unterkonto und Tag aufrufen.
Ratenkontingente
Für jede Kontingentgruppe gibt es zwei Arten von Limits (und täglicher Nutzung):
- Tageslimit (
quotaLimit): Die maximale Anzahl von Anfragen, die pro Tag zulässig sind. Die Tageskontingentlimits werden um 12:00 Uhr UTC zurückgesetzt. - Limit pro Minute (
quotaMinuteLimit): Die maximale Anzahl von Anfragen, die pro Minute zulässig sind. Damit wird die Rate der Anfragen gesteuert. Die Kontingente pro Minute verwenden ein gleitendes Zeitfenster. Der Zeitraum für die Durchsetzung beginnt mit dem ersten API-Aufruf für diese Methode und Ressource. Wenn Sie beispielsweise einen Aufruf um 10:01:30 Uhr ausführen, läuft das Kontingentfenster pro Minute für diese Methode bis 10:02:30 Uhr. - Tägliche Nutzung (
quotaUsage): Die Anzahl der Anfragen, die bereits gestellt wurden und auf das Tageslimit für den aktuellen Tag angerechnet werden. Wenn das Feld fehlt, wurde für diese Gruppe noch kein Kontingent verbraucht.
Die drei oben beschriebenen Felder (quotaLimit, quotaMinuteLimit und quotaUsage) finden Sie in der Antwort der Methode quotas.list.
Die spezifischen Tages- und Minutengrenzen variieren erheblich zwischen den verschiedenen Kontingentgruppen. Vorgänge mit einem höheren erwarteten Volumen oder niedrigeren Systemkosten, z. B. das Lesen von Produktdaten, haben in der Regel höhere Limits. Umgekehrt können für intensivere oder sensiblere Vorgänge wie Kontoänderungen niedrigere Limits gelten.
Kontingentzuweisung und ‑hierarchie
In diesem Abschnitt wird erläutert, für wen die Merchant API die Kontingentnutzung erfasst und anwendet:
Im Allgemeinen wird das Kontingent basierend auf dem Nutzer berechnet, der die API-Anfrage stellt.
- Eigenständige Konten:Wenn ein API-Aufruf mit einem eigenständigen Konto authentifiziert wird, wird die Anfrage auf das Kontingent dieses Kontos angerechnet.
- Beispiel:Ein Händler Schuhgeschäft A (Konto-ID: 12345) authentifiziert sich mit seinem eigenen Dienstkonto, um
products.insertfür sein eigenes Konto (accounts/12345) aufzurufen. Das Kontingent wird aus dem Kontingentpool von Schuhgeschäft A verbraucht.
- Beispiel:Ein Händler Schuhgeschäft A (Konto-ID: 12345) authentifiziert sich mit seinem eigenen Dienstkonto, um
- Erweiterte Konten:Wenn Sie sich als erweitertes Konto authentifizieren, wird das Kontingent aus dem Pool des erweiterten Kontos verbraucht, auch wenn Sie auf ein Unterkonto abzielen.
- Beispiel:Eine Agentur mit einem Verwaltungskonto für Einzelhändler (erweiterte Konto-ID: 12345) verwaltet ein Unterkonto Bekleidungsgeschäft B (Konto-ID: 11111).
Die Agentur authentifiziert sich mit ihren eigenen Anmeldedaten und ruft
products.insertauf, wobei Bekleidungsgeschäft B (accounts/11111) als Ziel angegeben wird. Das Kontingent wird aus dem Pool des übergeordneten Agenturkonto (erweiterte Konto-ID: 12345) und nicht aus dem Pool des untergeordneten Kontos verwendet.
- Beispiel:Eine Agentur mit einem Verwaltungskonto für Einzelhändler (erweiterte Konto-ID: 12345) verwaltet ein Unterkonto Bekleidungsgeschäft B (Konto-ID: 11111).
Die Agentur authentifiziert sich mit ihren eigenen Anmeldedaten und ruft
- Unterkonten:Wenn API-Aufrufe mit den Anmeldedaten eines Unterkontos authentifiziert werden, wird das Kontingent dem individuellen Pool dieses Unterkontos belastet. Es funktioniert genauso wie ein eigenständiges Konto, auch wenn es von einem übergeordneten erweiterten Konto verwaltet wird.
- Beispiel:Wenn Bekleidungsgeschäft B (Konto-ID: 11111) mit derselben Einrichtung wie oben beschrieben authentifiziert wird, um
products.insertfür das eigene Konto (accounts/11111) aufzurufen, wird das Kontingent aus dem individuellen Kontingentpool von Bekleidungsgeschäft B verwendet. Der Pool der übergeordneten Agentur bleibt unberührt.
- Beispiel:Wenn Bekleidungsgeschäft B (Konto-ID: 11111) mit derselben Einrichtung wie oben beschrieben authentifiziert wird, um
Ausnahmen von den allgemeinen Regeln
Für die allgemeinen Regeln für die Kontingentzuweisung gelten einige spezifische Ausnahmen:
- Accounts.list:
Das Kontingent für diese Methode wird dem authentifizierten Nutzer oder
Dienstkonto in Rechnung gestellt, der bzw. das den Aufruf ausführt, nicht der Merchant Center-Konto-ID.
Die Kontingentnutzung ist nicht auf der standardmäßigen Diagnoseseite der Merchant Center API sichtbar.
Wenn Sie ein erweitertes Konto haben, empfehlen wir die Verwendung der Methode
accounts.listSubaccounts, die auf Ihr Kontingent für erweiterte Konten angerechnet wird. - Methoden zur Problembehebung: Diese Methoden werden immer auf das Kontingent des Kontos angerechnet, für das die Probleme angefordert werden, auch wenn die Anfrage von einem anderen Konto authentifiziert wird.
Zuweisungshierarchie
Preisvergleichsportale: Preisvergleichsportale sind Websites, auf denen Produktangebote zusammengefasst werden und Nutzer zu den Websites von Einzelhändlern weitergeleitet werden, um Käufe zu tätigen. Bei API-Aufrufen werden Kontingente auf die jeweilige Preisvergleichsportal-Gruppe, Preisvergleichsportal-Domain, das Konto oder das Unterkonto angewendet, für das Sie sich authentifizieren.
Beispiele:
- Eine Preisvergleichsportal-Gruppe mit dem Namen Europe Shopping Group (Konto-ID: 10001) möchte die zugehörigen Preisvergleichsportal-Domains auflisten. Da die Authentifizierung für diesen API-Aufruf mit den eigenen Anmeldedaten erfolgt, wird das Kontingent direkt aus dem Kontingentpool der Europe Shopping Group (Europäische Shopping-Gruppe) verwendet.
- Eine Preisvergleichsportal-Domain TopDeals CSS (Konto-ID: 20002) wird authentifiziert, um eine Methode aufzurufen, die auf eines der zugehörigen Händlerkonten (
accounts/30003) ausgerichtet ist, um ein Label zuzuweisen. Das Kontingent wird aus dem Kontingentpool des Preisvergleichsportals für Top-Angebote und nicht aus dem des Merchant Center-Kontos verwendet.
Marktplätze:Marktplätze sind Onlineplattformen, auf denen mehrere einzelne Händler vertreten sind. Sie funktionieren als spezielle erweiterte Konten, mit denen Sie für jeden Ihrer Verkäufer separate Unterkonten erstellen können.
Das folgende Diagramm zeigt die Hierarchie von Preisvergleichsportal-Gruppen, Preisvergleichsportalen, Marktplätzen, erweiterten Konten, eigenständigen Konten und Unterkonten.

Automatische Kontingentanpassung
Die Merchant API verfügt über ein automatisches Kontingentverwaltungssystem für bestimmte Dienste, das die Kontingentlimits für wachsende Händler basierend auf Ihrer Nutzung, Ihrem Angebot und Ihrer Kontogröße anpasst. Die Merchant API berechnet diese Kontingente täglich neu.
Die Kontingentgruppen, die in automatischen Kontingentanpassungen enthalten sind:
Produktdienste
- Alle Kontingentgruppen von Methoden, die sich auf die Ressourcen
productsundproductInputsbeziehen. - Das tägliche Anrufkontingent entspricht in der Regel dem doppelten Angebotskontingent des Händlers. Dabei wird davon ausgegangen, dass ein Händler jedes seiner Produkte bis zu zweimal täglich aktualisieren muss.
- Einzelne Produkte können mehr als zweimal aktualisiert werden, aber die Gesamtzahl der täglichen API-Aufrufe darf das aggregierte tägliche Aufrufkontingent nicht überschreiten.
Kontodienste
- Alle Kontingentgruppen von Methoden, die sich auf die verschiedenen detaillierten kontobezogenen Ressourcen in der Merchant API beziehen.
- Das tägliche Anrufkontingent ist auf die maximale Anzahl von Unterkonten festgelegt, die für dieses Konto zulässig sind. So sind bis zu zwei Leseaufrufe pro Unterkonto und Tag möglich.
Dienste für Datenquellen
- Alle Kontingentgruppen von Methoden, die sich auf die Datenquellen-bezogenen Ressourcen in der Merchant API beziehen, z. B.
listodercreate, die ein erweitertes Konto für seine Unterkonten ausführt. - Das tägliche Anrufkontingent ist in der Regel auf das Doppelte der Anzahl der Unterkonten des erweiterten Kontos festgelegt. Dabei wird davon ausgegangen, dass ein Händler die Datenquellen seiner Unterkonten bis zu zweimal täglich aktualisieren kann.
Nur für die oben beschriebenen Dienste werden Kontingente automatisch angepasst. Für andere Dienste gilt ein Standardkontingent und Erhöhungen müssen manuell angefordert werden. Weitere Informationen finden Sie im Abschnitt Prozess zur Kontingenterhöhung.
Was passiert, wenn Kontingente überschritten wurden?
Wenn ein Kontingent überschritten wurde, werden in den API-Antworten und auf der Seite „Diagnose“ in Ihrem Merchant Center-Konto Fehler angezeigt:
- Pro Minute:
quota/request_rate_too_high
{
"error": {
"code": 429,
"message": "Quota per minute exceeded. Please distribute your requests over a longer time period. For more information check https://developers.google.com/merchant/api/guides/quotas-limits",
"status": "RESOURCE_EXHAUSTED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "quotaExceeded",
"domain": "merchantapi.googleapis.com",
"metadata": {
"HELP_CENTER_LINK": "https://developers.google.com/merchant/api/guides/quotas-limits",
"REASON": "QUOTA_REQUEST_RATE_TOO_HIGH"
}
}
]
}
}
- Pro Tag:
quota/daily_limit_exceeded
{
"error": {
"code": 429,
"message": "Daily request quota exceeded. Please reduce number of requests. For more information check https://developers.google.com/merchant/api/guides/quotas-limits",
"status": "RESOURCE_EXHAUSTED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "quotaExceeded",
"domain": "merchantapi.googleapis.com",
"metadata": {
"HELP_CENTER_LINK": "https://developers.google.com/merchant/api/guides/quotas-limits",
"REASON": "QUOTA_TOO_MANY_REQUESTS"
}
}
]
}
}
Die folgenden Fehler sind Merchant Center-Beschränkungen und haben nichts mit Merchant API-Kontingenten zu tun. Sie können versuchen, ein zusätzliches Kontingent an Artikeln, Feeds oder Unterkonten anzufordern:
too_many_items: Händlerkontingent überschrittentoo_many_subaccounts: Maximale Anzahl von untergeordneten Konten erreicht
Monitoring und Sichtbarkeit
Wenn Sie die aktuellen Anrufkontingente und die Nutzung für ein Konto prüfen möchten, rufen Sie quotas.list mit dem Namen des Kontos auf.
POST https://merchantapi.googleapis.com/quota/v1/accounts/{ACCOUNT_ID}/quotas
Content-Type: application/json
Authorization: Bearer {ACCESS_TOKEN}
Ersetzen Sie Folgendes:
ACCOUNT_ID: Ihre Merchant Center-IDACCESS_TOKEN: das Autorisierungstoken für den API-Aufruf
Bei einer erfolgreichen Anfrage gibt die API eine Liste von quotaGroups-Ressourcen zurück, die die Ressource name der Kontingentgruppe, die verschiedenen Kontingente und die Methoden enthalten, auf die das Gruppenkontingent angewendet wird.
{
"quotaGroups": [
{
"name": "accounts/{ACCOUNT_ID}/quotas/merchant-quota-listquotagroups",
"quotaUsage": "2",
"quotaLimit": "1000",
"methodDetails": [
{
"method": "quotaservice.listquotagroups",
"version": "v1",
"subapi": "quota",
"path": "quota/v1/quotaservice.listquotagroups"
}
],
"quotaMinuteLimit": "10"
},
{
"name": "accounts/{ACCOUNT_ID}/quotas/merchant-commission-group-list",
"quotaLimit": "10000",
"methodDetails": [
{
"method": "commissiongroupservice.listcommissiongroups",
"version": "v1",
"subapi": "youtube",
"path": "youtube/v1/commissiongroupservice.listcommissiongroups"
}
],
"quotaMinuteLimit": "60"
},
{
"name": "accounts/{ACCOUNT_ID}/quotas/merchant-merchantreviews-list",
"quotaLimit": "20000000",
"methodDetails": [
{
"method": "merchantreviewsservice.listmerchantreviews",
"version": "v1",
"subapi": "reviews",
"path": "reviews/v1/merchantreviewsservice.listmerchantreviews"
}
],
"quotaMinuteLimit": "60000"
}
]
}
Kontingenterhöhung
Wenn Sie zusätzliches Kontingent anfordern möchten, öffnen Sie das Supportkontaktformular, wählen Sie im Feld „Was ist das Problem/die Frage?“ die Option „Anfrage zur Kontingenterhöhung“ aus und füllen Sie alle erforderlichen Felder aus, einschließlich Ihrer Merchant Center-ID, der Zielmethoden und der geschäftlichen Begründung.
- Für Ressourcen mit automatischen Kontingenten (
products,accountsunddatasourcesfür erweiterte Konten): Sie können nur eine vorübergehende Erhöhung für spezielle Szenarien wie die Einführung in einem neuen Markt oder während der Shopping-Saison mit hohem Traffic beantragen. Wir akzeptieren keine dauerhaften Kontingenterhöhungen für diese Arten von Ressourcen. - Für alle anderen Ressourcen ohne automatisches Kontingent:Fordern Sie bei Bedarf Kontingenterhöhungen an.
Wir empfehlen, Ihre Kontingente regelmäßig zu prüfen, um sicherzustellen, dass Sie genügend Kontingent für Ihre Implementierung haben, und zu sehen, wie Ihr Kontingent automatisch angepasst wird.
Mit der Methode quotas.list können Sie Ihr aktuelles tägliches Kontingentlimit, das Minutenlimit und die aktuelle tägliche Nutzung für jede API-Methodengruppe aufrufen.
Best Practices
Wenn Sie diese Best Practices implementieren, sorgen Sie für einen reibungslosen Ablauf Ihrer Integration, vermeiden unerwartete Kontingentfehler und nutzen Merchant Center-Ressourcen effizient.
Verteilung von Anfragen optimieren
- Anfragen gleichmäßig verteilen:Vermeiden Sie es, viele Anfragen gleichzeitig zu senden. Verteilen Sie Ihre täglichen API-Aufrufe gleichmäßig über den Tag, um die Kontingentlimits pro Minute (
quotaMinuteLimit) nicht zu überschreiten. - Proaktive Drosselung:Implementieren Sie eine clientseitige Ratenbegrenzung (Drosselung) in Ihrer Anwendung. Verlassen Sie sich nicht nur auf die Server von Google, um übermäßigen Traffic abzulehnen. Kontrollieren Sie die Anforderungsrate an der Quelle.
Reibungslose Fehlerbehandlung
- HTTP 429-Fehler behandeln:Ihre Anwendung muss darauf vorbereitet sein, 429-Fehler vom Typ „Too Many Requests“ (
quota/request_rate_too_high) zu verarbeiten. - Exponentieller Backoff mit Jitter:Wenn Sie fehlgeschlagene Anfragen noch einmal senden (insbesondere nach einem 429-Fehler), verwenden Sie den exponentiellen Backoff (zunehmende Wartezeiten) und fügen Sie „Jitter“ (zufällige Verzögerung) hinzu. Jitter verhindert „Retry-Stürme“, bei denen mehrere Client-Instanzen genau gleichzeitig wiederholt werden und den Server erneut überlasten.
- Wiederholungs-Hinweise beachten:Wenn die API-Antwort Wiederholungsdetails oder ‑Header enthält, verwenden Sie diese, um zu bestimmen, wann die Aufrufe fortgesetzt werden sollen.
Redundante Anrufe minimieren
- Veraltete Anrufe vermeiden (404 NOT_FOUND): Vermeiden Sie das Anfordern oder Löschen von Ressourcen, die nicht mehr vorhanden sind. Auch fehlgeschlagene Aufrufe verbrauchen API-Kontingent. Überwachen Sie
NOT_FOUND-Fehler in der Merchant Center API-Diagnose, um veraltetes Status-Tracking oder unnötiges Polling zu erkennen. - Vor dem Aktualisieren prüfen:Bevor Sie eine Aktualisierungsanfrage senden, sollten Sie prüfen, ob sich die Daten tatsächlich geändert haben. Vermeiden Sie das Senden von Updates, die dieselben Werte schreiben.
- Caching verwenden:Antworten auf Leseanfragen (z.B. Produktdetails, Einstellungen) sollten bei Bedarf lokal im Cache gespeichert werden, um wiederholte
get- oderlist-Aufrufe für unveränderte Daten zu vermeiden.
Kontingenthierarchie und Ausnahmen
- Erweiterte Konten und Unterkonten:Wenn Sie ein erweitertes Konto haben, authentifizieren Sie sich auf Ebene des erweiterten Kontos, wenn Anrufe auf den gemeinsamen Pool des erweiterten Kontos angerechnet werden sollen.
listSubaccountsverwenden:Bei erweiterten Konten verwenden Sieaccounts.listSubaccountsanstelle vonaccounts.list. Dasaccounts.list-Kontingent wird dem aufrufenden Nutzer (nicht der MC-ID) in Rechnung gestellt und ist in der Standarddiagnose nicht sichtbar.listSubaccountswird auf Ihr MCA-Kontingent angerechnet.