Price API und Preis-Badge
Zwei Adressen liefern Ihnen die aktuellen Preise von UberLLM ohne einen API key oder ein Konto:
- Preise als JSON:
GET https://api.uberllm.dev/api/v1/public/prices - Ein Preis-Badge:
https://api.uberllm.dev/api/v1/public/badge/<model-id>.svg
Beide zeigen den gleichen Preis wie auf der Modellseite auf uberllm.dev: den aktuell niedrigsten Verkäuferpreis. Die Preise werden alle 30 Sekunden neu eingelesen.
Preise als JSON
curl "https://api.uberllm.dev/api/v1/public/prices?model=deepseek/deepseek-v4-flash"
{
"updated_at": "2026-11-13T06:40:12Z",
"models": [
{
"id": "deepseek/deepseek-v4-flash",
"name": "DeepSeek V4 Flash",
"type": "text",
"input_per_m": 0.0091,
"output_per_m": 0.0182,
"list_input_per_m": 0.09,
"list_output_per_m": 0.18,
"discount_pct": 89.9,
"unit": "1M tokens",
"price_text": "$0.0091/M in · $0.0182/M out",
"page_url": "https://uberllm.dev/models/deepseek/deepseek-v4-flash"
}
]
}
Die oben genannten Zahlen wurden am 13. November 2026 gelesen. Ihre werden abweichen, da sich die Preise ändern.
Was Sie anfragen können
Alle diese sind optional. Ohne Angaben erhalten Sie jedes Modell, das Sie derzeit aufrufen können.
| Parameter | Was es bewirkt |
|---|---|
model |
Eine Modell-ID, zum Beispiel deepseek/deepseek-v4-flash. |
type |
Nur text, image, video oder audio Modelle. Musik, Text-zu-Sprache und Sprache-zu-Text sind audio. |
q |
Wörter, die in der ID oder dem Namen gefunden werden sollen. Jedes Wort muss übereinstimmen: q=claude opus. |
limit |
Höchstens so viele Modelle, von 1 bis 1000. |
Wenn model ein Modell benennt, das nicht existiert oder das derzeit niemand anbietet,
ist models eine leere Liste und die Antwort ist immer noch 200. Eine alte Modell-ID, die umbenannt wurde,
antwortet mit dem Modell, zu dem sie wurde.
Was zurückkommt
Alle Preise sind in US-Dollar. Ein Feld ohne Wert wird weggelassen.
| Feld | Bedeutung |
|---|---|
id, name |
Die Modell-ID, die Sie in einer Anfrage senden, und ihr Name. |
type |
text, image, video oder audio. |
input_per_m, output_per_m |
Textmodelle: der aktuelle Preis für 1 Millionen Input-Tokens und 1 Millionen Output-Tokens. |
list_input_per_m, list_output_per_m |
Textmodelle: der veröffentlichte Listenpreis des Modells für dasselbe. |
price |
Bild-, Video- und Audiomodelle: der aktuelle Preis für ein unit. |
list_price |
Bild-, Video- und Audiomodelle: der offizielle Preis für ein unit. Wird nur gesendet, wenn er über price liegt. |
discount_pct |
Wie weit der aktuelle Preis unter dem Listenpreis liegt, von 1 bis 100. Bei einem Textmodell ist es der kleinere der Input-Reduzierung und der Output-Reduzierung. Wird weggelassen, wenn kein Listenpreis vorhanden ist oder der Preis nicht darunter liegt. |
unit |
Was ein Preis kauft: 1M tokens, image, megapixel, second, video, track, minute, 1k characters oder request. |
price_text |
Der Preis in Worten, auf Englisch, bereit zur Anzeige: $0.0091/M in · $0.0182/M out, $0.059 / sec, about $0.0315 per image. |
page_url |
Die Modellseite auf uberllm.dev. |
updated_at |
Wann diese Preise gelesen wurden. |
Eine Anfrage kann mehr kosten als der angezeigte Preis, wenn die günstigsten Anbieter ausgelastet sind. Siehe Pricing für die Abrechnung einer Anfrage.
Von einer Webseite
Jede Webseite kann die Preise direkt aus dem Browser lesen:
const res = await fetch("https://api.uberllm.dev/api/v1/public/prices?type=text&limit=10");
const { models } = await res.json();
for (const m of models) console.log(m.name, m.price_text);
Preis-Badge
Ein kleines Bild mit dem Namen des Modells und seinem aktuellen Preis. Es aktualisiert sich von selbst.
Markdown, für eine README-Datei:
[](https://uberllm.dev/models/deepseek/deepseek-v4-flash?utm_source=embed&utm_medium=referral&utm_campaign=price-badge)
HTML:
<a href="https://uberllm.dev/models/deepseek/deepseek-v4-flash?utm_source=embed&utm_medium=referral&utm_campaign=price-badge">
<img src="https://api.uberllm.dev/api/v1/public/badge/deepseek/deepseek-v4-flash.svg"
alt="DeepSeek V4 Flash price on UberLLM" height="20">
</a>
- Fügen Sie die Modell-ID unverändert, inklusive Schrägstrichen, in die Adresse ein und beenden Sie sie mit
.svg. - Das Badge zeigt auch an, wie weit der Preis unter dem Listenpreis liegt. Fügen Sie
?discount=0hinzu, um nur den Preis anzuzeigen. - Wenn das Modell derzeit von niemandem angeboten wird, zeigt das Badge "derzeit nicht verfügbar" an und keinen Preis. Es zeigt den Preis wieder an, sobald ein Anbieter zurückkehrt.
- Eine Modell-ID, die nicht existiert, antwortet mit
404. - Der Link enthält
utm_source=embed, damit wir erkennen können, dass ein Besuch von einem Badge kam. Es werden keine Informationen über Ihre Leser aufgezeichnet. Entfernen Sie es, wenn Sie es vorziehen.
Limits und Caching
- 300 Anfragen pro Minute von einer IP-Adresse an der JSON-Adresse. Darüber hinaus erhalten Sie
429mit einemRetry-AfterHeader. - Badges haben keine Anfragelimits, und ein Badge für ein echtes Modell ist immer ein Bild: wenn Preise für einen Moment nicht gelesen werden können, steht dort "momentan nicht verfügbar" anstatt zu brechen.
- JSON-Antworten können 60 Sekunden lang zwischengespeichert werden, Badges 5 Minuten lang. Seiten, die Bilder proxen (GitHub tut dies), können ein Badge etwas länger halten.
- Modelle für Inhalte für Erwachsene werden aus beiden ausgeschlossen. Sie sind in
GET /v1/models, gekennzeichnet mit"nsfw": true.
Fehler
| Status | error.code |
Grund |
|---|---|---|
400 |
invalid_type, invalid_limit, invalid_request |
Ein Parameter hat einen nicht erlaubten Wert. Die Meldung sagt, welcher. |
404 |
model_not_found, not_found |
Nur Badge: Modell existiert nicht, oder die Adresse endet nicht mit .svg. |
429 |
rate_limited |
Nur JSON: Zu viele Anfragen von Ihrer IP-Adresse. Warten Sie eine Minute. |
503 |
unavailable |
Nur JSON: Preise konnten gerade nicht gelesen werden. Versuchen Sie es in ein paar Sekunden erneut. |
Verwandtes
GET /v1/models: die vollständige Modellliste im OpenAI-Format, mit Kontextgrößen und was jedes Modell unterstützt.- MCP server: die gleichen Preise als Tools für einen KI-Assistenten.
- OpenAPI spec: beide Adressen stehen darin.