Toolorah API
Führe unsere Tools über HTTPS aus: ein einheitlicher Endpunkt pro Tool, JSON als Ein- und Ausgabe. Verfügbar mit Pro (1.000 Aufrufe/Tag) und Elite (10.000 Aufrufe/Tag).
Schnellstart
Jedes Tool verwendet den unten angegebenen Endpunkt. Sende deinen API-Schlüssel als Bearer-Token und einen JSON-Body mit input und options. Hier ist derselbe Aufruf in drei Sprachen: POST /api/v1/<tool> { input, options }
curl -X POST https://toolorah.com/api/v1/base64 \
-H "Authorization: Bearer nt_live_xxx" \
-H "Content-Type: application/json" \
-d '{"input":"hello world","options":{"mode":"encode"}}' const res = await fetch("https://toolorah.com/api/v1/base64", {
method: "POST",
headers: {
"Authorization": "Bearer nt_live_xxx",
"Content-Type": "application/json",
},
body: JSON.stringify({ input: "hello world", options: { mode: "encode" } }),
});
const data = await res.json();
console.log(data.result); // "aGVsbG8gd29ybGQ=" import requests
res = requests.post(
"https://toolorah.com/api/v1/base64",
headers={"Authorization": "Bearer nt_live_xxx"},
json={"input": "hello world", "options": {"mode": "encode"}},
)
print(res.json()["result"]) # aGVsbG8gd29ybGQ= Authentifizierung
Erstelle auf der Seite API-Schlüssel einen Schlüssel und sende ihn bei jeder Anfrage als Bearer-Token: API-Schlüssel abrufen
Authorization: Bearer nt_live_xxxxxxxxxxxxxxxx Schlüssel besitzen die Berechtigungen des Tarifs, unter dem sie erstellt wurden. Behandle sie wie Passwörter: Bewahre sie serverseitig auf und widerrufe offengelegte Schlüssel auf der Schlüsselseite.
Anfragen und Antworten
Alle Endpunkte verwenden POST und akzeptieren einen JSON-Body mit zwei Feldern:
input— der zu verarbeitende Text (oder bei PDF-Tools eine Base64-Datei).options— ein toolspezifisches Einstellungsobjekt. Optional; sinnvolle Standardwerte werden angewendet.
Ein erfolgreicher Aufruf gibt 200 mit dieser Struktur zurück:
{
"tool": "base64",
"result": "aGVsbG8gd29ybGQ=",
"meta": { }
} Fehler geben einen Nicht-2xx-Status mit einem einzelnen error-Feld zurück:
{ "error": "Invalid or revoked API key." } Ratenlimits
- Pro — 1.000 Aufrufe/Tag
- Elite — 10.000 Aufrufe/Tag
Limits werden um 00:00 UTC zurückgesetzt. Jede Antwort enthält dein aktuelles Budget:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 942 Nach Überschreiten des Limits geben Aufrufe 429 mit einem Retry-After-Header zurück. Fehlerhafte Anfragen zählen nicht zum Kontingent.
Endpunkte
Text- und Hilfstools. Steuere das Verhalten über die aufgeführten options.
| Tool | Endpunkt | Optionen |
|---|---|---|
base64 | POST /api/v1/base64 | { "mode": "encode" } mode: encode | decode |
url-encoder | POST /api/v1/url-encoder | { "mode": "encode" } mode: encode | decode |
json-formatter | POST /api/v1/json-formatter | { "mode": "format", "indent": 2 } mode: format | minify | validate |
jwt-decoder | POST /api/v1/jwt-decoder | Dekodiert Header und Payload (ohne Signaturprüfung). |
hash-generator | POST /api/v1/hash-generator | { "algo": "SHA-256" } algo: SHA-1 | SHA-256 | SHA-512 |
regex-tester | POST /api/v1/regex-tester | { "pattern": "\\d+", "flags": "g", "mode": "match" } mode: match | replace (+ replaceWith) |
word-counter | POST /api/v1/word-counter | Gibt Wort-, Zeichen- und Satzzahlen zurück. |
case-converter | POST /api/v1/case-converter | { "type": "title" } type: upper, lower, title, sentence, camel, pascal, snake, kebab, constant |
text-cleaner | POST /api/v1/text-cleaner | { "trim": true, "collapseSpaces": true } Bereinigt Leerraum und Sonderzeichen. |
remove-duplicate-lines | POST /api/v1/remove-duplicate-lines | { "caseSensitive": false } Entfernt doppelte Zeilen. |
text-sorter | POST /api/v1/text-sorter | { "order": "asc", "numeric": false } Sortiert Zeilen. |
text-reverser | POST /api/v1/text-reverser | { "mode": "characters" } mode: characters | words | lines |
markdown-formatter | POST /api/v1/markdown-formatter | Konvertiert Markdown in HTML. |
lorem-ipsum | POST /api/v1/lorem-ipsum | { "count": 3, "unit": "paragraphs" } unit: paragraphs | sentences | words (kein input nötig) |
password-generator | POST /api/v1/password-generator | { "length": 16, "symbols": true } Kein input nötig. |
random-number | POST /api/v1/random-number | { "min": 1, "max": 100, "count": 5 } Kein input nötig. |
percentage-calculator | POST /api/v1/percentage-calculator | { "operation": "percentOf", "a": 20, "b": 150 } operation: percentOf | isWhatPercentOf | percentChange |
uuid-generator | POST /api/v1/uuid-generator | { "count": 5, "upper": false, "noHyphens": false, "braces": false } Erzeugt v4-UUIDs (kein input nötig). |
timestamp-converter | POST /api/v1/timestamp-converter | Akzeptiert einen Unix-Zeitstempel in Sekunden oder Millisekunden und gibt ISO-, UTC-, lokale und Epoch-Werte zurück. |
css-minifier | POST /api/v1/css-minifier | Minifiziert CSS durch Entfernen von Kommentaren und Leerraum. |
html-formatter | POST /api/v1/html-formatter | { "mode": "beautify", "indent": 2 } mode: beautify | minify (indent: number | "tab") |
markdown-preview | POST /api/v1/markdown-preview | Konvertiert Markdown in HTML. |
PDF-Endpunkte
PDF-Tools arbeiten mit Dateien. Anfragen enthalten Base64-Dateien im JSON und result enthält das Ausgabe-PDF als Base64. Die dekodierte Nutzlast sollte unter etwa 4 MB bleiben. WebP funktioniert nur im Browser; sende PNG oder JPG.
| Tool | Endpunkt | Body |
|---|---|---|
pdf-merger | POST /api/v1/pdf-merger | { "files": ["<base64>", "<base64>", …] } 2–20 PDFs, in Array-Reihenfolge zusammengeführt. |
pdf-splitter | POST /api/v1/pdf-splitter | { "file": "<base64>", "options": { "mode": "extract", "pages": "1-3, 5" } } mode: extract | remove. Seitenbereiche funktionieren wie im Web-Tool. |
png-to-pdf | POST /api/v1/png-to-pdf | { "images": ["<base64>", …], "options": { "pageSize": "a4", "orientation": "auto", "margin": "small" } } 1–50 PNG/JPG-Bilder, eines pro Seite. pageSize: a4 | letter | fit; margin: none | small | large. |
# Merge two PDFs (bash)
curl -X POST https://toolorah.com/api/v1/pdf-merger \
-H "Authorization: Bearer nt_live_xxx" \
-H "Content-Type: application/json" \
-d "{\"files\":[\"$(base64 -w0 a.pdf)\",\"$(base64 -w0 b.pdf)\"]}" \
| jq -r '.result' | base64 -d > merged.pdf Fehler
401— fehlender oder ungültiger API-Schlüssel403— dein Tarif enthält keinen API-Zugriff404— unbekanntes Tool422— ungültige Eingabe (zum Beispiel fehlerhaftes JSON oder Regex)429— Tageslimit erreicht