TED EU Public Procurement Scraper avatar

TED EU Public Procurement Scraper

Pricing

from $5.50 / 1,000 results

Go to Apify Store
TED EU Public Procurement Scraper

TED EU Public Procurement Scraper

Scrape EU public procurement tenders from TED (Tenders Electronic Daily). Get contract notices with buyer info, estimated values, deadlines, CPV codes, and procedure types. Filter by country and keyword across 27 EU member states plus EEA countries.

Pricing

from $5.50 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

13

Total users

3

Monthly active users

9 days ago

Last modified

Share

ParseForge Banner

🇪🇺 TED EU Public Procurement Scraper

🚀 Pull EU public procurement tenders from TED in minutes. 525,000+ contract notices across all EU/EEA countries. Filter by country, CPV, or expert query. No API key.

🕒 Last updated: 2026-05-09 · 📊 30+ fields per notice · 🌍 32 EU/EEA countries · 🚫 No auth required

Pull live EU public procurement tenders from TED (Tenders Electronic Daily), the official EU publication for public-sector contracts. The actor walks the TED catalog with your filter combination (country, CPV code, or expert query), paginates through results, and returns one structured record per contract notice ready for government-tender intelligence, B2G sales prospecting, regulatory compliance, or public-spending research.

Every run fetches data live so you get the current state of TED at run time. Records include the buyer name, country, contract description, contract value (where exposed), submission deadline, CPV codes, notice type, publication date, lot count, and a back-reference URL to the canonical TED notice.

👥 Built for🎯 Primary use cases
B2G sales teamsTrack tender opportunities by country and CPV
Government-contract consultanciesBuild pipelines for public-sector clients
Procurement complianceMonitor public spending for transparency reporting
Public-sector vendorsSource bid opportunities across EU
Researchers and journalistsStudy public spending trends
Trade associationsTrack sector-specific tender flow

📋 What the TED Scraper does

  • 🌍 Country filter. Restrict to a specific EU/EEA country (32 supported).
  • 🏷️ CPV code filter. Filter by Common Procurement Vocabulary code (e.g. 72000000 IT services, 45000000 construction).
  • 🔍 Expert query. Pass a TED expert-search query for advanced filtering (overrides country/CPV).
  • 💰 Contract values. Estimated and final contract values where exposed.
  • 📅 Deadlines. Submission and decision deadlines.
  • 🏢 Buyer details. Buyer name, country, postal code, NUTS region.

The scraper accepts a country plus CPV code OR a TED expert query. It walks TED's API surface, fetches each notice, and pushes structured records to the dataset.

💡 Why it matters: TED is the canonical record of EU public procurement worth €2 trillion+ annually but its UI is paginated and lacks bulk export. A live, structured pull beats manual searches for B2G sales, compliance, and public-spending research.


🎬 Full Demo

🚧 Coming soon: a 3-minute walkthrough showing setup, a live run, and how to pipe results into Salesforce or HubSpot via Apify integrations.


⚙️ Input

FieldTypeNameDescription
maxItemsintegerMax ItemsFree users: limited to 10 notices (preview). Paid users: optional, max 1,000,000.
countryenumCountryOne of 32 EU/EEA countries (or empty for all).
cpvCodestringCPV CodeCPV code (e.g. 72000000 IT services, 45000000 construction, 33100000 medical equipment).
querystringCustom QueryOptional TED expert-search query. Overrides country and CPV filters.

Example 1. German IT services tenders.

{
"country": "germany",
"cpvCode": "72000000",
"maxItems": 50
}

Example 2. Custom expert query for new contract notices in France.

{
"query": "notice-type = cn AND organisation-country-buyer = FRA",
"maxItems": 100
}

⚠️ Good to Know: when query is set, country and cpvCode are ignored. Use the TED expert search syntax for advanced queries.


📊 Output

The dataset returns one structured record per procurement notice. Each record carries identifiers, buyer info, country, contract description, value, deadlines, CPV codes, notice type, and a back-reference URL. Consume the dataset as JSON, CSV, Excel, XML, or RSS via the Apify console or API.

🧾 Schema

FieldTypeExample
🆔 noticeIdstringOJS-2026-S-085-235123
📝 titlestringIT services procurement for federal agencies
🏢 buyerNamestringBundesministerium des Innern
🌍 buyerCountrystringDE
📍 buyerPostalCodestring10557
🗺️ nutsRegionstringDE300
📃 descriptionstringAward of framework agreement for IT services...
💰 estimatedValuenumber or null45000000
💱 currencystringEUR
🏷️ cpvCodesarray["72000000", "72200000"]
🏷️ noticeTypestringContract notice
📅 publicationDateISO date2026-05-01
📅 submissionDeadlineISO datetime2026-06-15T14:00:00Z
🔢 lotCountnumber3
🔢 contractDurationstring48 months
🌐 tedUrlstring (url)https://ted.europa.eu/en/notice/-/detail/OJS-2026-S-085-235123
📅 scrapedAtISO datetime2026-05-09T12:00:00.000Z

📦 Sample records

1. Typical record (German IT services contract)

{
"noticeId": "OJS-2026-S-085-235123",
"title": "IT services procurement for federal agencies",
"buyerName": "Bundesministerium des Innern",
"buyerCountry": "DE",
"buyerPostalCode": "10557",
"nutsRegion": "DE300",
"description": "Award of framework agreement for IT services covering cloud, security, and managed services.",
"estimatedValue": 45000000,
"currency": "EUR",
"cpvCodes": ["72000000", "72200000"],
"noticeType": "Contract notice",
"publicationDate": "2026-05-01",
"submissionDeadline": "2026-06-15T14:00:00Z",
"lotCount": 3,
"contractDuration": "48 months",
"tedUrl": "https://ted.europa.eu/en/notice/-/detail/OJS-2026-S-085-235123",
"scrapedAt": "2026-05-09T12:00:00.000Z"
}

2. Construction contract (multi-lot)

{
"noticeId": "OJS-2026-S-090-245678",
"title": "School construction project Lyon Region",
"buyerName": "Region Auvergne-Rhone-Alpes",
"buyerCountry": "FR",
"buyerPostalCode": "69269",
"description": "Design and construction of three new schools.",
"estimatedValue": 18500000,
"currency": "EUR",
"cpvCodes": ["45000000", "71000000"],
"noticeType": "Contract notice",
"publicationDate": "2026-05-04",
"submissionDeadline": "2026-07-10T16:00:00Z",
"lotCount": 3,
"tedUrl": "https://ted.europa.eu/en/notice/-/detail/OJS-2026-S-090-245678",
"scrapedAt": "2026-05-09T12:00:00.000Z"
}

3. Sparse record (small notice, value not exposed)

{
"noticeId": "OJS-2026-S-092-256789",
"title": "Office cleaning services",
"buyerName": "Lithuanian Ministry of Justice",
"buyerCountry": "LT",
"estimatedValue": null,
"currency": "EUR",
"cpvCodes": ["90910000"],
"noticeType": "Contract notice",
"publicationDate": "2026-05-06",
"tedUrl": "https://ted.europa.eu/en/notice/-/detail/OJS-2026-S-092-256789",
"scrapedAt": "2026-05-09T12:00:00.000Z"
}

✨ Why choose this Actor

Capability
🎯Built for the job. Scoped specifically to TED so you skip the parser engineering entirely.
🔖Structured output. Clean, typed fields ready for analysis, dashboards, or downstream pipelines.
Fast. API-based extraction (no proxy needed) returns results in seconds.
🔁Always fresh. Every run pulls live data, so the dataset reflects TED as of run time.
🌐No infra to manage. Apify handles compute, scaling, scheduling, and storage.
🛡️Reliable. Battle-tested across many runs and edge cases, with graceful error handling.
🚫No code required. Configure in the UI, run from CLI, schedule via cron, or call from any language with the Apify SDK.

📊 Production-grade structured EU procurement data without the engineering overhead of building and maintaining your own scraper.


📈 How it compares to alternatives

ApproachCostCoverageRefreshFiltersSetup
⭐ TED EU Procurement Scraper (this Actor)$5 free credit, then pay-per-useFull TED database (525k+ notices)Live per runCountry, CPV, expert query⚡ 2 min
Build your own scraperEngineering hoursFull once builtWhenever you maintain itCustom code🐢 Days to weeks
Paid tender-intel platforms$$$ monthly per seatVendor-definedPeriodicVendor-defined⏳ Hours
Manual TED searchesHours per checkLimitedStaleManual🕒 Variable

Pick this Actor when you want broad coverage, source-native filtering, and no pipeline maintenance.


🚀 How to use

  1. 📝 Sign up. Create a free account with $5 credit (takes 2 minutes).
  2. 🌐 Open the Actor. Go to the TED EU Procurement Scraper page on the Apify Store.
  3. 🎯 Set filters. Pick country and CPV code (or paste an expert query), then set maxItems.
  4. 🚀 Run it. Click Start and let the Actor collect your data.
  5. 📥 Download. Grab your results in the Dataset tab as CSV, Excel, JSON, or XML.

⏱️ Total time from signup to downloaded dataset: 3-5 minutes. No coding required.


💼 Business use cases

📊 B2G sales prospecting

  • Track tender opportunities by country and CPV
  • Build deal-flow lists for public-sector sales
  • Source contracts matching your capabilities
  • Power BD outreach with verified buyer data

🏢 Compliance and transparency

  • Monitor public spending for advocacy projects
  • Track contract awards by region and category
  • Build transparency reports for journalists
  • Power tender-monitoring for advisory firms

🎯 Sector-specific intelligence

  • Track sector-specific tender flow (IT, construction, medical)
  • Map procurement trends across EU markets
  • Surface emerging buyer behaviors
  • Build sector reports for trade associations

🛠️ Engineering and product

  • Prototype tender-intel products without owning a crawler
  • Replace fragile in-house TED scrapers
  • Wire datasets into your apps via the Apify API or webhooks
  • Skip the proxy, retry, and parsing maintenance entirely

🌟 Beyond business use cases

Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.

🎓 Research and academia

  • Empirical datasets for papers, thesis work, and coursework
  • Longitudinal studies tracking changes across snapshots
  • Reproducible research with cited, versioned data pulls
  • Classroom exercises on data analysis and ethical scraping

🎨 Personal and creative

  • Side projects, portfolio demos, and indie app launches
  • Data visualizations, dashboards, and infographics
  • Content research for bloggers, YouTubers, and podcasters
  • Hobbyist collections and personal trackers

🤝 Non-profit and civic

  • Transparency reporting and accountability projects
  • Advocacy campaigns backed by public-interest data
  • Community-run databases for local issues
  • Investigative journalism on public records

🧪 Experimentation

  • Prototype AI and machine-learning pipelines with real data
  • Validate product-market hypotheses before engineering spend
  • Train small domain-specific models on niche corpora
  • Test dashboard concepts with live input

🔌 Automating TED EU Procurement Scraper

This Actor exposes a REST endpoint, so you can drive it from any language or workflow tool.

Schedules. Use Apify Scheduler to capture daily snapshots of new tender notices. Combine with the Apify dataset diff tools to alert on new awards or competitor wins.


💰 How much does it cost?

Apify gives you $5 in free monthly credits on the Apify Free plan, enough to test TED EU Public Procurement Scraper and pull a real sample dataset. For ongoing usage:

  • Starter plan ($49/month) — Recommended for individuals running TED EU Public Procurement Scraper regularly. Includes higher concurrency and larger datasets.
  • Scale plan ($499/month) — Recommended for teams running TED EU Public Procurement Scraper at production scale.

Pay-Per-Event pricing means you only pay for what you actually use. Failed runs are never charged. See the Pricing tab on this Actor's page for exact event prices.

💡 Tips for using TED EU Public Procurement Scraper

  • Start with a small maxItems (3-10) to validate output format before running larger jobs.
  • Use Apify Schedules to run TED EU Public Procurement Scraper on a recurring basis and keep your dataset fresh.
  • Export via Integrations: Apify connects to Google Sheets, Airbyte, Make, Zapier, and direct webhooks — pipe your data anywhere.
  • Monitor with webhooks: trigger downstream workflows the moment a run finishes.
  • Re-run failed items: if any individual records error out, re-run with their inputs only. Failed events are not charged.

Yes. TED EU Public Procurement Scraper only collects publicly available data. Web scraping public data has been confirmed as legal by US courts (see hiQ Labs v. LinkedIn) and is widely used for research, market analysis, and business intelligence.

However, you are responsible for:

  • Respecting the source website's Terms of Service.
  • Complying with GDPR, CCPA, and other applicable data-protection laws when personal data is involved.
  • Not republishing copyrighted content without permission.

If you have specific compliance concerns, consult your legal team. See the Apify legal docs for more.

❓ Frequently Asked Questions

🔌 Integrate with any app

TED EU Procurement Scraper connects to any cloud service via Apify integrations:

  • Make - Automate multi-step workflows
  • Zapier - Connect with 5,000+ apps
  • Slack - Get run notifications in your channels
  • Airbyte - Pipe results into your warehouse
  • GitHub - Trigger runs from commits and releases
  • Google Drive - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes.


💡 Pro Tip: browse the complete ParseForge collection for more reference-data scrapers.


🆘 Need Help? Open our contact form to request a new scraper, propose a custom project, or report an issue.


⚠️ Disclaimer. This Actor is an independent tool. TED is the official EU public-procurement data source and the scraped data is public-domain. The scraper accesses only publicly available pages and is intended for legitimate compliance, B2G sales, and research use. Users are responsible for compliance with the source site's Terms of Service and applicable law.