Im Tarif bleiben
Das meiste Kontingent geht für Daten drauf, die sich nicht geändert haben. Hier steht, was jeder Tarif erlaubt, welche Aufrufe frei sind und welche Form fünf Anfragen ersetzt.
Was ein Tag erlaubt
Tagesgrenzen je Schlüssel, aus der Konfiguration, die die Middleware durchsetzt. Rate Limits behandelt die Minutenseite.
| Tarif | Anfragen / Tag | MCP-Aufrufe / Tag | Seitentiefe |
|---|---|---|---|
| Explorer | 50 | 20 | 5 |
| Builder | 2,000 | 500 | 25 |
| Studio | 10,000 | 2,500 | Keine Grenze |
| Enterprise | 50,000 | 10,000 | Keine Grenze |
MCP-Aufrufe sind eine Untergrenze innerhalb des Anfragelimits, nie ein Zusatzkontingent: die zuerst erreichte Grenze lehnt ab, wie die MCP-Limitseite erklärt. Mehr als 10 Seiten in 90 Sekunden werden ebenfalls abgelehnt. Durchlaufen Sie den Katalog also stetig statt parallel.
Die Aufrufe, die nichts kosten
Es sind zwei, und zusammen entscheiden sie meist darüber, ob ein Tarif passt.
- Ein
304 Not Modifiedzählt nicht gegen Ihr Tageslimit. Vorhandenes zu revalidieren ist frei, es erneut zu laden nicht. Caching erklärt die Mechanik. - Eine Antwort aus Ihrem eigenen Cache erreicht uns gar nicht. Beachten Sie das gesendete
Cache-Control, und eine stark besuchte Seite schrumpft auf einen Aufruf pro Cache-Lebensdauer. - Auch eine Webhook-Zustellung ist keine Anfrage von Ihnen, denn wir rufen Sie an. Änderungen zu empfangen statt zu pollen kostet deshalb nichts pro Datensatz, und Den Katalog spiegeln baut darauf auf.
Mehr pro Aufruf verlangen
Dieselbe Seite, dieselben Daten, ein Viertel der Anfragen. Diese Endpunkte gibt es, weil die Schleife, die sie ersetzen, die ist, die jeder zuerst schreibt.
// Four calls, one page render.const g17 = await gunspec.firearms.get('glock-g17')const p226 = await gunspec.firearms.get('sig-sauer-p226')const m9 = await gunspec.firearms.get('beretta-92fs')const p320 = await gunspec.firearms.get('sig-sauer-p320') // One call, the same page, and the fields already lined up for a// table. Up to five ids, as one comma-separated string.const { data } = await gunspec.firearms.compare({ ids: 'glock-g17,sig-sauer-p226,beretta-92fs,sig-sauer-p320',})- Bis zu fünf Datensätze in einem Aufruf vergleichen, statt jeden einzeln zu holen. Die Felder kommen bereits ausgerichtet zurück.
- Bis zu fünfzig Namen in einem Aufruf auflösen statt einzeln, wie der Resolve-Leitfaden zeigt.
- Mit
fieldsnur anfordern, was Sie rendern, und lieberper_pageerhöhen als mehr Seiten zu holen: eine Seite mit hundert kostet eine Anfrage, fünf Seiten mit zwanzig kosten fünf. - Nehmen Sie den Endpunkt, der Ihre Frage bereits beantwortet (Varianten, ähnliche Modelle, Anbauteile), statt sie aus Liste plus Schleife zusammenzusetzen.
Den stärksten Schlüssel beobachten, nicht den Durchschnitt
Limits gelten je Schlüssel, und die API lehnt einen Schlüssel nach dem anderen ab. Ein kontoweiter Durchschnitt verdeckt also genau den, der gleich zu scheitern beginnt. Der Usage-Endpunkt nennt beides, und dieselben Zahlen stehen in Ihrem Profil.
// What the account has actually spent, from the same counters// the caps are checked against.const { data } = await gunspec.usage.get() if (data.currentMonth.percentage > 80) { notify(`${data.currentMonth.used} of ${data.currentMonth.limit} requests used this month`)} // Watch the busiest key, never the account's sum: the API refuses one// key at a time, so an average hides the key about to start failing.const busiest = data.mcp?.busiestKeyTodayif (busiest && busiest.percentage > 80) { notify(`${busiest.keyName} is at ${busiest.percentage}% of today's MCP allowance`)}Optimieren oder upgraden
Beides ist legitim. Das Signal sagt, worum es tatsächlich geht.
| Was Sie sehen | Was es bedeutet |
|---|---|
| Viele Anfragen, wenige verschiedene Datensätze | Cachen. Sie fragen dieselben Zeilen innerhalb ihrer Lebensdauer erneut ab. |
| Schübe von 429 zur vollen Stunde | Zeitplan entzerren und Jitter ergänzen. Ihr Cronjob stürmt, nicht Ihr Verkehr. |
| Stetig mehr verschiedene gelesene Datensätze | Upgraden. Das ist echte Nachfrage, die kein Cache wegnimmt. |
| PLAN_REQUIRED an einem Endpunkt | Upgraden oder darauf verzichten. Ein neuer Schlüssel im selben Tarif bekommt dieselbe Antwort. |
| Tiefenlimit beim Durchlauf erreicht | Den Durchlauf in engere Scheiben filtern oder in einen Tarif ohne Seitengrenze wechseln. |