VitoScore Developer API
Integriere Echtzeit-Webseiten-Analysen, dynamische Score-Badges und Lighthouse-Metriken direkt in deine Anwendungen, Dashboards oder CMS-Systeme.
Kostenlos
Kein API-Key nötig
~15–30s
Analyse-Laufzeit
JSON + SVG
Antwortformate
HTTPS only
SSL-verschlüsselt
Quick Start
In weniger als 2 Minuten hast du deinen ersten API-Call live — ganz ohne Registrierung oder API-Key.
URL wählen
Entscheide welche Domain du analysieren möchtest. Muss öffentlich erreichbar sein.
Request senden
Schicke einen einfachen HTTP GET-Request an unseren Endpunkt — fertig.
JSON verarbeiten
Empfange den Score und alle Metriken als strukturiertes JSON-Objekt.
# Live-Analyse starten (Antwort ~15–30s)
curl "https://vitoscore.de/analyze.php?url=https://beispiel.de&device=mobile"
# SVG-Badge einbetten
<img src="https://vitoscore.de/badge.php?url=https://beispiel.de" alt="VitoScore">
SVG-Badge Endpunkt
/badge.php
Content-Type: image/svg+xml
Liefert ein dynamisches SVG-Siegel mit dem aktuellen Score der Domain. Die Farbe wechselt automatisch: Rot (0–49) · Gelb (50–74) · Grün (75–100). Der Wert wird gecacht und ändert sich bei jeder neuen Analyse automatisch.
Parameter
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
url |
string | ✓ Ja | Vollständige URL der zu analysierenden Domain (inkl. https://) |
device |
string | Optional | Analyse-Modus: mobile (Standard) oder desktop |
label |
string | Optional | Beschriftung im Badge. Standard: VitoScore |
HTML-Einbettung
<a href="https://vitoscore.de"
target="_blank"
rel="noopener">
<img
src="https://vitoscore.de/badge.php
?url=https://deine-seite.de
&device=mobile"
alt="VitoScore"
width="120"
/>
</a>
Vorschau
Farbe ändert sich automatisch je nach Score
Analyse-API Endpunkt
/analyze.php
Content-Type: application/json
Startet eine vollständige Live-Analyse der Zielseite. Der Server crawlt die URL in Echtzeit via Google Lighthouse API und eigenem Content-Scanner. Ergebnisse werden 2 Stunden gecacht — ein erneuter Aufruf innerhalb dieser Zeit liefert sofort das gecachte Ergebnis zurück.
Laufzeit 15–30 Sekunden. Timeout in deinem Client auf min. 60 Sekunden setzen.
Parameter
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
url |
string | ✓ Ja | Vollständige URL inkl. Protokoll (https://). Muss URL-kodiert sein. |
device |
string | Optional | mobile (Standard) oder desktop |
GET https://vitoscore.de/analyze.php?url=https%3A%2F%2Fdeine-seite.de&device=mobile
Response-Schema
Alle erfolgreichen Antworten haben HTTP 200 und Content-Type: application/json.
✓ Erfolg (HTTP 200)
{
"domain": "beispiel.de",
"finalUrl": "https://beispiel.de/",
"device": "mobile",
"scores": {
"total": 92,
"performance": 88,
"seo": 100,
"design": 96,
"content": 85,
"previous": 89
},
"details": {
"seo": [/* Array mit SEO-Metriken */],
"performance": [/* Array mit Performance-Metriken */],
"design": [/* Array mit Design-Metriken */],
"content": [/* Array mit Content-Metriken */],
"techStack": ["WordPress", "Cloudflare"],
"keywords": [{"word":"beispiel","count":8}],
"eco": {
"mb": 1.24,
"grams": 0.37,
"yearlyKg": 3.7
}
},
"history": [{"total_score":89,"date_label":"29.06","full_date":"29.06.2026 14:12"}],
"ecoScore": 75,
"pageWeightKB": 1270
}
✗ Fehler (HTTP 4xx / 5xx)
{
"success": false,
"error": "Invalid URL",
"code": 422
}
Felder
| Feld | Typ | Beschreibung |
|---|---|---|
domain | string | Analysierte Domain (ohne www) |
finalUrl | string | Finale URL nach Redirects |
device | string | mobile oder desktop |
scores | object | Gesamt + 4 Kategorie-Scores (total, performance, seo, design, content, previous) |
details | object | Detailmetriken: seo, performance, design, content, techStack, keywords, eco |
history | array | Bisherige Score-Messungen (max. 30) |
ecoScore | integer | Öko-Score basierend auf Seitengröße |
pageWeightKB | integer | Gesamtgröße der Seite in KB |
Code-Beispiele
#!/bin/bash
# VitoScore API – cURL Beispiel
DOMAIN="https://deine-seite.de"
DEVICE="mobile"
API_URL="https://vitoscore.de/analyze.php"
# Analyse durchführen (Timeout 60s)
curl \
--max-time 60 \
--silent \
--show-error \
--header "Accept: application/json" \
"${API_URL}?url=$(python3 -c "import urllib.parse,sys; print(urllib.parse.quote(sys.argv[1]))" ${DOMAIN})&device=${DEVICE}" \
| python3 -m json.tool
Rate-Limits & Pläne
Die API ist kostenlos nutzbar. Für intensive Integrationen empfehlen wir den Pro- oder Agency-Plan.
| Plan | API-Calls / Tag | Cache-TTL | Priorität | Preis |
|---|---|---|---|---|
| Free | 10 | 2 Stunden | Standard | 0 € |
| Pro | 500 | 2 Stunden | Erhöht | 7 €/Monat |
| Agency | Unlimitiert | 2 Stunden | Höchste | 29 €/Monat |
Das Rate-Limit bezieht sich auf die JSON-API (/analyze.php).
Das SVG-Badge (/badge.php) ist davon ausgenommen und ohne Limit nutzbar,
da es nur gecachte Daten liest.
HTTP-Fehlercodes
| Code | Bedeutung | Ursache |
|---|---|---|
| 200 | ✓ OK | Analyse erfolgreich abgeschlossen. |
| 400 | Bad Request | Fehlende oder ungültige Parameter (z.B. kein url-Parameter). |
| 422 | Unprocessable URL | URL ist syntaktisch falsch oder zeigt auf eine private IP-Adresse. |
| 429 | Too Many Requests | Rate-Limit überschritten. Warte 1 Stunde oder upgrade auf Pro. |
| 500 | Internal Error | Serverfehler oder Google Lighthouse API nicht erreichbar. |
| 504 | Gateway Timeout | Die Zielseite war zu langsam oder nicht erreichbar. |
Changelog
2026-06-01
- JSON REST API veröffentlicht
- SVG-Badge Endpunkt live
- Rate-Limiting implementiert
- HTTPS-only Richtlinie
2026-03-15
- Beta-Phase gestartet
- Erste Lighthouse-Integration
- Caching-System (2h TTL)
Bereit für mehr API-Calls?
Upgrade auf Pro (500/Tag) oder Agency (unlimitiert) und integriere VitoScore ohne Limits in deine Workflows.