TED Europa Tenders Scraper avatar

TED Europa Tenders Scraper

Pricing

Pay per event + usage

Go to Apify Store
TED Europa Tenders Scraper

TED Europa Tenders Scraper

Find EU public procurement tenders from TED by keyword, country, CPV code, buyer, deadline, and value. Export clean tender leads.

Pricing

Pay per event + usage

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Extract public procurement opportunities from TED (Tenders Electronic Daily), the official EU public procurement portal. Search by keyword, buyer, country, CPV code, publication date, and deadline, then export clean tender records to JSON, CSV, Excel, or your data pipeline.

What does TED Europa Tenders Scraper do?

TED Europa Tenders Scraper queries the public TED notices API and saves structured tender notice data.

It helps you collect:

  • 🔎 Tender publication numbers
  • 🏛️ Buyer and public authority names
  • 🧾 Tender titles and notice text matches
  • 📅 Submission deadlines when available
  • 💶 Estimated contract values when available
  • 🏷️ CPV procurement category codes
  • 🌍 Country/location indicators
  • 🔗 Direct TED HTML, PDF, and XML links

Who is it for?

This scraper is built for procurement and public-sector sales teams that need repeatable EU tender monitoring.

Typical users include:

  • B2G sales teams tracking opportunities in target countries
  • Bid managers watching deadline-driven tender pipelines
  • Market-intelligence analysts measuring public-sector demand
  • Consultants monitoring buyer activity and CPV categories
  • Agencies building lead lists from public procurement notices
  • Data teams feeding tender alerts into CRMs or warehouses

Why use it?

TED is high-value but manual searching is slow. This Actor turns repeat searches into structured exports that can be scheduled, filtered, and integrated.

Benefits:

  • ✅ API-first collection from a public EU source
  • ✅ No browser automation required for the main extraction
  • ✅ No login or private token required
  • ✅ Works well for scheduled searches
  • ✅ Exports to Apify datasets, API, webhooks, and integrations

What data can you extract?

FieldDescription
publicationNumberTED publication number, e.g. 399019-2026
noticeTitleLocalized notice title when present
buyerNameBuyer or public authority name
deadlineDateTender/deadline date returned by TED
estimatedValueNumeric estimated value when available
estimatedValueCurrencyCurrency text when available
cpvCodesCPV category codes
countryCodesCountry/location codes returned by TED
tedUrlDirect TED HTML notice URL
pdfUrlTED PDF URL when available
xmlUrlTED XML URL when available
sourceApiUrlPublic TED API endpoint used by the Actor

How much does it cost to scrape TED Europa tenders?

This Actor uses pay-per-event pricing: a small run-start event plus a per-tender result event.

Configured pricing:

EventWhen chargedPrice
Run startOnce per Actor run$0.005
Tender scraped — FREE tierPer tender notice saved$0.000115
Tender scraped — BRONZE tierPer tender notice saved$0.000100
Tender scraped — SILVER tierPer tender notice saved$0.000078
Tender scraped — GOLD tierPer tender notice saved$0.000060
Tender scraped — PLATINUM tierPer tender notice saved$0.000040
Tender scraped — DIAMOND tierPer tender notice saved$0.000028

Example cost formula before Apify platform credits or plan-specific discounts:

Saved tender noticesFREE tier estimateBRONZE tier estimate
250.005 start + 25 × 0.000115 = 0.007875 USD0.005 start + 25 × 0.000100 = 0.007500 USD
1000.005 start + 100 × 0.000115 = 0.016500 USD0.005 start + 100 × 0.000100 = 0.015000 USD
1,0000.005 start + 1,000 × 0.000115 = 0.120000 USD0.005 start + 1,000 × 0.000100 = 0.105000 USD

For most users, the cost scales with the number of tender notices saved. Small test searches can be run cheaply by setting a low maxItems value. With Apify's free monthly platform credits, typical small checks of 25-100 tender notices should fit comfortably inside the free allowance unless you run many searches or combine them with other paid Actor usage.

Quick start

  1. Open the Actor on Apify.
  2. Enter one or more keywords such as software, construction, or medical equipment.
  3. Optionally add country codes such as DEU, FRA, or ESP.
  4. Optionally add CPV codes such as 48000000.
  5. Set maxItems to the number of tenders you want.
  6. Run the Actor.
  7. Export results from the dataset.

Input options

Keywords

Use keywords for simple full-text searches. Multiple keywords are joined with OR logic inside the generated TED query.

Example:

{
"keywords": ["software", "cloud services"],
"maxItems": 25
}

Countries

Use TED country codes, for example:

  • DEU Germany
  • FRA France
  • ESP Spain
  • ITA Italy
  • NLD Netherlands
  • POL Poland

CPV codes

CPV codes target procurement categories. For example, 48000000 is commonly used for software package and information systems.

Buyer name

Use buyerName to find tenders where the public buyer/authority matches a text fragment.

Dates

Use:

  • publicationDateFrom for notices published on or after a date
  • deadlineDateFrom for notices with a deadline on or after a date

Dates must use YYYY-MM-DD format.

Expert query mode

Advanced users can pass expertQuery to use TED expert search syntax directly. When expertQuery is set, it overrides the generated keyword/country/CPV/date filters.

Example:

{
"expertQuery": "FT ~ \"software\" AND CY = \"DEU\" SORT BY PD DESC",
"maxItems": 50
}

Example input

{
"keywords": ["software"],
"countries": ["DEU"],
"sortBy": "publication-date-desc",
"language": "eng",
"maxItems": 25,
"pageSize": 50,
"includeRawNotice": false
}

Example output

{
"publicationNumber": "399019-2026",
"noticeTitle": "Software services and related services",
"buyerName": "Example public authority",
"deadlineDate": "2026-07-15",
"estimatedValue": 250000,
"estimatedValueCurrency": "EUR",
"cpvCodes": ["48000000"],
"countryCodes": ["DEU"],
"tedUrl": "https://ted.europa.eu/en/notice/399019-2026/html",
"pdfUrl": "https://ted.europa.eu/en/notice/399019-2026/pdf",
"xmlUrl": "https://ted.europa.eu/en/notice/399019-2026/xml",
"sourceApiUrl": "https://api.ted.europa.eu/v3/notices/search"
}

Tips for better results

  • Start with broad keywords, then narrow with countries or CPV codes.
  • Use publicationDateFrom for fresh market monitoring.
  • Use deadlineDateFrom for bid pipeline searches.
  • Keep maxItems low while testing a new query.
  • Use expertQuery only when you know TED expert syntax.

Integrations

You can connect tender data to:

  • CRM lead queues for public-sector sales
  • Slack or email alerts for bid teams
  • Google Sheets for weekly tender reviews
  • BI dashboards for market intelligence
  • Data warehouses for procurement analytics
  • MCP-enabled agent workflows for natural-language tender research

Scheduling workflows

Schedule the Actor daily or weekly to watch new TED notices.

A common workflow:

  1. Run one Actor task per target country or CPV group.
  2. Use publicationDateFrom or a rolling expert query.
  3. Send new dataset items to a webhook.
  4. Deduplicate by publicationNumber in your system.
  5. Route matching opportunities to the right sales owner.

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/ted-europa-tenders-scraper').call({
keywords: ['software'],
countries: ['DEU'],
maxItems: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('MY-APIFY-TOKEN')
run = client.actor('automation-lab/ted-europa-tenders-scraper').call(run_input={
'keywords': ['software'],
'countries': ['DEU'],
'maxItems': 25,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

API usage with cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~ted-europa-tenders-scraper/runs?token=MY-APIFY-TOKEN' \
-H 'Content-Type: application/json' \
-d '{"keywords":["software"],"countries":["DEU"],"maxItems":25}'

MCP usage

Use the Apify MCP server to run this Actor from AI tools.

MCP endpoint:

https://mcp.apify.com/?tools=automation-lab/ted-europa-tenders-scraper

Claude Code setup:

$claude mcp add apify-ted-tenders https://mcp.apify.com/?tools=automation-lab/ted-europa-tenders-scraper

Claude Desktop JSON configuration:

{
"mcpServers": {
"apify-ted-tenders": {
"url": "https://mcp.apify.com/?tools=automation-lab/ted-europa-tenders-scraper"
}
}
}

Example prompts:

  • “Find recent German software tenders on TED and summarize the buyers.”
  • “Search TED for medical equipment tenders in France and list deadlines.”
  • “Run the TED Europa Tenders Scraper for CPV 48000000 and export top results.”

Data quality notes

TED notices vary by notice type, country, buyer, and publication year. Some notices do not include all fields.

For example:

  • Estimated value may be missing.
  • Deadline may be missing for some historical or award notices.
  • CPV codes may be nested or unavailable in certain records.
  • Localized titles can differ across languages.

FAQ

Can I scrape TED tenders without an account?

Yes. The Actor uses the public TED notices API and does not require a TED login for the supported search/export workflow.

Does it download every tender attachment?

No. The Actor returns TED HTML, PDF, and XML links. Full attachment parsing is intentionally outside the MVP to keep runs fast and inexpensive.

Troubleshooting

Why did I get no results?

Your filters may be too narrow. Try removing CPV or country filters, reducing date constraints, or using a broader keyword.

Why is a value or deadline empty?

TED does not provide every field for every notice. Empty fields usually mean the source notice did not include that value in the selected API fields.

Why did my expert query fail?

TED expert syntax is strict. Test a simpler query such as FT ~ "software" first, then add filters one by one.

Legality and compliance

This Actor extracts publicly available procurement notice data from TED. You are responsible for using the data in compliance with applicable laws, platform terms, and your organization’s procurement policies.

Explore related Automation Lab actors:

Limits

The Actor is designed for structured TED notice search, not full attachment parsing. It returns direct TED document links so you can fetch PDFs/XML separately if needed.

Support

If a query that works on the TED website fails in this Actor, include your input JSON and the TED query you expected so the issue can be reproduced quickly.