Entwickler-Dokumentation

Erste Schritte

1. Sitekey anlegen

Melden Sie sich in Ihrem Konto an, öffnen Sie „Sitekeys“ und legen Sie einen für Ihre Website an.
Der Sitekey ist öffentlich.
Optional beschränken Sie ihn auf Ihre Herkünfte und wählen Schwierigkeit und Widget-Modus.

2. Widget einbinden

Binden Sie Stylesheet und Script in Ihre Seite ein.
Beide liefert Ihre CDPCaptcha-Installation aus;
es gibt kein CDN.
Sie können die beiden Dateien auch auf Ihren eigenen Server kopieren.

HTML
<link rel="stylesheet" href="https://cdpcaptcha.com/core/assets/css/cdp-captcha.css">
<script src="https://cdpcaptcha.com/core/assets/js/cdp-captcha.js" defer></script>

Setzen Sie dann ein Element mit der Klasse cdp-captcha in das Formular, das Sie schützen wollen:

HTML
<form method="post" action="/contact">
  <input name="email" type="email" required>
  <div class="cdp-captcha" data-sitekey="YOUR_SITEKEY"></div>
  <button type="submit">Send</button>
</form>

Das Script setzt auf jedes solche Element ein Widget.
Ist die Prüfung fertig, wird dem Formular ein verstecktes Feld cdp-captcha-solution hinzugefügt.
Sendet der Besucher ab, bevor das Widget fertig ist, rechnet das Widget zuerst zu Ende und sendet dann das Formular.

3. Antwort auf Ihrem Server prüfen

Legen Sie unter „API-Keys“ einen API-Key an.
Wenn das Formular eintrifft, senden Sie den Feldwert per POST an die siteverify-Adresse.
Ohne diesen Schritt gibt es keinen Schutz.

cURL
curl -X POST 'https://cdpcaptcha.com/api/v1/siteverify' \
  -H 'X-API-Key: ck_YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"response": "VALUE_OF_cdp-captcha-solution", "sitekey": "YOUR_SITEKEY"}'

Eine gültige Antwort lautet success: true.
Jede andere Antwort bedeutet, dass das Formular abzulehnen ist:

JSON
{
  "success": true,
  "data": {
    "verification_id": "cv_3f9a…",
    "challenge": { "solved_at": "2026-10-13T10:12:04Z", "issued_at": "2026-10-13T10:11:58Z", "sitekey": "YOUR_SITEKEY", "difficulty_bits": 14 }
  }
}
HTTP-Status 200 bedeutet nur, dass die Prüfung gelaufen ist. Lesen Sie immer das Feld success. Ein benutztes, abgelaufenes oder falsches Token kommt ebenfalls mit Status 200 und success: false zurück.

Fertigen Client-Code für PHP, Node, Python und andere finden Sie auf der Seite mit den Beispielen.