Zum Hauptinhalt springen

Rate-Limits

Plan-spezifische Rate-Limits für Queries, Embeddings und Storage. Plus Best-Practices für Burst-Verkehr.

Rate-Limits gelten pro Workspace + pro Endpoint-Klasse. Im 429-Response liefert Anirag immer einen Retry-After-Header in Sekunden.

Pro-Minute-Limits (Burst)

PlanLimit
Free Trial / Free API30 req / min
Starter (49 € / Mo)60 req / min
Business (199 € / Mo)300 req / min
EnterpriseCustom (ab 1 000 req / min, nach Last-Profil)

Monats-Volumen-Limits

PlanQueries / MoEmbeddings / MoOverage-Pricing
Free Trial / Free API10 k100 knicht möglich (Service stoppt)
Starter50 k100 k0,02 € / Query · 0,001 € / 1k Embeddings
Business500 k1 M0,015 € / Query · 0,0008 € / 1k Embeddings
EnterpriseCustom + CommitCustom + CommitVorausgehandelte Bundles, Volumen-Rabatt ab 5 M / Mo

Storage pro Workspace

PlanStorage
Free Trial / Free API1 GB
Starter5 GB
Business50 GB (~50 000 PDFs Ø 1 MB)
EnterpriseCustom — bewusst nicht „unlimited", reale Hardware-Kosten kalkuliert

Response-Header

Anirag liefert auf jedem Response folgende Header zur Quota-Beobachtung:

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 287
X-RateLimit-Reset: 1715000060
X-Quota-Queries-Limit: 500000
X-Quota-Queries-Remaining: 412 583
X-Quota-Embeddings-Limit: 1000000
X-Quota-Embeddings-Remaining: 845 220

X-RateLimit-Reset ist Unix-Timestamp (Sekunden) für den nächsten Burst-Bucket-Reset.

Best-Practices für Burst-Verkehr

Pattern 1: Backoff mit Retry-After

async function queryWithBackoff(req) {
  for (let attempt = 0; attempt < 3; attempt++) {
    try {
      return await client.query(req);
    } catch (err) {
      if (err.status === 429) {
        const retryAfter = Number(err.headers["retry-after"]) || 30;
        await new Promise((r) => setTimeout(r, retryAfter * 1000));
        continue;
      }
      throw err;
    }
  }
  throw new Error("Max retries exceeded");
}

Pattern 2: Eigene Queue mit Concurrency-Limit

Für Bulk-Indexing-Jobs — limitieren Sie selbst auf z. B. 10 parallele Requests, statt Anirag-Limits auszureizen:

import pLimit from "p-limit";
const limit = pLimit(10);
 
const results = await Promise.all(
  documents.map((doc) =>
    limit(() => client.docs.upload({ collection_id, file: doc }))
  )
);

Soft-Caps für Spending-Schutz

Im Web-UI können Sie pro Workspace Soft-Caps setzen — z. B. „Stop bei 600 k Queries / Mo, sende Slack-Alert bei 500 k". So vermeiden Sie Surprise-Bills durch Bug-Loops in Ihrem Code.

Rate-Limit-Erhöhung beantragen

Für temporäre Spikes (Black Week, Produkt-Launch, Migration) — formloser Request an support@anirag.io mit:

  • Workspace-ID
  • Erwartetes Spike-Volumen + Dauer
  • Vorlauf (idealerweise 5 Werktage)

Anirag erhöht für Business-Pläne typisch 2x für 7 Tage ohne Mehrkosten. Enterprise: nach SLA-Vereinbarung.