vergabe.rib.de APIvergabe.rib.de ↗
Access German public procurement data from RIB eVergabe: search tenders, retrieve award notices, EU prior information notices, and CPV codes via REST.
curl -X GET 'https://api.parse.bot/scraper/7e0e2e6e-c1b7-41fe-830e-7c550a82ca47/search_tenders?limit=3&query=construction' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for tender publications (Bekanntmachungen) with optional filters for keyword, location, procedure type, and sort order. Returns paginated results.
| Param | Type | Description |
|---|---|---|
| sort | string | Sort order. Accepted values: 'created desc', 'created asc'. |
| limit | integer | Maximum number of results to return. |
| query | string | Search keyword to filter tenders. |
| radius | string | Search radius in km around the specified location. |
| location | string | Location filter (city or region name). |
| procedure_type | string | Filter by procedure type. Accepted values: 'eu', 'national', 'exante'. |
{
"type": "object",
"fields": {
"items": "array of tender summary objects each containing id, title, contracting_authority, publication_date, description_summary, and url"
},
"sample": {
"data": {
"items": [
{
"id": "593526",
"url": "https://www.meinauftrag.rib.de/public/publications/593526",
"title": "223-2026 Austausch Beleuchtung",
"publication_date": "15 May 2026",
"description_summary": "No short description available",
"contracting_authority": "Bezirksamt Spandau von Berlin"
}
]
},
"status": "success"
}
}About the vergabe.rib.de API
The vergabe.rib.de API exposes 5 endpoints covering German public procurement data from the RIB eVergabe platform. Use search_tenders to query active tender publications with filters for keyword, location, radius, and procedure type, or call get_tender_details to retrieve structured fields including CPV codes, dates and deadlines, contracting authority, and subdivision into lots for any specific tender by ID.
Tender Search and Details
The search_tenders endpoint accepts keyword queries, a location name combined with a radius in kilometres, and a procedure_type filter (eu, national, or exante). Results are paginated and sortable by creation date. Each item in the response includes an id, title, contracting_authority, publication_date, description_summary, and a direct url. Pass the id into get_tender_details to receive the full record: CPV codes, action_number, execution_place, brief_description, a tender_details object covering procedure regulation and lot subdivision, and a dates_and_deadlines object with fields like Period, Expiration time, Opening Date, and Award period.
Award Notices and EU Prior Information
search_award_notices returns contract award notices (Vergabeinformationen) with the same metadata shape as tender results: id, title, contracting_authority, publication_date, description_summary, and url. search_eu_prior_information returns EU Prior Information Notices (Vorinformationen) with equivalent fields. Both endpoints accept a limit parameter to control result count but do not currently expose keyword or location filtering.
News Feed
The get_news endpoint retrieves articles from the RIB eVergabe news section. Each article object contains title, link, date, and summary, making it straightforward to monitor platform announcements, regulatory updates, and procurement news alongside live tender data.
- Monitor new German public tenders matching a specific trade category by filtering
search_tenderswith a keyword andprocedure_type. - Build a regional tender alert system using the
locationandradiusparameters to scope results to a target city or district. - Populate a CPV-code-indexed database of active procurement opportunities using
cpv_codesfromget_tender_details. - Track submission deadlines by extracting
dates_and_deadlines.Expiration timeandOpening Datefields for tenders of interest. - Audit awarded contracts by querying
search_award_noticesand correlating award metadata with the original tender publication. - Feed a procurement intelligence dashboard with EU prior information notices via
search_eu_prior_informationto anticipate upcoming large tenders. - Aggregate contracting authority contact details from the
contracting_authority.emailfield across multiple tenders for supplier outreach mapping.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does vergabe.rib.de have an official developer API?+
What does `get_tender_details` return beyond what `search_tenders` provides?+
search_tenders returns summary-level fields: id, title, contracting_authority, publication_date, description_summary, and url. get_tender_details adds cpv_codes, action_number, execution_place, brief_description, a tender_details object (regulation, procedure type, lot subdivision), and a dates_and_deadlines object with specific date fields like Expiration time, Opening Date, Award period, and Bidders requests.Can I filter award notices or EU prior information notices by keyword or location?+
search_award_notices and search_eu_prior_information currently accept only a limit parameter — keyword, location, and procedure_type filters are not exposed for those endpoints. search_tenders does support those filters. You can fork this API on Parse and revise it to add filtering parameters to the award or prior-information endpoints.Is there a detail endpoint for award notices similar to `get_tender_details`?+
search_award_notices but does not include a dedicated detail endpoint for individual award records. You can fork this API on Parse and revise it to add an award-notice detail endpoint returning fuller contract information.How current is the tender data, and does the API support pagination beyond a result limit?+
search_tenders endpoint supports a limit parameter to control result count and returns publication_date per item, but there is no explicit page/offset parameter exposed — results are capped by the limit value. For deeper pagination you can fork the API on Parse and revise it to add offset or cursor-based parameters.