Durchsatzratenbegrenzungen

Eine Ratenbegrenzung ist die Anzahl an API-Aufrufen, die von einer App oder einem*einer Nutzer*in innerhalb eines bestimmten Zeitraums getätigt werden können. Wird diese Begrenzung überschritten oder werden die Beschränkungen im Hinblick auf CPU-Zeit oder Gesamtzeit überschritten, wird die App oder der*die Nutzer*in möglicherweise gedrosselt. Ist dies der Fall, schlagen die Anfragen der App oder des*der Nutzer*in fehl.

Alle API-Anfragen unterliegen Durchsatzratenbegrenzungen. Graph API- und Instagram Basic Display API-Anfragen unterliegen Plattform-Durchsatzratenbegrenzungen, während Marketing API- und Instagram-Plattform-Anfragen Business Use Case (BUC)-Durchsatzratenbegrenzungen unterliegen.

Pages API-Anfragen unterliegen Plattform- oder BUC-Durchsatzratenbegrenzungen, je nachdem, welches Token in der Anfrage verwendet wurde. Mit App- oder Nutzer*innen-Zugriffstoken getätigte Anfragen unterliegen Plattform-Durchsatzratenbegrenzungen, während mit Systemnutzer*innen- oder Seiten-Zugriffstoken getätigte Anfragen BUC-Durchsatzratenbegrenzungen unterliegen.

Nutzungsstatistiken für Ratenbegrenzungen in Echtzeit werden in Headern beschrieben, die in den meisten API-Antworten enthalten sind, sobald genügend Aufrufe für einen Endpunkt getätigt wurden. Nutzungsstatistiken für Plattform-Ratenbegrenzungen werden auch im App-Dashboard angezeigt. Sobald eine Ratenbegrenzung erreicht wird, schlagen alle nachfolgend von deiner App getätigten Anfragen fehl und die App gibt einen Fehler aus, bis ausreichend Zeit verstrichen ist und die Aufrufanzahl wieder unter den Grenzwert sinkt.

Können für eine Anfrage Plattform- und BUC-Ratenbegrenzungen angewendet werden, finden die BUC-Ratenbegrenzungen Anwendung.

Plattform-Ratenbegrenzungen

Plattform-Ratenbegrenzungen werden für eine einzelne App oder auf Nutzungsebene nachverfolgt, je nachdem, welche Art Token in der Anfrage verwendet wurde.

Anwendungen

Mit einem App-Zugriffsschlüssel getätigte Graph API-Anfragen werden auf die Ratenbegrenzung der App angerechnet. Die Anzahl der Aufrufe einer App ist die Anzahl der Aufrufe, die die App während eines rollierenden Zeitfensters von einer Stunde durchführen kann. Sie wird wie folgt berechnet:

Calls within one hour = 200 * Number of Users

Die Anzahl der Nutzer*innen basiert auf der Anzahl der individuellen täglichen aktiven Nutzer*innen einer App. In Fällen, in denen starke Schwankungen der täglichen Nutzung zu beobachten sind, wie zum Beispiel bei einer App, die an Wochentagen eine geringe Aktivität verzeichnet, wird die Zahl der Nutzer*innen für deine App anhand der wöchentlich und monatlich aktiven Nutzer*innen berechnet. Apps mit einer hohen täglichen Interaktion haben höhere Ratenbegrenzungen als Apps mit geringer täglicher Interaktion. Dies gilt unabhängig von der tatsächlichen Zahl der App-Installationen.

Beachte, dass dies keine Begrenzung pro Nutzer*in sondern eine Begrenzung der von deiner App getätigten Aufrufe ist. Die einzelnen Nutzer*innen können mit deiner App mehr als 200 Aufrufe pro Stunde vornehmen, solange die Gesamtmenge für alle Nutzer*innen die App-Obergrenze nicht überschreitet. Wenn deine App beispielsweise 100 Nutzer*innen hat, bedeutet dies, dass die App 20.000 Aufrufe pro Stunde ausführen kann. Aber die zehn aktivsten Nutzer*innen könnten 19.000 dieser Aufrufe auf sich vereinigen.

Nutzer*innen

Mit einem Nutzer-Zugriffsschlüssel getätigte Graph API-Anfragen werden auf die Anzahl Aufrufe dieses*dieser Nutzer*in angerechnet. Die Anzahl der Aufrufe eines*einer Nutzer*in ist die Anzahl der Aufrufe, die er*sie während eines rollierenden Zeitfensters von einer Stunde durchführen kann. Aus Datenschutzgründen veröffentlichen wir keine tatsächlichen Aufrufanzahlen für Nutzer*innen.

Dabei ist zu beachten, dass sich die Aufrufanzahl eines*einer Nutzer*in auf mehrere Apps verteilen kann. So kann ein*e Nutzer*in beispielsweise X Aufrufe über App1 und Y Aufrufe über App2 tätigen. Überschreitet X+Y die Aufrufanzahl eines*einer Nutzer*in, wird für diese*n Nutzer*in die Ratenbegrenzung aktiviert. Das heißt nicht notwendigerweise, dass eine App etwas falsch macht. Möglicherweise verwendet der*die Nutzer*in mehrere Apps oder verwendet die API falsch.

Header

Endpunkte, die ausreichend Anfragen von deiner App erhalten, beinhalten in ihren Antworten einen X-App-Usage- oder X-Ad-Account-Usage-HTTP-Header (für Apps mit v3.3 oder älter). Der Header enthält einen String im JSON-Format, der die aktuelle Nutzung der App-Ratenbegrenzung beschreibt.

Header-Inhalt


SchlüsselWertbeschreibung

call_count

Eine Ganzzahl, die den Prozentsatz getätigter Aufrufe von einer App in einem rollierenden Zeitraum von einer Stunde ausdrückt.

total_cputime

Eine Ganzzahl, die den Prozentsatz der CPU-Zeit angibt, der für die Abfrageverarbeitung reserviert ist.

total_time

Eine Ganzzahl, die den Prozentsatz der Gesamtzeit angibt, der für die Abfrageverarbeitung reserviert ist.

X-Ad-Account-Usage Header-Inhalte

SchlüsselWertbeschreibung

acc_id_util_pct

Der Prozentsatz der getätigten Aufrufe für dieses Werbekonto bis zum Erreichen der Ratenbegrenzung.

reset_time_duration

Dauer (in Sekunden) bis zum Zurücksetzen der aktuellen Ratenbegrenzung auf 0.

ads_api_access_tier

Mit Stufen kann deine App auf die Marketing API zugreifen. Standardmäßig befinden sich Apps in der Stufe development_access. standard_access aktiviert die niedrigere Durchsatzratenbegrenzung. Um eine höhere Ratenbegrenzung zu erhalten und in die Standardstufe zu gelangen, kannst du „erweiterten Zugriff“ auf die Funktion Standardzugriff auf Ads Management anfordern.

CPU-Zeit gesamt

Die für die Verarbeitung der Anfrage benötigte CPU-Zeit. Wenn total_cputime gleich 100 ist, werden Aufrufe möglicherweise gedrosselt.

Zeit gesamt

Die für die Verarbeitung der Anfrage benötigte Zeit. Wenn total_time gleich 100 ist, werden Aufrufe möglicherweise gedrosselt.

Beispiel X-App-Usage Header-Wert

x-app-usage: {
    "call_count": 28,         //Percentage of calls made 
    "total_time": 25,         //Percentage of total time
    "total_cputime": 25       //Percentage of total CPU time
}

Beispiel X-Werbekontonutzung Header-Wert

x-ad-account-usage: {
    "acc_id_util_pct": 9.67,   //Percentage of calls made for this ad account.
    "reset_time_duration": 100,   //Time duration (in seconds) it takes to reset the current rate limit score.
    "ads_api_access_tier": 'standard_access'   //Tiers allows your app to access the Marketing API. standard_access enables lower rate limiting.
}

Dashboard

Im App-Dashboard werden die Anzahl der Nutzer*innen mit Ratenbegrenzungen, der aktuelle Prozentsatz der Nutzung der App-Ratenbegrenzungen und die durchschnittliche Aktivität in den letzten 7 Tagen angezeigt. Klicke in der Karte App-Ratenbegrenzung auf Details anzeigen und zeige auf einen beliebigen Punkt der Grafik, um weitere Details zur Nutzung in diesem konkreten Moment aufzurufen. Da die Nutzung vom Aufkommen der Aufrufe abhängt, werden in dieser Grafik eventuell nicht volle 7 Tage angezeigt. Bei Apps mit einem höheren Aufrufaufkommen werden mehr Tage angezeigt.

Fehlercodes

Ist für eine App oder eine*n Nutzer*in die Ratenbegrenzung erreicht, werden von dieser App oder diesem*dieser Nutzer*in getätigte Anfragen gefüllt und die API antwortet mit einem Fehlercode.

Throttling-Fehlercodes


FehlercodeBeschreibung

4

Gibt an, dass für die App, deren Schlüssel in der Anfrage verwendet wird, die Ratenbegrenzung erreicht ist.

17

Gibt an, dass für den*die Nutzer*in, dessen*deren Schlüssel in der Anfrage verwendet wird, die Ratenbegrenzung erreicht ist.

17 with subcode 2446079

Gibt an, dass für den Schlüssel in der Ads API c3.3 oder älter verwendet wird, die Ratenbegrenzung erreicht ist.

32

Gibt an, dass für den*die Nutzer*in oder die App, dessen oder deren Schlüssel in der Pages API-Anfrage verwendet wird, die Ratenbegrenzung erreicht ist.

613

Gibt an, dass eine selbstdefinierte Ratenbegrenzung erreicht ist. Informationen zum Beheben dieses Problems findest du in den Begleitdokumenten für die jeweilige API, die du aufrufst. Dies bezieht sich auch auf benutzerdefinierte Ratenbegrenzungen, die möglicherweise gelten.

613 with subcode 1996

Gibt an, dass wir uneinheitliches Verhalten beim API-Anfragevolumen deiner App festgestellt haben. Dieser Fehler kann auftreten, wenn du kürzlich Änderungen vorgenommen hast, die sich auf die Zahl der API-Anfragen beziehen.

Beispielantwort

{
  "error": {
    "message": "(#32) Page request limit reached",
    "type": "OAuthException",
    "code": 32,
    "fbtrace_id": "Fz54k3GZrio"
  }
}

Stabilitäts-Drosselungscodes von Facebook


FehlercodeBeschreibung

throttled

Gibt an, ob die Abfrage gedrosselt ist oder nicht. Werte: True, False

backend_qps

Erster Drosselungsfaktor backend_qps. Mögliche Werte:

  • actual_score – Tatsächliches backend_qps dieser App. Wert: 8
  • limitbackend_qps-Begrenzung dieser App. Wert: 5.
  • more_info – Abfragen müssen eine große Anzahl Backend-Anfragen handhaben. Wir empfehlen dir, weniger Abfragen zu senden oder Abfragen mit engeren Zeitrahmen, weniger Objekt-IDs usw. zu vereinfachen.

complexity_score

Zweiter Drosselungsfaktor complexity_score. Mögliche Werte:

  • actual_score – Tatsächliches complexity_score dieser App. Wert: 0.1
  • limitcomplexity_score-Begrenzung dieser App. Wert: 0.01
  • more_info – Ein hohes complexity_score bedeutet, dass deine Abfragen sehr komplex sind und große Datenmengen anfordern. Wir empfehlen dir, Abfragen mit engeren Zeitrahmen, weniger Objekt-IDs, Kennzahlen oder Aufschlüsselungen usw. zu vereinfachen. Teile umfangreiche, komplexe Abfragen in kleinere Abfragen auf und verteile sie.

Best Practices

  • Wenn der Grenzwert erreicht ist, solltest du keine API-Aufrufe mehr vornehmen. Bei weiteren Aufrufen wird die Aufrufanzahl weiter erhöht und es dauert noch länger, bis Aufrufe wieder erfolgreich sind.
  • Verteile Anfragen gleichmäßig, um Traffic-Spitzen zu vermeiden.
  • Verwende Filter, um die Datenantwortgröße zu begrenzen und Aufrufe zu vermeiden, die überlappende Daten anfordern.
  • Sieh im X-App-Usage-HTTP-Header nach, wie weit deine App von diesem Grenzwert entfernt ist und wann du wieder Aufrufe tätigen kannst, nachdem der Grenzwert erreicht wurde.
  • Werden Nutzer*innen gedrosselt, stelle sicher, dass dies nicht von deiner App verursacht wurde. Reduziere die Anzahl der Aufrufe des*der Nutzer*in oder verteile die Aufrufe des*der Nutzer*in gleichmäßiger.

Business Use Case-Ratenbegrenzungen

Alle von einem System- oder Seiten-Zugriffsschlüssel getätigten Marketing API- und Pages API-Aufrufe unterliegen Business Use Case (BUC)-Ratenbegrenzungen und sind von den Endpunkten abhängig, die du abfragst.

Für die Marketing-API wird die Ratenbegrenzung auf das Werbekonto für denselben Business-Anwendungsfall angewendet. So nutzen zum Beispiel alle Endpunkte mit dem Business-Anwendungsfall Werbeanzeigenmanagement eine Gesamtquote innerhalb eines Werbekontos. Tätigt ein bestimmter Endpunkt viele API-Anfragen und verursacht dadurch Throttling, erhalten andere Endpunkte, die mit demselben Business-Anwendungsfall konfiguriert sind, ebenfalls Ratenbegrenzungsfehler. Die Quote hängt von der Access Tier der Marketing API der App ab. Die Standard-Zugriff-Tier der Marketing-API verfügt über mehr Quoten als der Entwicklungs-Zugriff-Tier der Marketing-API. Standardmäßig sollte eine neue App auf der Entwicklungs-Tier sein. Wenn du ein Upgrade durchführen musst, um eine höhere Ratenbegrenzungsquote zu erhalten, führst du ein Upgrade auf Erweiterten Zugriff für Standardzugriff für Anzeigenmanagement in der App Review durch.

Ads Insights

Anfragen, die von deiner App an die Ads Insights API gesendet werden, werden auf die Ratenbegrenzungs-Kennzahlen der App, wie zum Beispiel Anzahl Anrufe, Gesamt-CPU-Zeit und Gesamtzeit angerechnet. Die Anzahl der Aufrufe einer App ist die Anzahl der Aufrufe, die sie während eines rollierenden Zeitfensters von einer Stunde durchführen kann.

Für Apps mit Standardzugriff auf die Standardzugriff-Funktion des Anzeigenmanagements:

Calls within one hour = 600 + 400 * Number of Active ads - 0.001 * User Errors

Für Apps mit erweitertem Zugriff auf die Standardzugriff-Funktion des Anzeigenmanagements:

Calls within one hour = 190000 + 400 * Number of Active ads - 0.001 * User Errors

Die „Number of Active ads“ ist die Anzahl der aktiven Werbeanzeigen für jedes Werbekonto. Nutzerfehler gibt die Anzahl der Fehler an, die am Aufruf der API erhalten wurden. Um eine höhere Ratenbegrenzung zu erhalten, kannst du das Feature Standardzugriff für das Anzeigenmanagement anfordern.

Die Ratenbegrenzung unterliegt möglicherweise auch der Gesamt-CPU-Zeit und der Gesamt-Wand-Zeit während des laufenden einstündigen Zeitfensters. Mehr Informationen findest du unter HTTP-X-Business-Use-Case-Header total_cputime und total_time.

Erhältst du einen Ratenbegrenzungsfehler, kannst du auch auf estimated_time_to_regain_access im X-Business-Use-Case-Header für die geschätzte Sperrzeit verweisen.

Verwaltung von Werbeanzeigen

Anfragen, die von Ihrer App an die Ads Management API gesendet werden, werden auf die Ratenbegrenzungs-Kennzahlen der App, wie zum Beispiel die Anzahl der Aufrufe, Gesamt-CPU-Zeit und Gesamtzeit angerechnet. Die Anzahl der Aufrufe einer App ist die Anzahl der Aufrufe, die sie während eines rollierenden Zeitfensters von einer Stunde durchführen kann.

Für Apps mit Standardzugriff auf die Standardzugriffsfunktion des Werbeanzeigenmanagements:

Calls within one hour = 300 + 40 * Number of Active ads

Für Apps mit erweitertem Zugriff auf die Standardzugriff-Funktion des Anzeigenmanagements:

Calls within one hour = 100000 + 40 * Number of Active ads

Die Anzahl der aktiven Werbeanzeigen ist die Anzahl der Werbeanzeigen für jedes Werbekonto.

Die Ratenbegrenzung unterliegt möglicherweise auch der Gesamt-CPU-Zeit und der Gesamt-Wand-Zeit während des laufenden einstündigen Zeitfensters. Mehr Informationen findest du unter HTTP-X-Business-Use-Case-Header total_cputime und total_time.

Erhältst du einen Ratenbegrenzungsfehler, kannst du auch auf estimated_time_to_regain_access im X-Business-Use-Case-Header für die geschätzte Sperrzeit verweisen.

Katalog

Katalog-Batch

Aufrufe deiner App werden auf die Ratenbegrenzungs-Kennzahlen, wie Anzahl der Aufrufe, Gesamt-CPU-Zeit und Gesamtzeit angerechnet, die deine App während eines rollierenden Zeitfensters von einer Stunde für jede Katalog-ID durchführen kann. Sie werden wie folgt berechnet:

Calls within one hour = 200 + 200 * log2(unique users)

„unique users“ ist die Anzahl der individuellen Nutzer*innen eines Unternehmens (in allen Katalogen) mit Intent in den letzten 28 Tagen. Je mehr Nutzer*innen Produkte in deinen Katalogen sehen, umso höher ist die zugeteilte Aufrufquote.

Art des Aufrufs Endpunkt

POST

/{catalog_id}/items_batch

POST

/{catalog_id}/localized_items_batch

POST

/{catalog_id}/batch

Katalogverwaltung

Aufrufe deiner App werden gegen die Anzahl der Aufrufe gezählt, die sie während eines rollierenden Zeitfensters von einer Stunde je Katalog-ID durchführen kann, und wie folgt berechnet:

Calls within one hour = 20,000 + 20,000 * log2(unique users)

„Individuelle Nutzer*innen“ ist die Anzahl der individuellen Nutzer*innen eines Unternehmens (in allen Katalogen) mit Intent in den letzten 28 Tagen. Je mehr Nutzer*innen Produkte in deinen Katalogen sehen, umso höher ist die zugeteilte Aufrufquote.

Diese Formel wird auf verschiedene Katalogendpunkte angewendet.

Mehr Informationen zur Abfrage der aktuellen Ratennutzung findest du unter Header.

Die Ratenbegrenzung unterliegt möglicherweise auch der Gesamt-CPU-Zeit und der Gesamt-Wand-Zeit während des laufenden einstündigen Zeitfensters. Mehr Informationen findest du unter HTTP-X-Business-Use-Case-Header total_cputime und total_time.

Erhältst du einen Ratenbegrenzungsfehler, kannst du auch auf estimated_time_to_regain_access im X-Business-Use-Case-Header für die geschätzte Sperrzeit verweisen.

Custom Audiences

Anfragen, die von deiner App an die Custom Audience API gesendet werden, werden auf die Ratenbegrenzungs-Kennzahlen, wie die Anzahl der Aufrufe, Gesamt-CPU-Zeit und Gesamtzeit angerechnet. Die Anzahl der Aufrufe einer App ist die Anzahl der Aufrufe, die sie während eines rollierenden Zeitfensters von einer Stunde durchführen kann. Sie wird wie folgt berechnet, überschreitet jedoch nie den Wert 700.000:

Für Apps mit Standardzugriff auf die Funktion Werbeanzeigenmanagement-Standardzugriff:

Calls within one hour = 5000 + 40 * Number of Active Custom Audiences

Für Apps mit erweitertem Zugriff auf die Standardzugriff-Funktion des Anzeigenmanagements:

Calls within one hour = 190000 + 40 * Number of Active Custom Audiences

Die Anzahl der aktiven Custom Audiences ist die Anzahl der aktiven Custom Audiences für jedes Werbekonto.

Die Ratenbegrenzung unterliegt möglicherweise auch der Gesamt-CPU-Zeit und der Gesamt-Wand-Zeit während des laufenden einstündigen Zeitfensters. Mehr Informationen findest du unter HTTP-X-Business-Use-Case-Header total_cputime und total_time.

Erhältst du einen Durchsatzratenbegrenzungsfehler, kannst du auch auf estimated_time_to_regain_access im X-Business-Use-Case-Header für die geschätzte Sperrzeit verweisen.

Instagram-Plattform

Calls to the Instagram Platform endpoints, excluding messaging, are counted against the calling app's call count. An app's call count is unique for each app and app user pair, and is the number of calls the app has made in a rolling 24 hour window. It is calculated as follows:

Calls within 24 hours = 4800 * Number of Impressions

The Number of Impressions is the number of times any content from the app user's Instagram professional account has entered a person's screen within the last 24 hours.

Notes

  • The Instagram Basic Display API uses Platform Rate Limits.
  • Business Discovery and Hashtag Search API are subject to Platform Rate Limits.
  • Messaging Rate Limits

    Calls to the Instagram messaging endpoints are counted against the number of calls your app can make per Instagram professional account and the API used.

    Conversations API

    • Your app can make 2 calls per second per Instagram professional account.

    Private Replies API

    • Your app can make 100 calls per second per Instagram professional account for private replies to Instagram Live comments
    • Your app can make 750 calls per hour per Instagram professional account for private replies to comments on Instagram posts and reels

    Send API

    • Your app can make 100 calls per second per Instagram professional account for messages that contain text, links, reactions, and stickers
    • Your app can make 10 calls per second per Instagram professional account for messages that contain audio or video content

    LeadGen

    Anfragen, die deine App an die LeadGen API sendet, werden zur Aufrufanzahl deiner App addiert. Die Anzahl der Aufrufe einer App ist die Anzahl der Aufrufe, die sie während eines rollierenden Zeitfensters von einer Stunde durchführen kann:

    Calls within 24 hours = 4800 * Leads Generated

    „Leads Generated“ ist die Anzahl der Leads, die pro Seite in den letzten 90 Tagen für dieses Werbekonto generiert wurden.

    Messenger-Plattform

    Durchsatzratenbegrenzungen für die Messenger-Plattform hängen von der verwendeten API und in einigen Fällen auch vom Nachrichteninhalt ab.

    Messenger API

    Aufrufe deiner App werden gegen die Anzahl der Aufrufe gezählt, die sie während eines rollierenden Zeitfensters von 24 Stunden durchführen kann, und wie folgt berechnet:

    Aufrufe innerhalb von 24 Stunden = 200 * Anzahl der aktiven Nutzer*innen

    Die Anzahl der aktiven Nutzer*innen ist die Anzahl der Personen, denen das Unternehmen im Messenger Nachrichten senden kann.

    Messenger API für Instagram

    Aufrufe deiner App werden gegen die Anzahl der Aufrufe, die sie je professionellem Instagram-Konto durchführen kann, und anhand der verwendeten API gezählt.

    Conversations API

    • Je professionellem Instagram-Konto kann deine App zwei Aufrufe pro Sekunde durchführen

    Send API

    • Bei Nachrichten, die Text, Links, Reaktionen und Sticker beinhalten, kann deine App 100 Aufrufe pro Sekunde je professionellem Instagram-Konto durchführen
    • Bei Nachrichten, die Audio- oder Video-Inhalte beinhalten, kann deine App 10 Aufrufe pro Sekunde je professionellem Instagram-Konto durchführen

    Private Replies API

    • Bei privaten Antworten auf Instagram Live-Kommentare kann deine App 100 Aufrufe pro Sekunde je professionellem Instagram-Konto durchführen
    • Bei privaten Antworten auf Instagram-Beiträge und -Reels kann deine App 750 Aufrufe pro Stunde je professionellem Instagram-Konto durchführen

    Seiten

    Die Seiten-Ratenbegrenzungen können die Plattform- oder die BUC-Ratenbegrenzungslogik verwenden, je nachdem, welcher Schlüsseltyp verwendet wird. Alle Pages API-Aufrufe, die mit einem Seiten- oder Systemnutzer-Zugriffsschlüssel getätigt werden, verwenden die nachstehende Ratenbegrenzungsberechnung. Alle mit App- oder Nutzer-Zugriffsschlüsseln getätigten Aufrufe unterliegen den App- oder Nutzer-Ratenbegrenzungen.

    Anfragen, die deine App mit einem Seiten-Zugriffsschlüssel oder einem Systemnutzer-Zugriffsschlüssel an die Pages API sendet, werden zur Aufrufanzahl deiner App addiert. Die Anzahl der Aufrufe einer App ist die Anzahl der Aufrufe, die sie während eines rollierenden Zeitfensters von einer Stunde durchführen kann:

    Calls within 24 hours = 4800 * Number of Engaged Users

    Die „Number of Engaged Users“ ist die Anzahl der Nutzer*innen, die pro 24 Stunden mit der Seite interagiert haben.

    Anfragen, die deine App mit einem Nutzer-Zugriffsschlüssel oder einem App-Zugriffsschlüssel an die Pages API sendet, folgen der Plattform-Ratenbegrenzungslogik.

    Wir empfehlen dir, ein Systemnutzer-Zugriffstoken zu verwenden, um Probleme mit der Ratenbegrenzung zu vermeiden, wenn du die Funktion für den Zugriff auf öffentliche Seiteninhalte nutzt.

    Spark AR Commerce Effect Management

    Anfragen, die deine App an Commerce-Endpunkte sendet, werden zur Aufrufanzahl deiner App addiert. Die Anzahl der Aufrufe einer App ist die Anzahl der Aufrufe, die die App während eines rollierenden Zeitfensters von einer Stunde durchführen kann. Sie wird wie folgt berechnet:

    Calls within one hour = 200 + 40 * Number of Catalogs

    Die „Number of Catalogs“ ist die Gesamtzahl von Katalogen in allen Commerce-Konten, die von deiner App verwaltet werden.

    Threads

    Calls to the Threads API are counted against the calling app's call count. An app's call count is unique for each app and app user pair and is the number of calls the app has made in a rolling 24-hour window. It is calculated as follows:
    Calls within 24 hours = 4800 * Number of Impressions
    The Number of Impressions is the number of times any content from the app user's Threads account has entered a person's screen within the last 24 hours. Rate limiting may also be subject to total CPU time per day:
    720000 * number_of_impressions for total_cputime
    2880000 * Number of Impressions for total_time
    Note: The minimum value for impressions is 10 (so if the impressions is less than 10 we default to 10).

    WhatsApp Business Management API

    Anfragen, die deine App an die WhatsApp Business Management API sendet, werden zur Aufrufanzahl deiner App addiert. Die Anzahl der Aufrufe einer App ist die Anzahl der Aufrufe, die die App während eines rollierenden Zeitfensters von einer Stunde durchführen kann. Für die folgende WhatsApp Business Management API kann deine App standardmäßig 200 Aufrufe pro Stunde, pro App und pro WhatsApp Business-Konto (WABA) durchführen. Für aktive WABAs mit mindestens einer registrieren Telefonnummer kann deine App 5000 Aufrufe pro Stunde, pro App und pro aktivem WABA durchführen.
    Art des Aufrufs Endpunkt

    GET

    /{whatsapp-business-account-id}

    GET, POST und DELETE

    /{whatsapp-business-account-id}/assigned_users

    GET

    /{whatsapp-business-account-id}/phone_numbers

    GET, POST und DELETE

    /{whatsapp-business-account-id}/message_templates

    GET, POST und DELETE

    /{whatsapp-business-account-id}/subscribed_apps

    GET

    /{whatsapp-business-account-to-number-current-status-id}

    Für die folgenden Credit Line APIs kann deine App 5000 Aufrufe pro Stunde, pro App durchführen.
    Art des Aufrufs Endpunkt

    GET

    /{business-id}/extendedcredits

    POST

    /{extended-credit-id}/whatsapp_credit_sharing_and_attach

    GET und DELETE

    /{allocation-config-id}

    GET

    /{extended-credit-id}/owning_credit_allocation_configs

    Um zu vermeiden, dass du deine Ratenbegrenzungen erreichste, empfehlen wir die Verwendung von Webhooks, mit denen du Statusänderungen für Nachrichten, Telefonnummern und WABAs im Auge behalten kannst.

    Weitere Informationen dazu, wie du deine aktuelle Ratennutzung abrufst, findest du unter Header.

    Header

    Alle von deiner App ausgegebenen API-Antworten, für die nach der BUC-Logik eine Ratenbegrenzung gilt, beinhalten einen X-Business-Use-Case-Usage-HTTP-Header (für Ads API-Aufrufe der Versionen 3.3 und älter) mit einem String im JSON-Format, der die aktuelle Nutzung der App-Ratenbegrenzung beschreibt. Dieser Header kann bis zu 32 Objekte in einem Aufruf zurückgeben.

    X-Business-Use-Case-Usage Header-Inhalt

    FehlercodeWertbeschreibung

    business-id

    Die ID des Unternehmens, das dem Schlüssel zugeordnet ist, der die API-Aufrufe tätigt.

    call_count

    Eine Ganzzahl, die den Prozentsatz der zulässigen Aufrufe definiert, die deine App in einem rollierenden Zeitraum von einer Stunde tätigt.

    estimated_time_to_regain_access

    Zeit in Minuten bis zur Aufhebung der Drosselung von Aufrufen.

    total_cputime

    Eine Ganzzahl, die den Prozentsatz der CPU-Zeit angibt, der für die Abfrageverarbeitung reserviert ist.

    total_time

    Eine Ganzzahl, die den Prozentsatz der Gesamtzeit angibt, der für die Abfrageverarbeitung reserviert ist.

    type

    Art der angewendeten Ratenbegrenzung. Folgende Werte sind möglich: ads_insights, ads_management, custom_audience, instagram, leadgen, messenger oder pages.

    ads_api_access_tier

    Nur für die Typen ads_insights und ads_management. Mit Stufen kann deine App auf die Marketing API zugreifen. Standardmäßig befinden sich Apps in der Stufe development_access. standard_access aktiviert die niedrigere Durchsatzratenbegrenzung. Um eine höhere Ratenbegrenzung zu erhalten und in die Standardstufe zu gelangen, kannst du „erweiterten Zugriff“ auf die Funktion Standardzugriff auf Ads Management anfordern.

    CPU-Zeit gesamt

    Die für die Verarbeitung der Anfrage benötigte CPU-Zeit. Wenn „total_cputime“ gleich 100 ist, werden Aufrufe möglicherweise gedrosselt.

    Zeit gesamt

    Die für die Verarbeitung der Anfrage benötigte Zeit. Wenn „total_time“ gleich 100 ist, werden Aufrufe möglicherweise gedrosselt.

    Ads API-Zugriffsstufe

    Nur für die Typen ads_insights und ads_management. Mit Stufen kann deine App auf die Marketing API zugreifen. Standardmäßig befinden sich Apps in der Stufe development_access. standard_access aktiviert die niedrigere Durchsatzratenbegrenzung. Um eine höhere Ratenbegrenzung zu erhalten und in die Standardstufe zu gelangen, kannst du „erweiterten Zugriff“ auf die Funktion Standardzugriff auf Ads Management anfordern.

    Beispiel X-Business-Use-Case-Usage Header-Wert

    x-business-use-case-usage: {
        "{business-object-id}": [
            {
                "type": "{rate-limit-type}",           //Type of BUC rate limit logic being applied.
                "call_count": 100,                     //Percentage of calls made. 
                "total_cputime": 25,                   //Percentage of the total CPU time that has been used.
                "total_time": 25,                      //Percentage of the total time that has been used.   
                "estimated_time_to_regain_access": 19,  //Time in minutes to regain access.
                "ads_api_access_tier": "standard_access"  //Tiers allows your app to access the Marketing API. standard_access enables lower rate limiting.
            }
        ],      
        "66782684": [
            {
                "type": "ads_management",
                "call_count": 95,
                "total_cputime": 20,
                "total_time": 20,
                "estimated_time_to_regain_access": 0,
                "ads_api_access_tier": "development_access" 
            }
        ],
        "10153848260347724": [
            {
                "type": "ads_insights",
                "call_count": 97,
                "total_cputime": 23,
                "total_time": 23,
                "estimated_time_to_regain_access": 0,
                "ads_api_access_tier": "development_access"
            }
        ],
        "10153848260347724": [
            {
                "type": "pages",
                "call_count": 97,
                "total_cputime": 23,
                "total_time": 23,
                "estimated_time_to_regain_access": 0
            }
        ],
    ...
    }

    Fehlercodes

    Wenn für deine App die BUC-Ratenbegrenzung erreicht ist, schlagen später von deiner App getätigte Aufrufe fehl und die App antwortet mit einem Fehlercode.

    FehlercodeBUC-Ratenbegrenzungstyp

    error code 80000, error subcode 2446079

    Ads Insights

    error code 80004, error subcode 2446079

    Verwaltung von Werbeanzeigen

    error code 80003, error subcode 2446079

    Custom Audiences

    error code 80002

    Instagram

    error code 80005

    LeadGen

    error code 80006

    Messenger

    error code 32

    Mit einem Nutzer-Zugriffsschlüssel getätigte Seitenaufrufe

    error code 80001

    Mit einem Seiten- oder Systemnutzer-Zugriffsschlüssel getätigte Seitenaufrufe

    error code 17, error subcode 2446079

    Ads API Version 3.3 und älter, außer Ads Insights

    error code 80008

    WhatsApp Business Management API

    error code 80014

    Katalog-Batch

    error code 80009

    Katalogverwaltung

    Beispiel-Fehlercodemeldung

    {   
    "error": {      
        "message": "(#80001) There have been too many calls to this Page account. Wait a bit and try again. For more info, please refer to https://developers.facebook.com/docs/graph-api/overview/rate-limiting.",      
        "type": "OAuthException",      
        "code": 80001,      
        "fbtrace_id": "AmFGcW_3hwDB7qFbl_QdebZ"   
        }
    }

    Best Practices

    • Wenn der Grenzwert erreicht ist, solltest du keine API-Aufrufe mehr vornehmen. Bei weiteren Aufrufen wird die Aufrufanzahl weiter erhöht und es dauert noch länger, bis Aufrufe wieder erfolgreich sind.
    • Sieh im X-Business-Use-Case-Usage-HTTP-Header nach, wie weit dein Werbekonto von diesem Grenzwert entfernt ist.
    • Prüfe den Fehlercode und den API-Endpunkt, um den Throttling-Typ zu bestätigen.
    • Wechsle zu anderen Werbekonten und kehre später wieder zu diesem Konto zurück.
    • Du solltest eher eine neue Werbeanzeige erstellen, als vorhandene zu ändern.
    • Sende Abfragen gleichmäßig zwischen zwei Zeitintervallen, damit keine Traffic-Spikes erzeugt werden.
    • Verwende Filter, um die Datenantwortgröße zu begrenzen und Aufrufe zu vermeiden, die überlappende Daten anfordern.

    FAQs

    Was gilt als API-Aufruf?

    Alle Aufrufe werden in die Ratenbegrenzungen einbezogen, nicht nur einzelne-API-Anfragen. Du kannst beispielsweise einen einzelnen API-Aufruf tätigen und mehrere IDs angeben. Dabei würde jede ID als eigener API-Aufruf erfasst werden.

    Dieses Konzept wir durch die folgende Tabelle erklärt.

    Beispielanfrage(n) Anzahl an API-Aufrufen

    GET https://graph.facebook.com/photos?ids=4

    GET https://graph.facebook.com/photos?ids=5

    GET https://graph.facebook.com/photos?ids=6

    3

    GET https://graph.facebook.com/photos?ids=4,5,6

    3

    Wir empfehlen, nach Möglichkeit mehrere IDs in einer API-Anfrage anzugeben, da sich damit die Performance deiner API-Antworten verbessert.

    Ich erstelle einen Scraper. Gibt es etwas, das ich beachten muss?

    Wenn du einen Dienst erstellst, der Daten ausliest, lies dir bitte unsere Scraping-Bedingungen durch.