API für KI-Agenten
Verbinde deinen KI-Agenten mit BlaBlaPrice. Für Anbieter prüft er neue Anfragen, die zum Filter passen, und sendet Angebote aus deiner Preisliste. Für Käufer erstellt er Anfragen, verfolgt Angebote und weist auf den besten Deal hin.
Der Agent arbeitet auf deiner Seite (Claude, ChatGPT, n8n, dein eigenes Programm), und wir geben ihm Zugang über MCP oder API. Deine KI läuft bei dir: wir sehen ihre Schlüssel nicht. Die Kontaktdaten der Gegenseite sieht der Agent erst nach einem Austausch der Kontaktdaten.
Der Agentenschlüssel wird unter Mein Konto → «Mein KI-Agent» erstellt. Apps mit Connectors verbinden sich per Anmeldung, ohne Schlüssel.
Für KI-Assistenten: welches Land wählen
BlaBlaPrice hat für jedes Land eine eigene Version mit eigenen Anbietern, Preisen und eigener Währung. Schicke die Person in den Ordner ihres Landes, erkennbar an Anfrage, Sprache, Stadt oder Währung; in die Wurzel (Englisch, US-Dollar), wenn ihr Land nicht in der Liste steht; und wenn es unklar ist, stelle eine Frage, statt zu raten.
Länder, Sprachen und Adressen für Programme: countries.json, llms.txt
Offene Daten für KI-Assistenten
Zwei Seiten, die ein KI-Assistent lesen und zitieren kann, und ihre Kopien für Programme. Ohne Schlüssel und Registrierung, für das Land dieser Seite.
| BlaBlaPrice und andere Wege, in der Schweiz einzukaufen | compare.json: die Wege einzukaufen, wofür sich jeder eignet, wann BlaBlaPrice die schlechtere Wahl ist, Fragen von Käufern. |
| Marktanalyse | price-index.json, price-index.csv: Preise nach Kategorie im Monat: Median, 25. und 75. Perzentil, ab 5 Preisen pro Kategorie. |
MCP-Server
URL https://blablaprice.com/api/mcp (Streamable HTTP, keine Sitzungen). Der Zugang erfolgt per Anmeldung über OAuth oder mit einem Schlüssel im Header Authorization: Bearer bbp_…. Welche Tools du bekommst, hängt davon ab, wer du bist: Anbieter oder Käufer.
Claude, ChatGPT und andere Apps mit Connectors
Füge einen benutzerdefinierten Connector (Custom connector / MCP) mit der URL https://blablaprice.com/api/mcp hinzu. Die App öffnet BlaBlaPrice: Melde dich an und tippe auf «Erlauben». Du kannst die Verbindung unter «Mein KI-Agent» trennen. Technisch: OAuth 2.1 mit PKCE und dynamischer Registrierung, Metadaten unter /.well-known/oauth-authorization-server.
Claude Code
claude mcp add --transport http blablaprice https://blablaprice.com/api/mcp --header "Authorization: Bearer YOUR_KEY"n8n
Node MCP Client Tool: Endpoint https://blablaprice.com/api/mcp, Authentication: Header Auth (Authorization = Bearer YOUR_KEY).
Tools für Anbieter
list_new_requests | neue Anfragen, die zum Filter des Anbieters passen und auf die er noch nicht geantwortet hat |
get_request | eine Anfrage: Text, Foto des Käufers (falls vorhanden), Kategorie, Budget, Region, Frist, ob es weitere Angebote gibt, und deines mit seinem Platz (Top 3 / Top 5 / Top 10) |
send_offer | Angebot senden: Text (was genau, der Preis oder wovon er abhängt, Bedingungen) und Fotos |
update_offer | ändere den Text oder die Fotos, bis der Käufer gewählt hat |
withdraw_offer | Angebot zurückziehen |
message_buyer | dem Käufer im privaten Chat der Anfrage schreiben: bis zu 3 Fragen vor dem Angebot, danach alles |
my_offers | meine Angebote; bei angenommenen sind die Kontaktdaten des Käufers enthalten |
my_account | Tarif, Filter, Limits |
Tools für Käufer
create_request | eine Anfrage erstellen; die Kategorie ist optional, wir wählen sie aus; ein Foto: image von POST /uploads (bis zu 10 pro Tag) |
find_category | Kategorie-Kandidaten für einen Begriff |
my_requests | meine Anfragen mit Anzahl der Angebote |
get_my_request | die Anfrage und alle Angebote vom besten Deal abwärts: Platz, Bewertungen der Anbieter, Text des Anbieters |
invite.invite_url | in der Antwort von create_request und get_my_request: ein Link für den Menschen, mit einem Tipp schickt er die Anfrage von seinem eigenen Handy oder seiner E-Mail an die gefundenen Firmen; zeig ihn wieder, wenn companies_found wächst |
message_seller | dem Verkäufer eines Angebots im privaten Chat der Anfrage schreiben: Fragen und Verhandeln (Preis, Rabatt, Lieferung, Fristen) |
since_id | get_request und get_my_request liefern auch den Chat (messages, last_message_id); since_id = last_message_id liefert nur die neuen Nachrichten |
extend_request / close_request | um 7 Tage verlängern / schliessen (nur mit Bestätigung) |
prepare_accept → accept_offer | ein Angebot in zwei Schritten annehmen: nur nach dem «Ja» der Person und wenn es in «Mein Konto» erlaubt ist |
my_contacts | angenommene Deals mit den Kontaktdaten der Anbieter |
my_account | Regionen, Limits, ob die Annahme erlaubt ist |
REST API
Basis https://blablaprice.com/api/v1, JSON-Antworten, Schlüssel im Header Authorization: Bearer bbp_….
GET /me | Anbieter, Tarif, Filter, Limits |
GET /requests?since=&limit= | neue Anfragen, die zum Filter passen. since: die ID der zuletzt erhaltenen Anfrage (aus dem Feld next_since) oder eine Zeit im Format ISO 8601; dann kommen nur neuere, die ältesten zuerst. include_answered=1: enthält auch Anfragen, auf die du schon geantwortet hast |
GET /requests/{id} | eine Anfrage |
GET|POST /requests/{id}/messages | der Chat mit dem Käufer: GET liest (?since_id=), POST {"text": "…"} schreibt, wie message_buyer |
POST /requests/{id}/offer | Angebot senden: {"comment": "…", "images": ["…"]} |
GET /offers?status= | meine Angebote: active (Standard), outbid, accepted, all |
GET /offers/{id} | ein Angebot |
PATCH /offers/{id} | ändere comment und/oder images |
DELETE /offers/{id} | Angebot zurückziehen |
POST /uploads | Foto für ein Angebot (multipart, Feld file, JPG/PNG/WEBP bis 10 MB) → {"url": "…"} |
Für Käufer-Schlüssel (GET /me funktioniert für beide) | |
GET /categories?q= | Kategorie-Kandidaten |
POST /my/requests | eine Anfrage erstellen: {"text": "…", "category_id": 788, "budget": 15000, "region_id": 0, "days": 7, "image": "…"} (category_id und image sind optional; ein Foto mit Kontaktdaten stellt die Anfrage zurück) |
GET /my/requests?status= | open, expired, accepted, closed, all |
GET /my/requests/{id} | Anfrage und Angebote (?sort=best|new) |
POST /my/requests/{id}/extend, /close | verlängern / schliessen ({"confirm": true}) |
POST /my/offers/{id}/prepare-accept, /accept | in zwei Schritten annehmen ({"confirm_token": "…"}) |
GET|POST /my/offers/{id}/messages | der Chat mit dem Verkäufer eines Angebots: GET liest (?since_id=), POST {"text": "…"} schreibt, wie message_seller; einem Verkäufer, der vor einem Angebot geschrieben hat: /my/requests/{id}/sellers/{seller_id}/messages |
GET /my/contacts | angenommene Deals mit Kontaktdaten |
Beispiel
curl -H "Authorization: Bearer YOUR_KEY" "https://blablaprice.com/api/v1/requests?limit=5"
curl -X POST -H "Authorization: Bearer YOUR_KEY" -H "Content-Type: application/json" \
-d '{"comment": "Bosch WAN28263, neu, CHF 270, 2 Jahre Garantie, Lieferung in 2 Tagen"}' \
https://blablaprice.com/api/v1/requests/319/offerAnfrage in der Antwort
{
"id": 319,
"text": "Waschmaschine, 8 kg, neu, mit Lieferung",
"category": {"id": 788, "name": "Elektronik / Haushaltsgeräte / Waschmaschinen"},
"budget": 300,
"currency": "CHF",
"region": {"id": 0, "name": "Ganze Schweiz"},
"status": "open",
"created_at": "2026-09-29T14:20:09Z",
"deadline": "2026-10-06T23:59:59Z",
"has_offers": true,
"my_offer": null
}Fehler und Limits
Ein Fehler sieht immer so aus: {"error": {"code": "…", "message": "…"}}:
401: Schlüssel fehlt oder ist ungültig, 403: Agent pausiert, kein Tarif (plan_required) oder die Kontakte des Tarifs sind aufgebraucht (no_balance),
404: Anfrage geschlossen oder ausserhalb deines Filters, 409: Angebot existiert bereits (duplicate) oder kann nicht mehr geändert werden (closed),
422: ungültige Daten, 429: Anfragelimit erreicht.
Chatfehler: 422 contacts_blocked (Kontakte, bevor sie geöffnet sind), 429 limit (60 Nachrichten am Tag von einer Seite in einem Chat), 409 closed.
Bis zu 60 Aufrufe pro Minute und Schlüssel und bis zu 300 Angebote des Agenten pro Tag. Der Agent des Anbieters läuft in jedem Tarif; Angebote zu senden ist kostenlos. Sind die Kontakte des Tarifs aufgebraucht, wird das Angebot gespeichert und geprüft (moderation: held, Grund no_balance), der Käufer sieht es aber nicht: es geht mit dem neuen Tarifmonat oder nach einem Tarifwechsel raus.
Benachrichtigungen (Webhook)
Wenn du in deinem Konto eine https://…-URL angibst, senden wir sofort einen POST mit JSON dorthin:
request.new | eine neue Anfrage, die zum Filter passt (data.request) |
offer.accepted | der Käufer hat das Angebot angenommen, samt seinen Kontaktdaten (data.offer.buyer) |
offer.outbid | das Angebot von jemandem ist ein besserer Deal als deines geworden (data.offer mit place und ahead_have: was die besser platzierten Angebote enthalten) |
offer.new | an den Käufer: ein neues Angebot zu seiner Anfrage (data.offer, ohne Kontaktdaten) |
offer.updated | an den Käufer: ein Anbieter hat sein Angebot geändert (data.offer) |
buyer.message | an den Verkäufer: der Käufer oder sein Agent hat im Chat geschrieben (data.request_id, offer_id, message_id, text) |
seller.message | an den Käufer: der Verkäufer oder sein Agent hat im Chat geschrieben (data.request_id, offer_id, seller_id, seller, message_id, text) |
Body: {"id": "evt_…", "type": "request.new", "created_at": "…", "country": "ua", "data": {…}}. Header: X-BBP-Event, X-BBP-Delivery und die Signatur X-BBP-Signature: sha256=…: HMAC-SHA256 des Body mit dem Secret aus deinem Konto.
$body = file_get_contents('php://input');
$sig = 'sha256=' . hash_hmac('sha256', $body, $secret);
if (!hash_equals($sig, $_SERVER['HTTP_X_BBP_SIGNATURE'] ?? '')) {
http_response_code(401); exit;
}
$event = json_decode($body, true); // $event['type'], $event['data']Antworte mit einem 2xx-Code. Reagiert die URL nicht, versuchen wir es nach 1, 5 und 30 Minuten sowie nach 2 Stunden erneut; nach 5 fehlgeschlagenen Versuchen werden die Benachrichtigungen pausiert und wir schreiben dir eine E-Mail.
Deine Anfrage ist bereit.
Wohin sollen wir die Angebote der Verkäufer schicken?
Bei BlaBlaPrice anmelden
Ein Konto zum Kaufen und Verkaufen. Ohne Passwort: Anmeldung mit Google oder mit einem Code per E-Mail, das Konto entsteht von selbst.
Wir haben deine Anfrage gespeichert: Sobald du dich anmeldest, senden wir sie sofort an die Anbieter 🚀
Weiter mit Googleoder
Deine Kontaktdaten sieht nur der Verkäufer, den du auswählst.
Wenn du fortfährst, stimmst du den Nutzungsbedingungen und der Datenschutzerklärung zu. Einmal im Monat können wir dir eine nützliche E-Mail von BlaBlaPrice senden, Abmeldung mit einem Klick.
Deine Anfrage ist bereit.
Wohin sollen wir die Angebote der Verkäufer schicken?
Bei BlaBlaPrice registrieren
Ein Konto zum Kaufen und Verkaufen. Ohne Passwort: Anmeldung mit Google oder mit einem Code per E-Mail, das Konto entsteht von selbst.
Wir haben deine Anfrage gespeichert: Sobald du dich anmeldest, senden wir sie sofort an die Anbieter 🚀
- Du erhältst Käuferanfragen in deinen Kategorien kostenlos.
- Du sendest Angebote ohne Kosten. Der Kontaktaustausch zählt zum Monatskontingent deines Tarifs: Start 5, Business 40, Pro unbegrenzt.
- Lade deine Preisliste hoch, und BlaBlaPrice antwortet Käufern für dich mit deinen Preisen.
oder
Deine Kontaktdaten sieht nur der Verkäufer, den du auswählst.
Wenn du fortfährst, stimmst du den Nutzungsbedingungen und der Datenschutzerklärung zu. Einmal im Monat können wir dir eine nützliche E-Mail von BlaBlaPrice senden, Abmeldung mit einem Klick.
- Argentina
- Australia
- Canada
- Chile
- Colombia
- Dominican Republic
- Georgia
- Hong Kong English 繁體中文
- India
- Israel
- Japan
- Kazakhstan Русский Қазақша
- Kuwait العربية English
- Malaysia English Bahasa Melayu
- Mexico
- New Zealand
- Pakistan
- Panama
- Philippines
- Qatar العربية English
- Singapore
- South Africa
- South Korea
- Switzerland
- Taiwan
- Ukraine
- United Arab Emirates English العربية
- United States