German Public Tenders (oeffentlichevergabe.de) avatar

German Public Tenders (oeffentlichevergabe.de)

Pricing

$3.00 / 1,000 notice delivereds

Go to Apify Store
German Public Tenders (oeffentlichevergabe.de)

German Public Tenders (oeffentlichevergabe.de)

German public procurement notices (Vergabe) of a day or date range from the federal Bekanntmachungsservice (CC0 open data): also below the EU thresholds, not on TED. Filter by CPV, NUTS region, buyer, type. Title, buyer, CPV, value, deadline, winners.

Pricing

$3.00 / 1,000 notice delivereds

Rating

0.0

(0)

Developer

DARIKAMI GmbH

DARIKAMI GmbH

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Security

Limited permissions

Share

German public tenders (Vergabe, Ausschreibung) by day, from the federal Bekanntmachungsservice at oeffentlichevergabe.de (CC0 open data). It includes the notices below the EU thresholds, which TED does not publish: on 2026-11-03, 321 of 1,021 notices were national only (VOB, VOL, UVgO). USD 0.003 per notice (USD 3 per 1,000). Filter by CPV, NUTS region, buyer, notice type and keyword. You pay only for the notices that match.

TitleBuyerCityCPVDeadline
Softwareconsulting DigiT1DMaster - Weiterentwicklung und WartungHelmholtz Zentrum MünchenNeuherberg720000002026-12-03
Software Assurance MS LizenzenKommunale Wasserwerke Leipzig GmbHLeipzig720000002026-12-07
10048442_Microsoft_Unified_Support_LeistungenDeutsche Gesellschaft für Internationale Zusammenarbeit (GIZ) GmbHEschborn72261000-
EiCoNeD2025 - Los 3 (Internet)Freistaat Thüringen, Thüringer LandesrechenzentrumErfurt724110002026-12-03
Rahmenvereinbarung iBS IIDB InfraGO AGFrankfurt Main34632000-

The rows come from a real cloud run of 04.11.2026: calls for tenders of 2026-11-03 with CPV prefix 72 (IT services). The full item is under Output.

Who uses it

  • Bid teams of suppliers: every morning, the new calls for tenders in your CPV codes and your region.
  • Tender alert services and CRMs: a daily feed of structured notices, with deadlines and links.
  • Market analysis: the contract awards - who won, for which buyer, at what value.

What it does not do

  • The newest day is yesterday: the source exports a day after midnight, German time.
  • Few notices state an estimated value (46 of 597 calls for tenders on 2026-11-03).
  • Germany only. The output has no contact persons.

Input

{
"fromDate": "2026-11-02",
"toDate": "2026-11-03",
"noticeTypes": ["competition"],
"cpvPrefixes": ["72"],
"regions": ["DE2", "DE30"],
"buyerContains": ["Stadt"],
"keywords": ["Software"],
"nationalOnly": false,
"maxItems": 500
}

All fields are optional. An empty input returns yesterday's calls for tenders.

FieldWhat it does
fromDate, toDatePublication days, German time (YYYY-MM-DD). Default: yesterday. At most 31 days per run. The newest day is yesterday. The oldest day is 2022-12-01.
noticeTypescompetition (calls for tenders, the default), result (contract awards), planning (prior information), contract-modification, direct-award (a direct award announced in advance), change (corrections), completion.
cpvPrefixesCPV codes or their start: 45 = construction work, 72 = IT services, 7131 = engineering services. 45000000-7 means the same as 45.
regionsNUTS codes or their start: DE1 = Baden-Württemberg, DE2 = Bavaria, DE30 = Berlin, DEA = North Rhine-Westphalia. The actor compares the buyer's region and the place of performance.
buyerContainsText in the buyer's name, case ignored.
keywordsText in the title, the description or a lot title, case ignored. Most notices are in German.
nationalOnlytrue keeps only notices under German law below the EU thresholds.
maxItemsThe run stops after this number of notices.

In each filter, one matching value is enough. A notice must pass every filter that you set.

Output

One item per notice version. This is a call for tenders of 2026-11-03 (shortened):

{
"type": "notice",
"noticeId": "00f90f53-ad69-47d5-bd31-f09a483a92dd",
"noticeVersion": "01",
"noticeUrl": "https://oeffentlichevergabe.de/ui/de/search/details?noticeId=00f90f53-ad69-47d5-bd31-f09a483a92dd",
"publicationDate": "2026-11-03T03:10:25Z",
"formType": "competition",
"noticeType": "cn-standard",
"legalBasis": "32014L0024",
"scope": "EU",
"procedureType": "open",
"title": "GDSK BW Neubau GBG\n\nTiefbau- und Straßenbauarbeiten, DIN 18299 u.a.",
"description": "Tiefbau- und Straßenbauarbeiten, DIN 18299",
"internalReference": "26-10225",
"mainNature": "works",
"cpvMain": "45221250",
"cpvCodes": ["45221250"],
"estimatedValue": 1859249,
"estimatedValueCurrency": "EUR",
"lots": [{ "lotId": "LOT-0000", "title": "Tiefbau- und Straßenbauarbeiten, DIN 18299 u.a.", "estimatedValue": 1859249, "currency": "EUR", "cpvCodes": ["45221250"] }],
"placesOfPerformance": [{ "city": "Bruchsal", "postCode": "76646", "nuts": "DE123", "country": "DEU" }],
"buyerName": "Staatliches Hochbauamt Heidelberg",
"buyerCity": "Heidelberg",
"buyerNuts": "DE125",
"buyers": [{ "name": "Staatliches Hochbauamt Heidelberg", "identifier": "08-A7182-41", "city": "Heidelberg", "postCode": "69115", "nuts": "DE125", "country": "DEU", "legalType": "omu-lbeh" }],
"submissionDeadline": "2026-12-09T23:59:00+01:00",
"participationDeadline": null,
"awardedValue": null,
"awardedValueCurrency": null,
"winners": [],
"personalDataRemoved": false,
"exportDay": "2026-11-03",
"source": "oeffentlichevergabe.de Open Data API (Bekanntmachungsservice, Procurement Office of the German Federal Ministry of the Interior), CC0"
}
  • scope: EU = under an EU directive (the notice is also on TED). national = German law below the EU thresholds. unknown = the notice does not state it.
  • submissionDeadline: the earliest deadline for tenders of all lots. participationDeadline: the earliest deadline for requests to participate (restricted procedures). Both come from the notice's eForms data.
  • winners (results, modifications, direct awards): the organisations that the notice names as tenderers or winners. awardedValue is the total value that the notice states.
  • Texts stay in the language of the notice, mostly German.

Pricing (pay per event)

EventPriceWhen
noticeUSD 0.003one notice that matched your filters, pushed to the dataset

Free: notices that your filters drop, error items, and the note "nothing matched". 1,000 notices cost USD 3. On 2026-11-03 (a Tuesday) the source published 1,021 notices, of them 597 calls for tenders. The 7 days from 2026-10-27 to 2026-11-02 had 5,469 notices.

Personal data

The actor filters persons out, and the filter works on patterns. Before it pushes a notice:

  • It does not read a contact point (names, e-mail addresses, telephone numbers of contact persons).
  • It removes e-mail addresses and telephone numbers from all texts. They show as [e-mail removed] and [phone removed].
  • It removes a name after a salutation (Herr, Frau) or a contact label (Ansprechpartner:). The name shows as [name removed].
  • A winner keeps its name only when it is a company or a public body. A sole trader or a partnership of persons shows with nameWithheld: true. Only its size, region and country stay.

personalDataRemoved: true marks a notice that the filter changed. On 2026-11-03 the filter changed 120 of 1,021 notices and withheld 72 of 355 winner names. The filter works on patterns. A name in free text without a salutation or a label can stay.

A company named after a person keeps its name, because it is a legal person.

Data source and terms

  • Source: the Open Data API of the Bekanntmachungsservice, https://oeffentlichevergabe.de/api/notice-exports (documentation: https://oeffentlichevergabe.de/documentation/api/opendata). The Procurement Office of the German Federal Ministry of the Interior operates it.
  • Terms (publication policy, read 2026-11-04): "The publication of the procurement data at https://oeffentlichevergabe.de aims to ensure that all information on public procurement of the Publication Service is accessible online and in open formats, so that it can be used, reused and redistributed by any interested party." "The data provided as Open Data is under the Creative Commons CC Zero licence."
  • The Publication Service is only the publication platform. The contracting authority that issues a notice is responsible for its content. For an official procedure, read the notice at noticeUrl and the procurement documents.
  • The actor sends one request per day of data, and a second one for the deadlines of calls for tenders and corrections.

Limits

  • The newest day is yesterday: the source exports a day after midnight, German time.
  • Few notices state an estimated value: 46 of 597 calls for tenders on 2026-11-03.
  • A notice without a NUTS code for its buyer and its place of performance does not pass a regions filter (77 of 1,021 on 2026-11-03).
  • A notice version is one item: a correction of an earlier call comes as a new version (noticeVersion).

Run summary

The run summary is in the default key-value store under SUMMARY, the counts under STATS. The data comes as the source publishes it, without warranty.

More official-data actors by darikami: Swiss UID & VAT validator · Swiss electricity tariffs · Swiss federal law MCP · SEC company fundamentals. In an AI agent: ask the Apify MCP server (mcp.apify.com) for darikami/german-public-tenders.