API-Referenz
Greifen Sie mit der Glyphex-REST-API programmatisch auf Ihre Analytics-Daten zu.
Authentifizierung
Alle API-Anfragen erfordern ein Bearer-Token. Erstellen Sie in Ihren Website-Einstellungen unter API keys einen API-Key.
curl https://glyphex.io/api/v1/stats/overview?range=30d \ -H "Authorization: Bearer glx_your_api_key_here"
Ihr vollständiger API-Key wird nur einmal bei der Erstellung angezeigt. Bewahren Sie ihn sicher auf.
Base-URL
https://glyphex.io/api/v1
Rate-Limits
Rate-Limits gelten pro API-Key in einem gleitenden 1-Stunden-Fenster.
| Plan | Anfragen pro Stunde |
|---|---|
| Starter | 1.000 |
| Growth | 2.000 |
| Agency | 5.000 |
Jede Antwort enthält Rate-Limit-Header: X-RateLimit-Limit, X-RateLimit-Remaining und X-RateLimit-Reset (Unix-Zeitstempel).
Antwortformat
Alle erfolgreichen Antworten liefern JSON mit dieser Struktur:
{
"data": { ... },
"meta": {
"site_id": "your-site-id",
"range": "30d",
"generated_at": "2026-02-18T12:00:00.000Z"
}
}Fehler liefern eine ähnliche Struktur mit einem error-Objekt:
{
"error": {
"code": "unauthorized",
"message": "Missing or invalid Authorization header. Use: Bearer glx_..."
}
}Query-Parameter
Alle Endpoints akzeptieren diese Query-Parameter:
| Parameter | Standard | Beschreibung |
|---|---|---|
range | 30d | Zeitraum: 24h, 7d, 30d, 90d oder custom |
start | - | Startdatum für benutzerdefinierten Zeitraum (ISO 8601) |
end | - | Enddatum für benutzerdefinierten Zeitraum (ISO 8601) |
limit | 10 | Anzahl der Ergebnisse (1-100). Gilt für pages, referrers, devices, geo, events, utm |
country | - | Nach Ländercode filtern (z. B. US, DE) |
device | - | Nach Gerätetyp filtern (desktop, mobile, tablet) |
hostname | - | Nach Hostname filtern |
utm_source | - | Nach UTM-Quelle filtern |
Länderausschlüsse
Wenn Sie in Ihren Website-Einstellungen ausgeschlossene Länder konfiguriert haben, werden diese Ausschlüsse automatisch auf alle API-Antworten angewendet. Sie müssen keine zusätzlichen Parameter übergeben. Die API nutzt dieselbe Ausschlussliste wie das Dashboard und die E-Mail-Berichte.
Endpoints
/api/v1/stats/overviewAggregierte Statistiken für den ausgewählten Zeitraum mit Vergleich zum vorherigen Zeitraum.
Änderungswerte sind Prozentwerte. Ein null-Änderungswert bedeutet, dass der vorherige Zeitraum null war.
{
"data": {
"current": {
"visitors": 1240,
"pageviews": 3891,
"sessions": 1580,
"bounce_rate": 42,
"avg_duration": 127
},
"previous": {
"visitors": 1100,
"pageviews": 3200,
"sessions": 1400,
"bounce_rate": 45,
"avg_duration": 115
},
"change": {
"visitors": 13,
"pageviews": 22,
"sessions": 13,
"bounce_rate": -7,
"avg_duration": 10
}
},
"meta": { "site_id": "...", "range": "30d", "generated_at": "..." }
}/api/v1/stats/timeseriesTägliche Besucher- und Seitenaufrufzahlen für den ausgewählten Zeitraum.
{
"data": [
{ "date": "2026-02-01", "visitors": 42, "pageviews": 128 },
{ "date": "2026-02-02", "visitors": 38, "pageviews": 104 }
],
"meta": { "site_id": "...", "range": "30d", "generated_at": "..." }
}/api/v1/stats/pagesMeistbesuchte Seiten, sortiert nach Aufrufen.
{
"data": [
{ "pathname": "/", "title": "Home", "views": 520, "visitors": 380 },
{ "pathname": "/pricing", "title": "Pricing", "views": 210, "visitors": 180 }
],
"meta": { "site_id": "...", "range": "30d", "limit": 10, "generated_at": "..." }
}/api/v1/stats/referrersWichtigste Traffic-Quellen nach Referrer-Domain.
{
"data": [
{ "referrer": "google.com", "views": 320, "visitors": 280 },
{ "referrer": "twitter.com", "views": 85, "visitors": 72 }
],
"meta": { "site_id": "...", "range": "30d", "limit": 10, "generated_at": "..." }
}/api/v1/stats/channelsBesucheraufschlüsselung nach Traffic-Kanal (direct, organic, social, referral usw.).
{
"data": [
{ "channel": "Organic", "visitors": 580, "percentage": 47 },
{ "channel": "Direct", "visitors": 340, "percentage": 27 },
{ "channel": "Social", "visitors": 200, "percentage": 16 }
],
"meta": { "site_id": "...", "range": "30d", "generated_at": "..." }
}/api/v1/stats/devicesBesucheraufschlüsselung nach Gerätetyp.
{
"data": [
{ "name": "Desktop", "visitors": 820 },
{ "name": "Mobile", "visitors": 350 },
{ "name": "Tablet", "visitors": 70 }
],
"meta": { "site_id": "...", "range": "30d", "limit": 10, "generated_at": "..." }
}/api/v1/stats/geoBesucheraufschlüsselung nach Land.
{
"data": [
{ "name": "United States", "visitors": 480 },
{ "name": "Germany", "visitors": 220 },
{ "name": "United Kingdom", "visitors": 180 }
],
"meta": { "site_id": "...", "range": "30d", "limit": 10, "generated_at": "..." }
}/api/v1/stats/eventsZählungen benutzerdefinierter Events und eindeutiger Besucher.
{
"data": [
{ "name": "signup_click", "count": 142, "visitors": 130 },
{ "name": "download_pdf", "count": 87, "visitors": 65 }
],
"meta": { "site_id": "...", "range": "30d", "limit": 10, "generated_at": "..." }
}/api/v1/stats/utmBesucheraufschlüsselung nach UTM-Quelle.
{
"data": [
{ "name": "google", "visitors": 320 },
{ "name": "newsletter", "visitors": 85 }
],
"meta": { "site_id": "...", "range": "30d", "limit": 10, "generated_at": "..." }
}Fehlercodes
| Status | Code | Beschreibung |
|---|---|---|
| 401 | unauthorized | Fehlender oder ungültiger Authorization-Header |
| 401 | invalid_key | API-Key nicht gefunden oder ungültiges Format |
| 401 | key_disabled | API-Key wurde deaktiviert |
| 401 | key_expired | API-Key hat sein Ablaufdatum überschritten |
| 429 | rate_limit_exceeded | Zu viele Anfragen. Prüfen Sie den X-RateLimit-Reset-Header |
| 500 | internal_error | Serverfehler beim Abrufen der Daten |
CORS
Alle Endpoints erlauben Cross-Origin-Anfragen. Antworten enthalten Access-Control-Allow-Origin: *. Sie können die API aus browserseitigem JavaScript aufrufen, achten Sie aber darauf, Ihren API-Key nicht im Client-Code offenzulegen.
Beispiel: Top-Seiten aus JavaScript abrufen
const response = await fetch(
"https://glyphex.io/api/v1/stats/pages?range=7d&limit=5",
{
headers: {
"Authorization": "Bearer glx_your_api_key_here"
}
}
);
const { data, meta } = await response.json();
// data = [{ pathname: "/", title: "Home", views: 520, visitors: 380 }, ...]Brauchen Sie Hilfe?
Wenn Sie Fragen zur API haben, kontaktieren Sie uns über