Public procurement API for German cities
Running tenders and awarded contracts for German cities through a free, keyless REST API. The source is the German public procurement data service (oeffentlichevergabe.de) in the OCDS standard, delivered as consistent JSON with source, license and timestamp on every response.
What data you get
For each city the endpoint returns public procurement notices: notice type (tender or award), status, buyer city, region (NUTS), subject of the contract (CPV) and, where published, the contract value. Results can be filtered by status (active for running tenders, complete for awarded contracts).
- Notice type (tender/award)
- Status
- Buyer city
- Region (NUTS)
- Contract subject (CPV)
- Contract value
Source: German public procurement data service. License:
CC0. Source, license URL and timestamp are included in every API
response in the meta and attribution block.
How to fetch it
A simple GET request, no key and no sign-up:
curl https://infranode.dev/api/v1/cities/koeln/public-tenders For another city, just put the slug from the cities list into the path.
No key, no sign-up, free.
Covered cities
Coverage is growing: above-threshold notices are complete, below-threshold notices are added gradually from 2024 onward.
Available for all 84 covered cities. The exact per-city status is on the coverage and status page, the full list of cities on the cities overview.
Endpoint reference
All parameters, fields and response examples are in the API reference for this endpoint. InfraNode is also available as an MCP server for AI assistants.
Frequently asked questions
- Is the public procurement API free and usable without a key?
- Yes. The API is keyless and free; a GET request without sign-up is enough. The rate limit is 300 requests per minute per IP.
- Which procurement data is included?
- Running tenders and already awarded contracts per city with notice type, status, buyer city, region (NUTS), contract subject (CPV) and, where published, the contract value.
- Which license applies to the procurement data?
- Data comes from the German public procurement data service and is passed through under CC0. The license URL and attribution are included in every API response in the attribution block.