Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Daily EU public tender alerts in Google Sheets with the free TED API

Description and use

Automated collection of new and changed EU tenders via the free TED API, appended daily to a Google Sheet for monitoring.

Problem

Need to automatically collect new or changed EU public tenders matching specific CPV codes and countries and store them in a Google Sheet for daily monitoring.

Outcome

The job runs daily, automatically adding new or updated EU tender notices to a shared Google Sheet, enabling timely alerts.

Workflow

  • Query TED search API with CPV and country filters via POST https://api.ted.europa.eu/v3/notices/search
  • Parse JSON response, handling pagination with iterationNextToken
  • Hash selected fields (notice-title, deadline, buyer-name) to detect changes
  • Compare hashes against stored publication-number → hash mapping to identify new or changed notices
  • Update local seen.json with latest hashes
  • Append new/changed rows to Google Sheet using gspread service account

Evidence

The EU publishes every above-threshold public tender on TED (Tenders Electronic Daily), and it offers a free search API that needs no API key.

Source

The endpoint is POST https://api.ted.europa.eu/v3/notices/search (docs: https://docs.ted.europa.eu/api/latest/search.html).

Source

With gspread and a service account that has edit access to the sheet:

Source

  • Record date: 2026-10-16T19:41:33.591Z