EU public tenders API (TED and TenderNed)
Public procurement search (aanbestedingen, tenders) for sales and bid agents: open contract notices from TED, the EU's official tenders journal, by country, CPV code, keywords, deadline and minimum value, with English titles, buyer, deadline and estimated value. For the Netherlands it also returns national below-threshold tenders from TenderNed, which are not in TED. Cached 3 hours.
0.005 USDC per call · GET /v1/eu/tenders · free preview at /v1/eu/tenders/preview
Parameters
| Name | Required | Description |
|---|---|---|
country | yes | EU/EEA country code, e.g. NL, DE, FR, or EU for all |
cpv | no | Optional CPV codes (2-8 digits), up to 3 separated by ';', e.g. 72 (IT services), 45 (construction) |
q | no | Optional keywords, up to 4 words, e.g. cloud |
deadline_within | no | Optional: only tenders closing within N days |
min_value | no | Optional minimum estimated value in EUR |
days | no | Published within the last N days (default 90) |
limit | no | 1-25 (default 10) |
include_national | no | NL only: include national below-threshold tenders from TenderNed (default true) |
Example request
curl "https://factline.dev/v1/eu/tenders?country=NL&cpv=72"
# 402 Payment Required: pay with an x402 client (USDC on Base), or send
# Authorization: Bearer <your Factline API key>Example response
{
"query": {
"country": "NL",
"cpv": [
"72"
],
"q": null,
"days": 90,
"deadline_within": null,
"min_value": null,
"include_national": true
},
"total_eu": 155,
"national_found": 2,
"returned": 3,
"tenders": [
{
"id": "696715-2026",
"source": "TED",
"title_en": "IT services: consulting, software development, Internet and support - Contactcenter-oplossing",
"title_original": "Contactcenter-oplossing",
"buyer": "Gemeente Groningen",
"city": "Groningen",
"country": "NL",
"deadline": "2026-12-01",
"days_left": 52,
"value_eur": 1300000,
"cpv": [
"72000000"
],
"published": "2026-10-08",
"url": "https://ted.europa.eu/en/notice/-/detail/696715-2026"
},
{
"id": "TN-444102",
"source": "TenderNed",
"title_en": null,
"title_original": "EA Ontwikkeling Developer Experience",
"buyer": "NS Groep N.V.",
"city": null,
"country": "NL",
"deadline": "2026-10-23",
"days_left": 13,
"value_eur": null,
"cpv": [],
"published": "2026-10-07",
"type_nl": "Diensten",
"procedure_nl": "Openbaar",
"url": "https://www.tenderned.nl/aankondigingen/overzicht/444102"
}
],
"source": "TED (ted.europa.eu), Commission Decision 2011/833/EU; TenderNed (tenderned.nl, open data)"
}Use it from an AI agent
Agents with an x402 wallet call the URL directly and pay per request. Assistants that speak MCP connect to https://factline.dev/mcp. Full reference: docs, OpenAPI, llms.txt. Businesses: API keys with a free trial.
Questions
How much does the EU public tenders API (TED and TenderNed) cost?
0.005 USDC per call, paid per request with x402 (no account), or included in a Factline API key plan with a free trial. Calls that fail are not charged.
Can I try it for free?
Yes: GET /v1/eu/tenders/preview with the same parameters validates your input and shows what the paid answer contains, at no cost.
Where does the data come from?
Official public registers and open data, named with their licence in every response (source field) and at /.well-known/x402-license-provenance.
Related checks
EU VAT number check API (VIES) · Sanctions screening API (EU, UN, UK, OFAC) · Batch sanctions screening API · EU EORI number check API