API-Referenz
REST-API mit über 230 Endpoints über die gesamte Plattform. Basis-URL: https://api.xictraq.com/api. Auth via Bearer-Token oder X-API-Key Header.
# Schnellstart
API-Key unter Einstellungen > API-Keys erstellen. Der Key beginnt mit xtraq_ und wird nur einmal angezeigt.
$ curl -H "Authorization: Bearer xtraq_IHR_KEY" \
https://api.xictraq.com/api/websites
[{"id":"019d7e3c-...","name":"Shop","url":"https://shop.invalid","is_up":true}]# Vollständige Endpoint-Referenz
Live aus der OpenAPI-Spezifikation generiert — immer aktuell. Die ausführlichen Beispiele weiter unten decken die häufigsten Endpoints ab.
Lädt …
# Plan-Limits
| Ressource | Free | Starter | Business | Agency |
|---|---|---|---|---|
| Websites | 1 | 3 | 10 | 50 |
| Scans/h | 10 | 30 | 100 | 300 |
| Pageviews/Mo | 10k | 100k | 1M | 10M |
| Heartbeats | 2 | 10 | 100 | Unbegr. |
| API-Endpoints | — | 10 | 25 | 100 |
| Keywords (noch nicht freigeschaltet) | — | — | 50 | 500 |
| Team-Mitglieder | — | 2 | 5 | Unbegr. |
| API-Keys | 10 (nur Geo) | 10 (nur Geo) | 10 | 10 |
| Rate-Limit | 1.200/min | 1.200/min | 1.200/min | 1.200/min |
# Websites
# Scans
# Uptime & SSL
# Alerts
# Analytics (Starter+)
# E-Commerce & Shopdaten (Business)
Umsatz, Bestellungen, Produkte und die Daten aus dem Shopware-6-Bestellimport. Die Auswertungen und Shopdaten-Endpunkte verlangen den Business-Tarif; die Shop-Anbindung selbst (shop-integration) nicht, dort nur das Einschalten des Bestellimports. Alle Endpunkte lassen sich mit einem API-Key nutzen, schreibende nur mit Schreibrecht des Keys. Beträge mit der Endung _minor stehen in Cent. Bestellungen aus dem Import ohne Tracker-Kauf zählen in Umsatz, Bestellungen, Produkten und Export mit, nicht in Conversion, Funnel und ROAS. Name, Firma und Kundennummer aus dem Import erscheinen nur mit Kundenzuordnung im Tarif und nie bei neutralisiertem Abruf. Über Freigabelinks kommen nie Kundendaten, weder aus dem Import noch Identitäten des Trackers (Name, Firma, Kunden-ID, external_user_id); die Kennzahlen bleiben.
# Heartbeats
# API-Monitoring (Starter+)
# API-Keys (Business+, Geo-Key in jedem Tarif)
# Neutralisierte Abrufe (DSGVO)
Jeder Endpunkt kann seine Antwort ohne Personendaten ausliefern: Namen, E-Mail-Adressen und Rufnummern fallen weg, alle übrigen Felder bleiben unverändert. Gedacht für die Weiterverarbeitung im Data-Warehouse, im BI-Werkzeug oder bei einem Dienstleister, der die Personendaten nicht braucht.
Drei Wege, ihn einzuschalten
"scopes": ["read", "neutral"]X-Neutral: 1?neutral=1Ein Key mit dem Scope neutral liefert dauerhaft neutralisiert, ganz ohne Header und ohne Parameter — das ist der Weg für einen Zugang, den ein Dritter bekommt. Header und Query-Parameter sind der Weg für den eigenen Key, wenn nur ein einzelner Abruf ohne Personendaten laufen soll. Alle drei akzeptieren 1, true, ja oder yes.
GET /team/invitations — normal
[
{
"id": "019d8f2a-…",
"email": "team@firma.invalid",
"role": "editor",
"status": "accepted",
"created_at": "2026-06-14T09:12:00Z"
}
]GET /team/invitations?neutral=1
[
{
"id": "019d8f2a-…",
"email": null,
"role": "editor",
"status": "accepted",
"created_at": "2026-06-14T09:12:00Z"
}
]Was entfernt wird
- Alle E-Mail-Felder (email, owner_email, contact_email, recipient …)
- Alle Namensfelder (first_name, last_name, owner_name, customer_name …)
- Ein bloßes name in einem Personen-Objekt (user, owner, member, contact …)
- Rufnummern (phone, telefon, mobile …)
- E-Mail-Adressen mitten im Fließtext werden zu [entfernt]
Was bleibt
- Alle IDs, damit sich Datensätze weiterhin verknüpfen lassen
- Website-, Monitor- und Key-Namen — die sind keine Personendaten
- Alle Messwerte, Zeitstempel, Status- und Plan-Felder
- Struktur und Feldnamen bleiben gleich — geleerte Felder stehen auf null
# Geo-API (Add-on)
Native, offline IP-Geolokation direkt aus eigenen Indizes — DSGVO-konform, ohne Live-Anfrage an Dritte. Daten stammen aus offenen Quellen. Die Geo-API ist ein Add-on zu jedem Tarif — auch zum Gratis-Tarif — und wird in drei Volumen-Stufen gebucht: Starter (50.000 Lookups/Monat), Pro (500.000) und Business (3 Mio.). Ohne gebuchtes Add-on sind zum Testen 1.000 Lookups pro Monat inklusive.
Authentifizierung
API-Key mit dem Scope geo. Die Geo-Endpoints akzeptieren drei Übergabewege — der Query-Parameter ?key= ist dabei Geo-spezifisch (servertauglich, header-unabhängig):
?key=xtraq_…X-Api-Key: xtraq_…Authorization: Bearer xtraq_…| Feld | Bedeutung |
|---|---|
| accuracy_radius_km | Geschätzter Radius in km um die ausgegebenen Koordinaten — kein Punktstandort. |
| confidence | Konfidenz je Ebene (country/region/city), 0–100. Höher = sicherere Zuordnung. |
| calling_code | Internationale Telefon-Vorwahl des Landes als Ganzzahl ohne Plus (z. B. 353 für Irland). |
| currency | Landeswährung als Objekt mit code und symbol (z. B. code EUR, symbol €). |
| languages | Amts- und Verkehrssprachen des Landes als Array von ISO-639-1-Codes, Hauptsprache zuerst. |
| network | Zugehöriges Netz-Präfix in CIDR-Notation (z. B. 185.60.216.0/22). |
| rir | Zuständige Regional Internet Registry (RIPE, ARIN, APNIC, LACNIC, AFRINIC). |
| connection_type | hosting, satellite, relay oder isp — abgeleitete Netzwerkklasse. |
| is_hosting / is_datacenter | IP gehört zu einem Hosting-/Rechenzentrums-Bereich (Server, kein Endkunde). |
| is_anycast | Präfix wird per Anycast aus mehreren Standorten angekündigt (z. B. DNS/CDN). |
| cloud_provider | Erkannter Cloud-Betreiber, sofern die Range eindeutig zuordenbar ist (inkl. Azure; sonst null). |
| is_relay | iCloud Private Relay — anonymisierter Apple-Proxy. |
| is_vpn / is_tor | Bekannter VPN-Ausgang bzw. Tor-Exit-Node. |
| is_satellite | Satelliten-Internet (z. B. bekannte Satelliten-ASNs). |
| is_bogon | Private/reservierte IP (RFC 1918/6890) — nicht öffentlich routbar. |
| abuse_score | Heuristische Missbrauchs-Schätzung 0–100 (höher = riskanter). Kein Echtzeit-Reputationsdienst, nur ein Orientierungswert. null, wenn die Reputationslagen nicht gelesen werden konnten. |
| risk | Aus abuse_score abgeleitete Einstufung: „niedrig“ (<20), „erhöht“ (<50) oder „hoch“. Bei lang=en englisch: low/elevated/high. null, wenn kein abuse_score vorliegt. |
| is_eu | Land ist EU-Mitgliedstaat (für DSGVO-/Geoblocking-Logik). |
| timezone | IANA-Zeitzonen-Kennung als String; bei mehrdeutiger Zuordnung wird die Haupt-Zeitzone des Landes als Fallback ausgegeben. |
| time_zone | IANA-Zeitzone mit UTC-Offset, Sommerzeit-Flag und aktueller Lokalzeit. |
| HTTP | error | Ursache |
|---|---|---|
| 401 | missing_api_key | Kein API-Key übergeben. |
| 401 | invalid_api_key | Key unbekannt, inaktiv oder abgelaufen. |
| 403 | scope_denied | Key besitzt keinen geo-Scope. |
| 422 | invalid_ip | ip ist keine gültige IPv4/IPv6. |
| 429 | rate_limited | Pro-Minute-Limit des Keys überschritten. |
| 429 | quota_exceeded | Monats-Kontingent erschöpft — Add-on hochstufen. |
| 503 | db_unavailable | Offline-Datenbank (.mmdb) ist nicht verfügbar. |
# Rechnungen
# Empfehlungsprogramm
# USt-ID (VIES)
# Account
# Status-Pages (in jedem Tarif)
# Team & Agency
Team-Mitglieder einladen (ab Starter), Client-Portal verwalten (Agency), Agency-Zugriff gewähren (in jedem Tarif).
# Browser-Monitore (Business+)
Playwright-basierte Multi-Step-Skripte: Login-Flows, Checkout, Formulare automatisiert prüfen.
# Reports & Vorlagen (Business+)
Automatisierte Reports erstellen, planen und an Empfänger senden.
# Webhooks (Business+)
JSON-POST bei jedem Alert. Events: alert.opened, alert.resolved. HMAC-SHA256-Signatur.
POST https://hooks.firma.invalid/xictraq
X-Xictraq-Event: alert.opened
X-Xictraq-Delivery: dlv_8f3a91c2d4e6f0a1
X-Xictraq-Signature: sha256=8f3a91...
{
"event": "alert.opened",
"delivered_at": "2026-06-20T09:14:07+00:00",
"data": {
"alert_id": "019d7e3c-...",
"incident_id": "019d7e3c-...",
"type": "downtime",
"severity": "critical",
"title": "HTTP 503",
"message": "...",
"website": { "id": "019d7e3c-..." },
"is_resolved": false,
"created_at": "2026-06-20T09:14:06+00:00"
},
"source": "XICTRAQ"
}