EU & Spain Public Tenders Scraper – TED API
Pricing
Pay per usage
EU & Spain Public Tenders Scraper – TED API
Extract real-time public procurement tenders and government contracts across Spain and the EU (licitaciones públicas) from official TED open data with CPV filters and MCP AI integration.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Leonardo Martins Da Silva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 days ago
Last modified
Categories
Share
🏛️ EU & Spain Public Tenders Scraper – TED Procurement API (CPV Filters)
Extract, monitor, and automate real-time public tenders, government contracts, RFPs, and public procurement opportunities (licitaciones públicas) across Spain and the 27 European Union member states. Powered by the official EU Tenders Electronic Daily (TED v3) open data architecture.
🎯 Why This Scraper?
Every day, public administrations, city halls, regional ministries, and European agencies publish millions of euros in lucrative tenders for software development, IT maintenance, infrastructure, medical supplies, and consulting.
Traditional HTML scrapers break constantly due to Cloudflare firewalls, require costly residential proxies, and suffer from CAPTCHAs. This Actor eliminates those issues completely:
- ⚡ Zero Residential Proxy Costs: Directly queries official EU high-availability open data infrastructure. 0% ban rate, 100% compliant.
- 🔄 Incremental Monitoring Mode (
onlyNew): Automatically remembers previously extracted tenders across scheduled runs (e.g. daily/hourly cron) and only delivers brand-new notices without duplicate charges. - 💶 Filtered by Budget Threshold: Exclude micro-contracts and focus solely on high-margin tenders (e.g., minimum €50,000 or €100,000+).
- 🏷️ Standardized CPV Taxonomy: Filter by official Common Procurement Vocabulary (e.g.,
72000000for IT services,45000000for Construction,33000000for Medical Equipment). - 🔗 Direct Official Document Links: Instant direct links to the official notice HTML and PDF pliegos for rapid proposal submission.
- 🌐 Multilingual Normalization: Automatically resolves multilingual procurement titles into Spanish, English, French, or German.
💼 Ideal Use Cases
- B2B Agencies & IT Consultancies: Get daily Slack/email alerts of new government software, cloud, and cybersecurity tenders in Spain and Europe.
- Construction & Engineering Contractors: Monitor municipal infrastructure tenders by minimum budget and province.
- GovTech SaaS & Data Providers: Build automated feeds, CRM integrations, or tender analytics dashboards for enterprise clients.
- Competitor & Market Intelligence: Track which government bodies are buying what and which vendors are winning awards.
⚙️ Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
country | String | Yes | "ESP" | 3-letter ISO country code (ESP for Spain, DEU for Germany, FRA for France, ITA for Italy, or ALL). |
keyword | String | No | "" | Search keywords in tender title (e.g. "software", "ciberseguridad", "limpieza"). |
cpvCode | String | No | "" | CPV classification code (e.g. 72000000 for Computer and Related Services). |
minAmountEur | Integer | No | 0 | Minimum contract value in EUR. Excludes smaller tenders below this threshold. |
maxItems | Integer | Yes | 50 | Maximum number of tenders to extract per run (1 to 5,000). |
preferredLanguage | String | No | "spa" | Preferred language for tender titles ("spa", "eng", "fra", "deu"). |
onlyNew | Boolean | No | false | When true, skips previously seen notices from past runs (ideal for scheduled alerts). |
📋 Ready-to-Copy Input Profiles
Preset 1: Spanish IT, Software & Cybersecurity Tenders (> €50,000)
{"country": "ESP","keyword": "software","cpvCode": "72000000","minAmountEur": 50000,"maxItems": 100,"preferredLanguage": "spa","onlyNew": true}
Preset 2: Pan-European Construction & Infrastructure (> €250,000)
{"country": "ALL","cpvCode": "45000000","minAmountEur": 250000,"maxItems": 200,"preferredLanguage": "eng","onlyNew": false}
Preset 3: Medical Supplies & Healthcare Equipment in France & Germany
{"country": "FRA","cpvCode": "33000000","minAmountEur": 100000,"maxItems": 100,"preferredLanguage": "fra","onlyNew": true}
📊 Sample Output Record
Each item pushed to the dataset is normalized into clean, typed JSON:
{"noticeId": "108-2026","title": "España – Servicios TI: consultoría, desarrollo de software, Internet y apoyo – Proyectos de mejora tecnológica, y la gestión integral informática de la Fundación AIC.","buyer": "Fundación AIC Automotive Intelligence Center - Fundación AIC","estimatedValueEur": 748000,"currency": "EUR","publicationDate": "2026-01-02","submissionDeadline": "2026-01-30T12:00:00+01:00","cpvCode": "72000000","country": "ESP","directNoticeUrl": "https://ted.europa.eu/es/notice/108-2026/html","officialPdfUrl": "https://ted.europa.eu/es/notice/108-2026/pdf","source": "EU Tenders Electronic Daily (TED) v3 Official Open Data","scrapedAt": "2026-09-30T16:14:26.080Z"}
🤖 AI Agents & MCP Server Integration
This Actor is 100% compatible with the Model Context Protocol (MCP). You can connect it directly to Cursor, Claude Desktop, or Windsurf using Apify's MCP server:
{"mcpServers": {"apify": {"command": "npx","args": ["-y", "@apify/mcp-server@latest"],"env": {"APIFY_TOKEN": "YOUR_APIFY_TOKEN"}}}}
Once connected, your AI assistant can run real-time queries like:
"Find all public software tenders published in Spain this month with budget over 100,000 € and summarize the deadlines."
💰 Pricing & Economics
- Model: Pay-Per-Event (PPE)
- Cost: $4.00 per 1,000 tenders extracted ($0.004 per notice).
- Free Allowance: Apify provides $5.00 in free usage credits every month on all accounts, allowing users to extract over 1,200 tenders at zero cost before paying.
- Net Margin: Because this Actor uses direct high-speed HTTP open data with zero proxies, platform compute cost is ~$0.15-$0.20 per 1,000 items, leaving ~75%+ net developer margin.
💻 API & Integration Code
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run_input = {"country": "ESP","keyword": "software","minAmountEur": 50000,"maxItems": 50,"onlyNew": True,}run = client.actor("your-username/eu-public-tenders-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"[{item['estimatedValueEur']} €] {item['title']} | Buyer: {item['buyer']}")
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const input = {country: 'ESP',keyword: 'software',minAmountEur: 50000,maxItems: 50,onlyNew: true,};const run = await client.actor('your-username/eu-public-tenders-scraper').call(input);const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Extracted ${items.length} new public tenders.`);
🛡️ Legal Compliance & Open Data
All data is accessed in accordance with Directive (EU) 2019/1024 on open data and the re-use of public sector information. All notices are public domain government records intended for transparent commercial and civil re-use.