← Zurück zum Blog
8 Min. Lesezeit
Produkt

Kompletter Orilyt API-Leitfaden

WordPress-Audits automatisieren: ein Endpoint, ein JSON, 58 Tests

Kompletter Orilyt API-Leitfaden

Ein Aufruf, 58 Tests

Sie führen Audits manuell über das Dashboard durch, einzeln? Das funktioniert — aber bei 20, 50 oder 100 Websites skaliert es nicht.

Die Orilyt REST API löst dieses Problem: ein GET-Request, ein Auth-Key, und Sie erhalten ein strukturiertes JSON mit allen 58 Testergebnissen — bereit zur Verarbeitung, Speicherung oder Anzeige in Ihrem eigenen Tool.

Der Endpoint

Ein einziger Nur-Lese-Endpoint (GET). Einfach und effektiv.

Endpoint GET https://orilyt.com/api_v1.php?url=https://example.com

Authentifizierung

Drei unterstützte Methoden — wählen Sie die passende für Ihren Stack:

1 Authorization: Bearer Header (empfohlen)
2 X-API-Key Header
3 Query-String ?key= (Fallback)
Tip: Ihren API-Schlüssel finden Sie in Ihrem Orilyt-Konto unter „API". Jeder Aufruf verbraucht 1 Credit.

Anatomie der Antwort

Das zurückgegebene JSON enthält alles, was Sie für einen vollständigen Bericht brauchen:

status — „ok" oder „error"
global_score — Gesamtpunktzahl /100
sections — Punktzahlen pro Kategorie (Leistung, SEO, Sicherheit, UX)
tests — Array mit 58 Objekten (id, slug, label, score, status, details)
target — Serverinformationen (IP, CMS, Hosting, PHP, HTTPS)
meta — audit_id, site_id, Ausführungszeit, Timestamp
JSON { "status": "ok", "data": { "global_score": 82, "sections": { "performance": { "score": 88, "tests": [...] }, "seo": { "score": 75, "tests": [...] }, "security": { "score": 91, "tests": [...] }, "ux": { "score": 70, "tests": [...] } }, "tests": [ { "id": 1, "slug": "ssl_check", "label": "SSL / HTTPS", "score": 100, "status": "ok", "details": { ... } }, ... ], "target": { "url": "https://example.com", "ip": "93.184.216.34", "cms": "wordpress", "php_version": "8.2", "https": true } }, "audit_id": 1234, "site_id": 56, "meta": { "duration_ms": 14520, "timestamp": "2026-03-03T10:15:00Z" } }

Integrationsbeispiele

cURL (Kommandozeile)

cURL curl -s "https://orilyt.com/api_v1.php?url=https://example.com&lang=fr" \ -H "Authorization: Bearer YOUR_API_KEY" \ | jq .

Python (requests)

Python import requests API_KEY = "YOUR_API_KEY" url = "https://orilyt.com/api_v1.php" params = {"url": "https://example.com", "lang": "fr"} headers = {"Authorization": f"Bearer {API_KEY}"} resp = requests.get(url, params=params, headers=headers, timeout=120) data = resp.json() if data["status"] == "ok": print(f"Score: {data['data']['global_score']}/100") for test in data["data"]["tests"]: print(f" {test['slug']}: {test['score']}") else: print(f"Error: {data['error']}")

PHP (nativ)

PHP <?php $apiKey = 'YOUR_API_KEY'; $target = 'https://example.com'; $ch = curl_init("https://orilyt.com/api_v1.php?url=" . urlencode($target) . "&lang=fr"); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 120, CURLOPT_HTTPHEADER => ["Authorization: Bearer $apiKey"], ]); $json = curl_exec($ch); $data = json_decode($json, true); if ($data['status'] === 'ok') { echo "Score: " . $data['data']['global_score'] . "/100\n"; }

Node.js (fetch)

Node.js const API_KEY = 'YOUR_API_KEY'; const url = new URL('https://orilyt.com/api_v1.php'); url.searchParams.set('url', 'https://example.com'); url.searchParams.set('lang', 'fr'); const resp = await fetch(url, { headers: { 'Authorization': `Bearer ${API_KEY}` }, signal: AbortSignal.timeout(120_000), }); const data = await resp.json(); if (data.status === 'ok') { console.log(`Score: ${data.data.global_score}/100`); data.data.tests.forEach(t => console.log(` ${t.slug}: ${t.score}`) ); }

Optionale Parameter

lang — Berichtssprache (fr, en, es, de). Standard: en.
Note: Kein Callback/Webhook-Support bisher — die Antwort ist synchron.

Fehlerbehandlung

Die API gibt Standard-HTTP-Codes mit strukturiertem JSON zurück:

400 Fehlende oder ungültige URL (missing_url, invalid_url)
401 Fehlender oder ungültiger API-Schlüssel (missing_api_key, invalid_api_key)
402 Unzureichende Credits (insufficient_credits)
422 Website nicht erreichbar (site_unreachable, site_blocked_by_waf) — 4xx/5xx, Timeout, Redirect Loop oder WAF, das unseren Scanner blockiert
429 Rate-Limit erreicht (ip_rate_limited) — Retry-After Header enthalten
500 Interner Fehler (internal_error)
Error JSON { "status": "error", "code": "insufficient_credits", "error": "Not enough credits to run this audit." }

Häufige Anwendungsfälle

Automatisiertes Monitoring

Starten Sie einen wöchentlichen Cron-Audit für alle Kunden-Websites. Speichern Sie Scores und erkennen Sie Rückschritte.

SaaS-Integration

Betten Sie Ergebnisse in Ihr eigenes Kunden-Dashboard, CRM oder WordPress-Wartungstool ein.

CI/CD-Pipeline

Fügen Sie einen Post-Deploy-Audit in Ihre Pipeline ein. Wenn der Score unter einen Schwellenwert fällt, blockieren Sie das Release.

Berichterstellung

Kombinieren Sie die API mit dem White-Label-Modus für automatische Markenberichte.

Limits und Best Practices

1 Credit pro Aufruf — prüfen Sie Ihr Guthaben vor einem Batch
IP-basiertes Rate-Limiting (admin-konfigurierbar) — respektieren Sie den Retry-After Header
Ergebnisse clientseitig cachen — ein Audit pro Website pro Tag reicht meist aus
Empfohlener Timeout: 120 Sekunden — manche langsame Websites brauchen länger
HTTPS in Produktion erforderlich
Bereit zur Automatisierung?
Erstellen Sie Ihr Orilyt-Konto, holen Sie sich Ihren API-Schlüssel und starten Sie Ihr erstes Audit in unter 2 Minuten.
Kostenloses Konto erstellen
Zurück Comptes équipe : gérez vos audits à plusieurs avec le plan Agency Weiter Comment integrer les audits Orilyt dans votre workflow d'agence avec l'API