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

# Credits und Limits: Preise, Reservierungen, Parallelität und Ratenlimits

> Was jeder Task kostet, wie Credits reserviert und abgebucht werden und welche Limits 429 oder 503 liefern.

Jeder Task hat einen Preis in Credits. Der Preis wird beim Einreichen reserviert, bei Abschluss abgebucht und bei einem Fehlschlag freigegeben. Ihr Tarif legt fest, wie viele Tasks Sie gleichzeitig in der Warteschlange oder in Ausführung haben können.

Die aktuelle Liste der Engines und Preise liefert der öffentliche Capabilities-Endpunkt. Er benötigt keinen API-Schlüssel:

```bash theme={"theme":"css-variables"}
curl https://api.querying.ai/v1/capabilities
```

Fügen Sie `?taskType=GEMINI` hinzu, um eine einzelne Engine zu lesen. Aliasse wie `GOOGLE_AIO` werden akzeptiert. Siehe [Capabilities abrufen](/de/api-reference/capabilities.md).

## Credits pro Task

| `taskType` | Credits |
| - | - |
| `CHATGPT` | 1 pro Antwort. Jeder Eintrag in `payload.followUps` ist eine weitere Antwort. |
| `PERPLEXITY`, `BING_COPILOT`, `META_AI` | 1 |
| `GEMINI`, `GOOGLE` (`GOOGLE_AIO`), `AIMODE` (`GOOGLE_AIMODE`), `NAVER_AI_BRIEF`, `NAVER_AI_TAB`, `QWEN`, `DOUBAO` | 1,25 |
| `GOOGLE_SERP`, `NAVER_SERP`, `BING_SEARCH`, `REDDIT` | 1 |
| `COMMERCE_SERP` | 3 |
| `COMMERCE_PRODUCT` | 3 |
| `WEB_SCRAPE`, `WEB_MAP` | 1 |
| `WEB_CRAWL` | 1 pro zurückgegebener Seite. Reserviert beim Einreichen `maxPages` Credits; nicht lesbare Seiten werden nicht berechnet. |
| `KEYWORD_VOLUME` | 3 pro Task (bis zu 100 Keywords) |
| `PROMPT_RESEARCH` | 11 |
| `GEO_SCORE` | 10 pro Seite, plus 5 pro Bild, dessen Text gelesen wird (`images.read`, höchstens 12). Reserviert beim Einreichen 70; nicht lesbare Bilder werden nicht berechnet, ein Bild mit wiederverwendeter Lesung der letzten 90 Tage (`images.reused`) kostet 2. |
| `AI_RENDERING` ([AI Rendering](/de/research/ai-rendering.md)) | 5 pro Rendering, plus 5 pro Bild, dessen Text gelesen wird, und 2 pro Bild mit wiederverwendeter Lesung der letzten 90 Tage, höchstens 12. Reserviert beim Einreichen 65. Eine Aktualisierung kostet dasselbe. |
| Fragen einer Abfrage mit [Product Lookup](/de/research/product-lookup.md#preis) | 10 pro Produkt (das Produkt und jedes Wettbewerbsprodukt) und 5 pro Shopping-Prompt, gleich welche Engines gefragt werden. Jede Frage ist ein Engine-Task und kostet ihren Anteil an diesem Preis statt des Engine-Preises oben. |
| Place Lookup (`POST /v1/place-lookup`) | 10 pro Abfrage der Standard-Engines des Landes: 1 pro Frage in `KR`, 1,25 anderswo. Eine Abfrage weniger Engines zahlt die Fragen, die sie sendet. Siehe [Place Lookup](/de/research/place-lookup.md). |
| `CITATION_ANALYSIS` | Nach Verbrauch abgerechnet, bis zur Reservierung. Siehe unten. |

| Zusatzoption | Credits |
| - | - |
| `payload.include.analysis` | 2 zusätzlich zum Engine-Preis, nur berechnet, wenn `analysis.status` `ok` ist |
| `payload.include.html` | 0,25 bei `CHATGPT`, `PERPLEXITY` und `META_AI`, nur berechnet, wenn `html.status` `ok` ist. Kostenlos bei `GEMINI`, `GOOGLE` und `AIMODE`. |
| `payload.include.citationAnalysis` | Ein separater `CITATION_ANALYSIS`-Task, nach Verbrauch abgerechnet |
| Wettbewerberauswertung eines Monitors | 80 Credits pro 30 Tage und Monitor, verteilt auf seine Läufe. Siehe [GEO-Monitoring](/de/monitors.md#kosten-und-zeitplan). |

Die Preise hängen nicht vom Tarif ab, wohl aber der Dollarwert eines Credits. Credits können zwei Nachkommastellen haben, etwa `1.25`.

### Abrechnung von Citation Analysis

Ein `CITATION_ANALYSIS`-Task reserviert beim Einreichen `20 + 12 × citations + 80 × ⌈answer characters ÷ 1,000⌉` Credits. Bei Abschluss werden `1 + ⌈input tokens ÷ 500⌉ + ⌈output tokens ÷ 100⌉ + 2 × source fetches` berechnet, nie mehr als die Reservierung. Der Rest der Reservierung wird freigegeben. Siehe [Citation Analysis](/de/research/citation-analysis.md).

## Reservieren, abbuchen, freigeben

**1. Einreichen: reservieren**

Der Preis des Tasks (bei `WEB_CRAWL`, `GEO_SCORE` und `CITATION_ANALYSIS` der Höchstbetrag) wird von Ihrem verfügbaren Guthaben in eine Reservierung verschoben. Deckt das Guthaben ihn nicht, liefert die Einreichung `402 INSUFFICIENT_CREDITS`. Die Antwort beim Einreichen zeigt `credits` als `0`.

**2. Abgeschlossen: abbuchen**

Der Betrag wird aus der Reservierung abgebucht. Polling im Endzustand und Webhook zeigen ihn in `creditsCharged`.

**3. Fehlgeschlagen: freigeben**

Die Reservierung kehrt auf Ihr Guthaben zurück. Ein fehlgeschlagener Task kostet `0`.

Ein neues Konto erhält bei der Registrierung 500 Credits.

## Guthaben abfragen

`GET /v1/credits` liefert die Credits Ihres Kontos. Die Abfrage kostet nichts, ein Programm kann sie also vor jedem Batch ausführen. Siehe [Credit-Guthaben](/de/api-reference/credits.md).

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

```json theme={"theme":"css-variables"}
{
  "success": true,
  "remaining": 1879939,
  "perCycle": 1000000,
  "cycleResetsAt": "2026-11-14T07:37:57.000Z",
  "reserved": 61,
  "plan": "max",
  "topUpBalance": { "credits": 1000000, "nextExpiresAt": "2027-01-19T10:01:57.000Z", "nextCredits": 1000000 }
}
```

* `remaining` ist, was Sie jetzt ausgeben können. Bereits eingereichte Tasks reservieren ihren Preis in `reserved`; ziehen Sie ihn nicht noch einmal ab.
* `perCycle` ist, was Ihr Tarif pro Zyklus gutschreibt, und `cycleResetsAt`, wann der aktuelle Zyklus endet. Ohne aktiven Tarif sind beide `null`.
* `topUpBalance` nennt die aufgeladenen Credits in `remaining`, das Datum, an dem die nächsten davon verfallen, und wie viele es sind. Ohne aufgeladene Credits ist es `null`. Aufgeladene Credits gelten drei Monate ab Kauf, bleiben bei Verlängerungen erhalten und werden nach den Credits Ihres Tarifs verbraucht.

Der Schlüssel eines Unterkontos erhält `403 SUB_ACCOUNT_FORBIDDEN`, weil ein Unterkonto Ihre Credits verbraucht. Siehe [Unterkonten](/de/sub-accounts.md).

## Verbrauch abfragen

`GET /v1/usage` liefert die Credits, die Ihrem Konto über einen Zeitraum in UTC-Datumsangaben berechnet wurden, aufgeteilt nach Tag, Engine und API-Schlüssel, wie Sie es wählen. Die Abfrage kostet nichts. Siehe [Credit-Verbrauch](/de/api-reference/usage.md).

```bash theme={"theme":"css-variables"}
curl "https://api.querying.ai/v1/usage?from=2026-10-01&to=2026-10-20&groupBy=engine" \
  -H "Authorization: Bearer $QUERYING_API_KEY"
```

```json theme={"theme":"css-variables"}
{
  "success": true,
  "data": {
    "from": "2026-10-01",
    "to": "2026-10-20",
    "groupBy": ["engine"],
    "credits": 66.25,
    "tasks": 65,
    "rows": [
      { "taskType": "CHATGPT", "credits": 49, "tasks": 49 },
      { "taskType": "GEMINI", "credits": 6.25, "tasks": 5 },
      { "taskType": "PERPLEXITY", "credits": 11, "tasks": 11 }
    ]
  }
}
```

* `from` und `to` sind UTC-Datumsangaben, beide Tage sind eingeschlossen. Standard sind der erste Tag des laufenden UTC-Monats und heute. Ein Zeitraum umfasst höchstens 366 Tage.
* `groupBy` nimmt `day`, `engine` und `key`, durch Kommas getrennt, und steht standardmäßig auf `day,engine`. Eine Zeile enthält die Felder der gewählten Aufteilungen, und eine Kombination ohne Berechnung hat keine Zeile. `credits` und `tasks` oben addieren alle Zeilen.
* `groupBy=key` zeigt, wer die Credits verbraucht hat. Ein mit einem API-Schlüssel gesendeter Task hat `"source": "api"` und ein `apiKey` mit `id`, `keyPrefix`, `name` und `subAccountId`. Verbrauch ohne API-Schlüssel hat `source` als `monitor` (die Läufe eines Monitors), `playground` oder `dashboard`, und `apiKey` ist `null`.
* Der Verbrauch addiert, was Tasks berechnet wurde, und ein fehlgeschlagener Task kostet `0`. Die Wettbewerberauswertung eines Monitors wird ohne Task berechnet, senkt also Ihr Guthaben, erscheint aber nicht im Verbrauch.
* Die Tasks Ihrer [Unterkonten](/de/sub-accounts.md) sind in Ihrem Verbrauch enthalten, und `apiKey.subAccountId` nennt das Unterkonto, dem ein Schlüssel gehört. [`GET /v1/sub-accounts/{id}/usage`](/de/api-reference/sub-accounts/get-usage) liest ein einzelnes Unterkonto. Der Schlüssel eines Unterkontos erhält `403 SUB_ACCOUNT_FORBIDDEN`.

## Warteschlange abfragen

`GET /v1/async/status` liefert Ihre wartenden und laufenden Tasks neben dem Parallelitätslimit, auf das sie angerechnet werden. Die Abfrage kostet nichts. Siehe [Warteschlangenstatus](/de/api-reference/queue-status.md).

```bash theme={"theme":"css-variables"}
curl https://api.querying.ai/v1/async/status \
  -H "Authorization: Bearer $QUERYING_API_KEY"
```

```json theme={"theme":"css-variables"}
{
  "success": true,
  "queuedTasks": 19,
  "processingTasks": 6,
  "priorityBreakdown": [{ "priority": 8, "count": 3 }, { "priority": 1, "count": 16 }],
  "concurrency": { "used": 25, "max": 200 }
}
```

* `concurrency.used` ist `queuedTasks` plus `processingTasks`, die beiden Zahlen, die das [Parallelitätslimit](#parallelität-des-tarifs) Ihres Tarifs addiert. `max` ist dieses Limit, also ist `max - used` der verbleibende Platz für neue Tasks.
* `priorityBreakdown` listet die wartenden Tasks nach der beim Einreichen angegebenen `priority`, höchste zuerst.
* Die Zähler enthalten die Tasks Ihrer Unterkonten, die Ihr Limit teilen. Der Schlüssel eines Unterkontos erhält `403 SUB_ACCOUNT_FORBIDDEN` und liest seine eigenen Zähler unter [`GET /stats`](/de/api-reference/stats).

## Tarife

| Tarif | Preis pro Monat | Credits pro Monat | Gleichzeitige Tasks |
| - | - | - | - |
| Free | \$0 | 500 bei Registrierung | 2 |
| Basic | \$20 | 8.000 | 50 |
| Pro | \$200 | 170.000 | 200 |
| Scale | \$500 | 480.000 | 500 |
| Max | \$1,000 | 1.000.000 | 1.000 |

Vergleichen Sie die Tarife auf der [Preisseite](https://querying.ai/de/pricing).

### Parallelität des Tarifs

Das Parallelitätslimit zählt die Tasks Ihres Kontos in `QUEUED` und `PROCESSING` zusammen. Es begrenzt nicht, wie schnell Sie einreichen. Eine Einreichung, die es überschreiten würde, liefert `429 PLAN_CONCURRENCY_LIMIT` mit `details.limit`, `details.active` und `Retry-After`. Ein Vertrag kann für Ihr Konto ein anderes Limit festlegen, und ein übergeordnetes Konto kann eines für ein [Unterkonto](/de/sub-accounts.md) festlegen.

## Limits pro Schlüssel und Unterkonto

| Limit | Wo festgelegt | Bei Erreichen |
| - | - | - |
| Tägliches Credit-Limit eines API-Schlüssels | Schlüssel im [Dashboard](https://querying.ai/dashboard/keys) verwalten, 0,01 bis 20.000.000 Credits | `429 KEY_DAILY_CREDIT_LIMIT` bis zur nächsten UTC-Mitternacht. `Retry-After` zählt die Sekunden bis dahin. |
| `monthlyCreditLimit` eines Unterkontos | Das übergeordnete Konto. Siehe [Unterkonten](/de/sub-accounts.md). | `429 SUB_ACCOUNT_CREDIT_LIMIT` |

Das Tageslimit des Schlüssels zählt die Reservierung, die ein Task benötigt; ein Task wird also abgelehnt, wenn `used + price` das Limit überschreiten würde.

## Anfragerate und Gegendruck

| Limit | Antwort |
| - | - |
| 1.200 Anfragen pro Minute und `Authorization`-Zugangsdaten auf `/v1/*` | `429` von der Edge |
| 6.000 Anfragen pro Minute und Quell-IP | `429` von der Edge |
| Die Warteschlange einer Engine ist voll | `503 QUEUE_BACKPRESSURE` mit `Retry-After` |
| Die Annahme ist ausgelastet | `503 SERVER_OVERLOADED` mit `Retry-After` |
| Die globale Task-Warteschlange ist voll | `503 SERVER_OVERLOADED` mit `Retry-After` |
| Eine Engine nimmt vorübergehend keine Tasks an | `503 ENGINE_UNAVAILABLE` mit `Retry-After` |

`429`-Antworten der Edge entstehen vor der API und tragen weder den JSON-Fehlerumschlag noch `Retry-After`. Warten Sie bei einer solchen Antwort mit exponentiell wachsender Verzögerung. Ein `429` oder `503` der Task-Einreichungs-Endpunkte trägt einen `Retry-After`-Header in Sekunden. Codes und Empfehlungen zur Wiederholung finden Sie unter [Fehler](/de/concepts/errors.md).

## Große Einreichungen takten

**1. Batch statt Schleife**

Ein `POST /v1/async/task/batch` mit 500 Einträgen ist eine Anfrage gegenüber dem Edge-Limit. Für mehr Tasks als Ihr Parallelitätslimit verwenden Sie `POST /v1/batches`: Der Server gibt Einträge frei, sobald Platz frei wird. Siehe [Batches und Raster](/de/concepts/bulk-submission.md).

**2. Retry-After beachten**

Warten Sie die Sekunden aus `Retry-After` ab, bevor Sie einen abgelehnten Task erneut einreichen. Verwenden Sie denselben `idempotencyKey`, damit eine Wiederholung nie ein Duplikat erzeugt.

**3. Abhängige Arbeit nacheinander ausführen**

Die Ausführungsreihenfolge ist nicht garantiert. Warten Sie, bis ein Task abgeschlossen ist, bevor Sie Arbeit einreichen, die von seinem Ergebnis abhängt.

**4. Zähler beobachten**

[`GET /v1/async/status`](/de/api-reference/queue-status) liefert Ihre wartenden und laufenden Tasks neben Ihrem Tariflimit, damit Sie darunter bleiben. [`GET /stats`](/de/api-reference/stats) ergänzt die Tasks, die in den letzten 24 Stunden abgeschlossen wurden.


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