InfraNode.dev
MCP InfraNode gibt es auch als MCP-Server für KI-Assistenten wie Claude und ChatGPT.

GET /api/v1/cities/{slug}/public-tenders

Öffentliche Auftragsvergabe je Stadt (oeffentlichevergabe.de, Tier A)

Öffentliche Auftragsbekanntmachungen einer Stadt aus dem Bekanntmachungsdienst des Bundes (oeffentlichevergabe.de, OCDS): laufende Vergabeverfahren und entschiedene Verfahren, je Bekanntmachung Titel, Status, Auftraggeber, Wert und Quell-Link; bei entschiedenen Verfahren zusaetzlich die Auftragnehmer (suppliers, Namensliste; leer wenn die Quelle nicht offenlegt) und der tatsaechlich vergebene Auftragswert (award_value/award_currency, getrennt vom Ausschreibungswert value). status wird semantisch aus dem notice_type abgeleitet: active = laufendes Vergabeverfahren (Auftragsbekanntmachung), complete = entschiedenes Verfahren inkl. aufgehobener Vergaben; der rohe Zuschlag-Status steht im Feld award_status (active/pending/unsuccessful/null). Betraege <= 0 aus der Quelle werden als nicht angegeben (null) gewertet. Die Angebotsfrist (deadline) fehlt im Quell-Export fast immer und steht dann nur in der Original-Bekanntmachung über source_url. Read-only aus dem deduplizierten Store (kein Live-Pull im Request-Pfad). Filter status (active/complete) und match (buyer_city/place_of_performance), mit Pagination (limit/offset). Keine Bekanntmachungen -> 200 source_status="no_data", data=null (ehrlich). CC0 (Tier A). Deaktiviert -> 200 source_status="disabled".

Parameter

Name In Pflicht Typ Beschreibung
slug path ja string
status query nein string Verfahrens-Status (active = laufendes Vergabeverfahren, complete = entschiedenes Verfahren inkl. aufgehobener Vergaben; Detail im Feld award_status).
match query nein string Stadt-Zuordnung (buyer_city = Sitz des Amts, place_of_performance = Erfüllungsort).
q query nein string Titel-Stichwort (Teilstring, parametrisierter LIKE-Filter).
since query nein string Nur Bekanntmachungen ab diesem ISO-Datum YYYY-MM-DD; ungültiges Datum -> 422.
limit query nein integer Seitengröße (Default 50, Cap 200).
offset query nein integer Seiten-Offset (>= 0); Overflow -> leere Seite, no_data.

Code-Beispiele

curl "https://infranode.dev/api/v1/cities/hamburg/public-tenders"

Try it