API-Dokumentation
checkdasinserat.de lässt sich auf drei Wegen programmatisch ansteuern: ein Deep-Link, der das Formular vorausfüllt, ein POST-Endpunkt für die vollständig automatisierte Einreichung, und ein GET-Endpunkt mit den aktuellen Service-Daten. Kein API-Key nötig — alle drei Wege sind offen und ohne Auth nutzbar.
Auf dieser Seite: Deep-Link · POST /api/v1/checks · GET /api/v1/service · OpenAPI & MCP
Deep-Link
Der einfachste Weg: ein Link auf /check, der das Formular mit Link(s), Paketgröße und Herkunft vorbefüllt. Der Nutzer sieht das Formular vorausgefüllt, prüft es und schickt es selbst ab — E-Mail-Adresse und Bestätigung bleiben beim Menschen. Kein Request, kein JSON, funktioniert in jedem Chat-Fenster, das Links klickbar macht.
https://checkdasinserat.de/check?url=https%3A%2F%2Fwww.autoscout24.de%2Fangebote%2Fbeispiel-inserat-123456&pkg=5&src=chatgpt&p=a| Parameter | Bedeutung |
|---|---|
| url | Urlencodierter Inserats-Link. Mehrfach anhängbar (bis zu 5), für mehrere Inserate in einem Auftrag. |
| pkg | Paketgröße: 1 · 5. Optional — ohne Angabe wählt das Formular die kleinste passende Größe zur Anzahl der Links. |
| src | Freies Herkunfts-Tag, z. B. der Name deines Assistenten — landet in unserer Statistik, ändert nichts am Ablauf. |
| p | Preis-Variante. Optional — ohne Angabe gilt die Standardvariante. |
/api/v1/checks
Für die vollständig programmatische Einreichung, ohne dass ein Mensch das Formular sieht. Nimmt bis zu 5 Inserats-Links entgegen und legt eine Anfrage an — bearbeitet wird sie erst, nachdem die angegebene Adresse den Bestätigungslink in der Mail angeklickt hat. Antwort ist 202, nie eine sofortige Zahlungsaufforderung.
Feldübersicht
| Feld | Pflicht | Bedeutung |
|---|---|---|
| urls | Ja | Array mit ein bis 5 vollständigen Inserats-Links — Einzelinserate, keine Ergebnislisten — von mobile.de, suchen.mobile.de, www.mobile.de, autoscout24.de, www.autoscout24.de, kleinanzeigen.de, www.kleinanzeigen.de. |
| name | Ja | Name des anfragenden Nutzers, maximal 100 Zeichen. |
| packages | Alternativ zu pkg | Genau ein Paket: { "1": 1 } oder { "5": 1 }. Keine Kombination oder Mehrfachmenge. Der Nutzer prüft Paket und Gesamtpreis vor dem Absenden. |
| request_id | Empfohlen | Stabile Kennung (16–64 Zeichen) für Wiederholungen. Dieselbe Anfrage wird einmal gespeichert und eine bereits versandte Mail nicht wiederholt. |
| price_cents | Empfohlen | Vom Nutzer bestätigter Gesamtpreis in Cent; Abweichungen werden abgelehnt. |
| pkg | Ja, oder packages | Gewähltes Paket: 1 oder 5 Inserate. Zu viele Links für die gewählte Paketgröße werden abgelehnt. Ohne ausdrückliche Auswahl wird keine Anfrage angelegt. |
| Ja | Adresse für Bestätigungsmail und späteren Report. | |
| src | Nein | Freies Herkunfts-Tag, z. B. der Name deines Assistenten, für die Statistik. |
Beispiel-Request
{
"urls": [
"https://suchen.mobile.de/fahrzeuge/details.html?id=123456789",
"https://www.autoscout24.de/angebote/beispiel-inserat-123456"
],
"pkg": 5,
"price_cents": 4900,
"name": "Beispiel Käufer",
"email": "kaeufer@example.de",
"src": "chatgpt"
}Antwort — 202 Accepted
status steht auf pending_confirmation: Die Anfrage ist gespeichert, aber unbearbeitet, bis der Bestätigungslink angeklickt wurde. Aktuelle Preise stehen zusätzlich unter GET /api/v1/service.
{
"status": "pending_confirmation",
"request_id": "3f9a2b71c8de4a10b7c5e2f1a9d84b3c",
"pkg": 5,
"price_eur": 49,
"currency": "EUR",
"price_arm": "a",
"provider": "Carovo GmbH",
"price_is_total": true,
"vat_note": "Gemäß § 19 UStG wird keine Umsatzsteuer berechnet.",
"delivery": "PDF per E-Mail, in der Regel innerhalb von 3 Werktagen nach Zahlung",
"capacity_note": "Wir prüfen von Hand: aktuell 8 Checks pro Woche, Bearbeitung in der Reihenfolge des Eingangs.",
"withdrawal_info_url": "https://checkdasinserat.de/widerruf",
"terms_url": "https://checkdasinserat.de/agb",
"imprint_url": "https://checkdasinserat.de/impressum",
"confirm_required": true,
"human_url": "https://checkdasinserat.de/check",
"next_step": "Wir haben eine Bestätigungsmail an die angegebene Adresse geschickt. Erst nach dem Klick des Nutzers auf den Bestätigungslink wird die Anfrage bearbeitet. Es entsteht keine Zahlungspflicht."
}Fehler — RFC 9457 problem+json
Jeder Fehler kommt als application/problem+json nach RFC 9457. type ist die URL einer menschenlesbaren Seite unter /problems/<slug>, die denselben Fehler erklärt.
{
"type": "https://checkdasinserat.de/problems/unsupported-portal",
"title": "Portal nicht unterstützt",
"status": 422,
"detail": "Diesen Link können wir nicht zuordnen. Wir prüfen Inserate von mobile.de, AutoScout24 und Kleinanzeigen — füg bitte den vollständigen Link aus der Adresszeile ein.",
"instance": "/api/v1/checks",
"human_url": "https://checkdasinserat.de/check"
}| Status | Typ | Titel |
|---|---|---|
| 422 | /problems/invalid-request | Anfrage unvollständig |
| 503 | /problems/delivery-failed | Bestätigungsmail noch nicht versendet |
| 422 | /problems/unsupported-portal | Portal nicht unterstützt |
| 422 | /problems/search-result-url | Ergebnisliste statt Inserat |
| 422 | /problems/invalid-email | Ungültige E-Mail-Adresse |
| 422 | /problems/too-many-listings | Zu viele Inserate |
| 429 | /problems/rate-limited | Zu viele Anfragen |
| 409 | /problems/capacity-reached | Kapazität erreicht |
| 503 | /problems/service-disabled | Agenten-API deaktiviert |
/api/v1/service
Rein lesend, ohne Auth: aktuelle Paketgrößen und Preise, unterstützte Portale, Kapazität, Lieferzeit und das Deep-Link-Muster von oben als Vorlage — alles aus derselben Quelle wie das Formular selbst, damit hier nichts veraltet. Praktisch als erster Aufruf, bevor du eine Anfrage baust.
Weitere Formate
- /openapi.json — die vollständige OpenAPI-3.1-Spezifikation von
/api/v1/*, zum Import in einen API-Client oder zur Anbindung als Tool/Action. - /mcp — zustandsloser MCP-Endpunkt (JSON-RPC 2.0) für Assistenten, die MCP statt REST sprechen. Die verfügbaren Tools stehen in der Antwort auf
initialize.