OrbTop

EU National Procurement Portals Scraper — 8 Countries

BUSINESSOTHER

EU National Procurement Portals Scraper — 8 Countries

Scrape procurement notices from national portals across 8 countries: France (BOAMP), UK (Contracts Finder), Spain (PCSP), Netherlands (TenderNed), Belgium (e-Procurement), Italy (ANAC), Poland (ezamowienia), and Germany (Evergabe).

Captures sub-threshold contracts that TED/OJEU misses. Returns CPV codes, estimated values, deadlines, authority data, and award-winner details.


What you get

Each record covers a single procurement notice:

Field Description
country ISO-2 code (FR, UK, ES, NL, BE, IT, PL, DE)
source_portal Name of the national portal
notice_id Portal-specific notice identifier
notice_type contract_notice, award_notice, prior_info, or modification
cpv_codes Common Procurement Vocabulary codes, comma-separated
title Notice title
description Notice description (up to 500 chars)
publication_date ISO-8601 publication date
submission_deadline ISO-8601 deadline for submissions
estimated_value_eur Estimated contract value in EUR
currency Original currency of the value
contract_duration Contract duration (where available)
awarding_authority_name Contracting authority name
awarding_authority_country Authority country
awarding_authority_type Authority type (ministry, municipality, etc.)
award_winner_name Awarded supplier (award notices only)
award_winner_country Supplier country
award_value_eur Final awarded value in EUR
num_bidders Number of bids received
procedure_type Procurement procedure (open, restricted, negotiated, etc.)
eu_funded Whether EU cohesion/structural funds are involved
sustainability_criteria Green/social procurement criteria
documents_url URL to tender documents
cross_ref_ted_oj_id TED/OJEU reference ID (above-threshold notices)
source_url Direct link to the notice

Supported portals

Code Country Portal Data quality
FR France BOAMP (ODS API v2.1) Full — JSON, paginated
UK United Kingdom UK Contracts Finder Full — REST/JSON
ES Spain PCSP Atom feed Partial — title/date/link only
NL Netherlands TenderNed Best-effort
BE Belgium Belgian e-Procurement Best-effort
IT Italy ANAC open data Best-effort
PL Poland ezamowienia Best-effort
DE Germany Evergabe No public API — skipped

Input

{
  "countries": ["FR", "UK"],
  "mode": "recent_notices",
  "lookbackDays": 7,
  "maxItems": 100
}

Fields

Field Type Default Description
countries array required ISO-2 country codes to crawl
mode string required Query mode (see below)
lookbackDays integer 7 Days to look back (for recent_notices mode)
dateFrom string Start date YYYY-MM-DD (for by_date_range mode)
dateTo string today End date YYYY-MM-DD (for by_date_range mode)
query string Search keyword (for by_keyword mode)
cpvCodes array CPV codes to filter by
noticeTypes array all Filter by notice type
minValueEur integer 0 Minimum estimated value in EUR
maxItems integer 10 Maximum records across all portals

Modes

Mode Description
recent_notices Notices published in the last N days
by_keyword Full-text keyword search
by_cpv_code Filter by CPV codes
award_notices_only Only contract award notices
by_date_range Notices within a specific date range

Examples

Recent notices from France and UK (last 3 days)

{
  "countries": ["FR", "UK"],
  "mode": "recent_notices",
  "lookbackDays": 3,
  "maxItems": 50
}

Keyword search across multiple countries

{
  "countries": ["FR", "DE", "IT"],
  "mode": "by_keyword",
  "query": "software development",
  "maxItems": 100
}

Award notices from Spain and Belgium

{
  "countries": ["ES", "BE"],
  "mode": "award_notices_only",
  "maxItems": 50
}

All IT contracts above EUR 100k in a date range

{
  "countries": ["IT"],
  "mode": "by_date_range",
  "dateFrom": "2026-01-01",
  "dateTo": "2026-03-31",
  "minValueEur": 100000,
  "maxItems": 500
}

Notes

  • Germany (DE) has no accessible public procurement API and returns no records. Include DE only if you need results from the other portals in the same run.
  • Spain (ES) data comes from a single Atom/XML feed and contains only title, publication date, and source URL. Full tender details require visiting the linked page.
  • Best-effort portals (NL, BE, IT, PL) reflect the field structure of each portal's open-data API. Field availability varies by portal.
  • The actor targets nationally-published notices. Notices published directly to TED/OJEU above EU thresholds may also appear if the national portal carries them.
  • Set maxItems to a reasonable value. Default run memory is 1 GB with a 4-hour timeout.