Germany Public Tenders Scraper: Ausschreibungen to Excel avatar

Germany Public Tenders Scraper: Ausschreibungen to Excel

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Germany Public Tenders Scraper: Ausschreibungen to Excel

Germany Public Tenders Scraper: Ausschreibungen to Excel

German public tenders (Ausschreibungen) and contract awards from oeffentlichevergabe.de, the official federal notice service: EU-wide and national below-threshold notices. Filter by keyword, CPV, state, value, deadline. GDPR-safe.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

TenderFeed

TenderFeed

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Security

Limited permissions

Share

Germany Public Tenders (Ausschreibungen) Scraper by TenderFeed

Search German public tenders (öffentliche Ausschreibungen) and contract awards from oeffentlichevergabe.de, the official federal notice service (Bekanntmachungsservice / Datenservice Öffentlicher Einkauf). You get EU-wide notices and national below-threshold notices (VOB/A, UVgO, VOL/A) that never reach TED. Filter by keyword, CPV code, federal state (NUTS), stage, contract type, buyer, value and deadline. Clean JSON, CSV or Excel with English field names.

Built by TenderFeed (apify.com/tenderfeed) on the official daily open-data export (OCDS + eForms, CC0 licence). No API key, no login, no scraping of private portals. About 1,000 notices per working day (measured: 1,183 on 2026-10-28, 1,078 on 2026-10-30).

Why this Actor

  • Below-threshold coverage: on 2026-10-30, 253 of 683 calls for tenders were national (Unterschwellen) notices that TED does not carry.
  • Real deadlines: the submission deadline is read from the eForms XML (the OCDS export alone has none): 596 of 683 calls for tenders on 2026-10-30 had one.
  • Built for bid managers: federal state, legal basis (EU directive or VOB/A / UVgO / VOL/A), lots, e-procurement platform link (DTVP, Vergabe24, subreport, evergabe-online, DB Bieterportal...).
  • Award notices with winners (stages: ["award"]) for competitor and pricing analysis.
  • "Only new" monitoring for daily alerts, and pay only for new rows.

Input example

{
"keywords": ["Software", "Rechenzentrum"],
"stages": ["tender"],
"contractTypes": ["services", "goods"],
"regions": ["DE2", "Berlin"],
"cpvCodes": ["72", "48"],
"publishedFrom": "7 days",
"onlyOpen": true,
"maxResults": 0
}
  • stages: tender (calls for tenders, default), award (results with winners), planning (prior information).
  • regions: NUTS prefixes of the buyer or place of performance, e.g. DE1 Baden-Württemberg, DE2 Bayern, DE3 Berlin, DE7 Hessen, DEA Nordrhein-Westfalen, DED Sachsen, or finer (DE212 München). State names like "Bayern" or "NRW" also work.
  • onlyEuWide: keep only notices under the EU directives (above EU thresholds).
  • Keywords match word starts in title, description and lot titles. Most notices are in German, so German terms work best (Reinigung, Bauleistungen, Beratung).
  • The official export covers completed days, so the newest data is from yesterday.

Output example

Real row from a live run (notice published 2026-10-30), national VOB/A works tender:

{
"source": "de-oeffentlichevergabe",
"sourceId": "25988484",
"ocid": "ocds-mnwr74-25988484",
"url": "https://oeffentlichevergabe.de/ui/de/search/details?noticeId=25988484",
"title": "HHI Berlin Berlin - Dachsanierung über EG 73-50405-3220-5 Dachabdichtungsarbeiten PR1321703 -3220-B",
"description": "Siehe PDF-Datei.\n\n73-50405-3220-5 Dachabdichtungsarbeiten",
"noticeType": "cn-standard",
"status": "active",
"procedureType": null,
"contractType": "works",
"buyerName": "Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vergabenummer B12 - SG 7 Vergabestelle Bau Hansastr. 27c, 80686 München, Deutschl",
"buyerCountry": "DE",
"buyerCity": null,
"buyerContactName": null,
"buyerContactEmail": null,
"buyerContactPhone": null,
"cpvCodes": [
"45261410"
],
"otherClassificationCodes": [],
"placeOfPerformance": "10587 Fraunhofer IPK, Dachsanierung über EG, Pascalstraße 8-9",
"publishedAt": "2026-10-30T19:00:02Z",
"deadlineAt": "2026-11-27T10:00:00+01:00",
"estimatedValue": null,
"currency": null,
"documentsUrl": null,
"submissionUrl": null,
"awardedValue": null,
"awardees": [],
"stage": "tender",
"buyerState": null,
"buyerNuts": null,
"buyerWebsite": null,
"legalBasis": "VOB/A national (works, below EU threshold)",
"euWide": false,
"numberOfLots": 1,
"numberOfTenderers": null,
"language": null
}

Fields shared by all TenderFeed Actors: source, sourceId, ocid, url, title, description, noticeType, status, procedureType, contractType, buyerName, buyerCountry, buyerCity, cpvCodes, placeOfPerformance, publishedAt, deadlineAt, estimatedValue, currency, documentsUrl, submissionUrl, awardedValue, awardees. Germany extras: stage, buyerState, buyerNuts, buyerWebsite, legalBasis, euWide, numberOfLots, numberOfTenderers, language.

Buyer contacts and GDPR (includeBuyerContacts)

Notices often name a contact person with email and phone. By default (includeBuyerContacts: false) these are removed and you get organisation-level data only (buyer name, city, state, notice and platform links). Set it to true only if you have a lawful basis under the GDPR. In a live test (683 calls for tenders, 2026-10-30) contacts-on returned an email on 351 rows and a contact name on 155; contacts-off returned none.

Daily alerts ("only new" monitoring mode)

Turn on onlyNew, give the search a monitoringId (e.g. "de-it-bayern") and schedule the Actor daily. Each run returns, and charges for, only notices you have not received before.

Notes and limits

  • estimatedValue is filled only when the buyer publishes it (45 of 683 calls for tenders on 2026-10-30). Award notices often carry the contract value.
  • Some national notices have a short description ("Siehe PDF-Datei"); open url or documentsUrl for the full documents on the buyer's e-procurement platform.
  • Above-threshold German tenders are also on TED; use this Actor if you want one feed for both EU-wide and national German notices.

More TenderFeed sources

Same output schema across all sources, so you can merge results in one sheet or CRM:

Sample output (real run)

One row from a run on 6 November 2026 (core columns only; every row also has description, status, procedureType, documentsUrl and more). Contact values are masked here. Since schema 1.2 every row also carries the cross-source columns country, deadline, valueAmount, valueCurrency and cpvOrNaics next to the original ones (buyerCountry, deadlineAt, estimatedValue, currency, cpvCodes/naicsCodes), which are unchanged.

{
"title": "LK - Urbane Datenplattform Smart City 2027",
"source": "de-oeffentlichevergabe",
"country": "DE",
"noticeType": "cn-standard",
"publishedAt": "2026-11-05T07:01:16Z",
"deadline": "2026-12-01T14:30:00+01:00",
"buyerName": "Stadt Hameln - Zentrale Vergabestelle - im Auftrag des Landkreises Hameln-Pyrmont",
"valueAmount": null,
"valueCurrency": null,
"cpvOrNaics": "72000000",
"setAside": null,
"url": "https://oeffentlichevergabe.de/ui/de/search/details?noticeId=26005758",
"buyerContactName": null,
"buyerContactEmail": null,
"buyerContactPhone": null
}

Limits and notes

  • Data source: oeffentlichevergabe.de (Datenservice Öffentlicher Einkauf) open notice data.
  • Access: No login or API key.
  • Delays and gaps: Notices are in German. Value is often not published. Notices only published on regional portals without forwarding to the national data service may be missing.
  • Contacts: No buyer contact persons are extracted.
  • Fields the portal does not publish stay null; nothing is guessed or filled in.

FAQ

Is this legal? Yes. The data comes from the official public export of oeffentlichevergabe.de, published under CC0. Personal data is excluded unless you set includeBuyerContacts: true.

Can I use it from an AI agent? Yes, as an MCP tool through the Apify MCP server, e.g. "Which German hospitals are tendering IT services this week?"