API Status: Operational · v1.0

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.

Schritt 1

URL wählen

Entscheide welche Domain du analysieren möchtest. Muss öffentlich erreichbar sein.

Schritt 2

Request senden

Schicke einen einfachen HTTP GET-Request an unseren Endpunkt — fertig.

Schritt 3

JSON verarbeiten

Empfange den Score und alle Metriken als strukturiertes JSON-Objekt.

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

GET /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

ParameterTypPflichtBeschreibung
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

HTML
<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

VitoScore
94
Grün
VitoScore
67
Gelb
VitoScore
31
Rot

Farbe ändert sich automatisch je nach Score

Analyse-API Endpunkt

GET /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

ParameterTypPflichtBeschreibung
url string ✓ Ja Vollständige URL inkl. Protokoll (https://). Muss URL-kodiert sein.
device string Optional mobile (Standard) oder desktop
Endpoint URL
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)

JSON Response
{
  "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)

JSON Error
{
  "success": false,
  "error": "Invalid URL",
  "code": 422
}

Felder

FeldTypBeschreibung
domainstringAnalysierte Domain (ohne www)
finalUrlstringFinale URL nach Redirects
devicestringmobile oder desktop
scoresobjectGesamt + 4 Kategorie-Scores (total, performance, seo, design, content, previous)
detailsobjectDetailmetriken: seo, performance, design, content, techStack, keywords, eco
historyarrayBisherige Score-Messungen (max. 30)
ecoScoreintegerÖko-Score basierend auf Seitengröße
pageWeightKBintegerGesamtgröße der Seite in KB

Code-Beispiele

cURL · Shell
#!/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

CodeBedeutungUrsache
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

v1.0

2026-06-01

  • JSON REST API veröffentlicht
  • SVG-Badge Endpunkt live
  • Rate-Limiting implementiert
  • HTTPS-only Richtlinie
v0.9

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.