Spain Public Tenders Scraper (PLACSP)
Pricing
Pay per event
Spain Public Tenders Scraper (PLACSP)
Scrape Spanish public procurement tenders from PLACSP: buyer, CPV code, budget, deadline and region. Get new tenders daily as JSON for B2B lead generation.
Pricing
Pay per event
Rating
0.0
(0)
Developer
FlEtsv
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
Get Spanish public procurement tenders from the official PLACSP feed as clean JSON, CSV or Excel: contracting authority, CPV codes, budget, status, deadline and region. Filter by CPV, province, amount and deadline, and receive only the tenders you have not seen yet. Versión en español más abajo.
Use cases
- Find Spanish public tenders (PLACSP) by CPV code, region and amount before competitors do
- Lead generation for companies selling to the public sector
- Daily tender alerts and market analysis of public procurement
- Feed tender data into a CRM or an AI assistant
English
What does Spain Public Tenders Scraper do?
It reads the official ATOM feed of the Plataforma de Contratacion del Sector Publico (PLACSP), the Spanish government's public procurement platform, and returns one record per tender. No browser, no proxies, no API key: the data comes straight from the official syndication feed.
Use cases:
- B2B lead generation: find which public bodies are about to buy what you sell (construction, IT, cleaning, consulting, medical supplies).
- Bid management: a daily list of new tenders matching your CPV codes and region, with the deadline for submitting offers.
- Market intelligence: analyse budgets and buyers by CPV code, province or autonomous community.
- Alerts: schedule the Actor daily with
soloNuevasto push only new tenders to Slack, email or your CRM. - AI agents: feed tenders to an LLM; the optional AI summary scores how well each tender fits your company profile.
Input
All fields are optional. An empty input {} returns the 20 most recent open tenders in under a minute.
| Field | Description |
|---|---|
cpv | List of CPV code prefixes (e.g. 72 for IT services, 45 for construction). |
provincias / comunidades | Filter by province or autonomous community. |
importeMin / importeMax | Budget range in EUR, excluding VAT. |
estados | Tender status (PUB published, EV evaluation, ADJ awarded, RES resolved, ANUL cancelled). |
plazoDesde / plazoHasta | Submission deadline window. |
soloAbiertas | Only tenders still open for offers (default true). |
soloNuevas | Emit only tenders not seen in previous runs (default false). |
maxResultados, maxPaginas | Limits (defaults 20 and 1). |
resumenIA, perfilEmpresa | Optional AI summary and company-fit score. |
Example input:
{"cpv": ["72"],"provincias": ["Madrid"],"importeMin": 50000,"soloNuevas": true,"maxResultados": 50}
Output
Real items from a run with {}:
{"id": "4051","titulo": "Zonas de aparcamiento en C Pedro el Junco y Escuela de Música","organoContratacion": "Alcaldía del Ayuntamiento de Astorga","cpv": ["45233250", "45233330"],"importeSinIva": 140811.93,"estado": "PUB","plazoPresentacion": "2026-11-19T23:59:00","provincia": "León","nuts": "ES413","url": "https://contrataciondelestado.es/wps/poc?uri=deeplink:detalle_licitacion&idEvl=5oXLJe4NMn%2FCfVQHDepjGQ%3D%3D","fechaActualizacion": "2026-10-30T19:23:30.227+01:00","fuente": "Plataforma de Contratacion del Sector Publico (contrataciondelestado.es)","urlOficial": "https://contrataciondelestado.es/wps/poc?uri=deeplink:detalle_licitacion&idEvl=5oXLJe4NMn%2FCfVQHDepjGQ%3D%3D"}
Field names are in Spanish because the source is Spanish: titulo (title), organoContratacion (contracting authority), importeSinIva (budget excl. VAT), plazoPresentacion (offer deadline).
Pricing (pay per event)
You pay only for what is delivered. No monthly fee.
| Event | Price | Per 1,000 |
|---|---|---|
Tender published (resultado) | $0.002 | $2.00 |
AI summary and fit score (resumen-ia, optional) | $0.005 | $5.00 |
Set a maximum spend per run and the Actor stops when it is reached, keeping what it already saved.
Integrations (Make, Zapier, Google Sheets)
- Make: add the Apify module "Run an Actor" (Actor
Flets_sv/licitaciones-placsp), paste the input JSON, chain "Get Dataset Items" and map the fields to Google Sheets, Slack, Airtable or your CRM. - Zapier: the Apify app offers "Run Actor" and "Fetch Dataset Items". Add a Schedule trigger and send each row to Gmail, Slack or Notion.
- Google Sheets: enable the official Google Sheets integration in the Actor's Integrations tab to append every run to a sheet, or call
https://api.apify.com/v2/acts/Flets_sv~licitaciones-placsp/run-sync-get-dataset-items?format=csvwith POST and your input from Apps Script (UrlFetchApp). - API and webhooks: start the Actor from the REST API, use Schedules for recurring runs and add a webhook to notify your system when a run finishes.
Input to paste into Make or Zapier:
{"urlFeed":"https://contrataciondelestado.es/sindicacion/sindicacion_643/licitacionesPerfilesContratanteCompleto3.atom","cpv":["45"],"provincias":["Madrid"],"comunidades":["Comunidad de Madrid"],"importeMin":50000,"importeMax":5000000,"estados":["PUB","EV"],"plazoDesde":"2026-01-01","plazoHasta":"2026-12-31","maxResultados":5,"maxPaginas":1,"perfilEmpresa":"Empresa de servicios de tecnologia e informacion con experiencia en administracion publica."}
FAQ
Is it legal to scrape PLACSP? The Actor does not scrape web pages: it reads the official public syndication (ATOM) feed that the platform publishes for reuse. Public sector information in Spain is reusable under Law 37/2007 (transposing the EU Open Data Directive). Each record carries fuente and urlOficial so you can cite the origin. This is not legal advice.
Does it include personal data? Tenders are institutional records. If you reuse any personal data that appears in them, you are responsible for GDPR compliance.
How fresh is the data? It reflects the PLACSP feed, updated by the platform several times a day. Schedule the Actor hourly or daily.
Can I get the tender documents (pliegos)? No. You get the metadata and the official link urlOficial to the announcement.
Why did I get fewer results than expected? Filters are cumulative and soloAbiertas is on by default. Increase maxPaginas to read deeper into the feed.
Integrations
- API:
POST https://api.apify.com/v2/acts/flets_sv~licitaciones-placsp/runsor the official clients for JavaScript and Python. - Make, Zapier, n8n, Google Sheets: use the Apify modules; trigger on schedule and send new tenders to your CRM.
- MCP / AI agents: call it from Claude, ChatGPT or any MCP client through the Apify MCP server (
https://mcp.apify.com). - Schedules and webhooks: daily run + webhook on success for alerts.
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("flets_sv/licitaciones-placsp").call(run_input={"cpv": ["72"], "soloNuevas": True})for t in client.dataset(run["defaultDatasetId"]).iterate_items():print(t["titulo"], t["importeSinIva"], t["plazoPresentacion"])
Data source and license
Plataforma de Contratacion del Sector Publico (contrataciondelestado.es), Spanish Ministry of Finance. Reuse under Law 37/2007; always cite the source. This Actor is independent and is not affiliated with or endorsed by the Spanish government.
Español
¿Qué hace?
Lee el feed ATOM oficial de la Plataforma de Contratación del Sector Público (PLACSP) y devuelve un registro por licitación: órgano de contratación, CPV, importe sin IVA, estado, plazo de presentación, provincia y enlace oficial. Sin navegador, sin proxies y sin claves.
Casos de uso: captar clientes B2B que venden al sector público, avisos diarios de licitaciones nuevas por CPV y provincia, análisis de mercado y alertas en Slack, email o CRM.
Input
Todos los campos son opcionales. Con {} devuelve las 20 licitaciones abiertas más recientes en menos de un minuto. Filtros: cpv, provincias, comunidades, importeMin, importeMax, estados, plazoDesde, plazoHasta, soloAbiertas, soloNuevas (solo lo que no viste en ejecuciones anteriores), maxResultados, maxPaginas, y resumenIA con perfilEmpresa para un resumen y una puntuación de encaje con IA.
Output
Ver el ejemplo real en la sección inglesa. Los nombres de campo están en español.
Precios (pago por evento)
| Evento | Precio | Por 1.000 |
|---|---|---|
Licitación publicada (resultado) | 0,002 $ | 2,00 $ |
Resumen con IA y encaje (resumen-ia, opcional) | 0,005 $ | 5,00 $ |
Solo pagas lo que se entrega. Puedes fijar un gasto máximo por ejecución.
Integraciones (Make, Zapier, Google Sheets)
- Make: añade el módulo de Apify «Run an Actor» (Actor
Flets_sv/licitaciones-placsp), pega el input JSON y encadena «Get Dataset Items»; después mapea los campos a Google Sheets, Slack, Airtable o tu CRM. - Zapier: la app de Apify ofrece «Run Actor» y «Fetch Dataset Items». Ponle un disparador de horario y envía cada fila a Gmail, Slack o Notion.
- Google Sheets: en la pestaña Integrations del Actor activa la integración oficial con Google Sheets para añadir cada ejecución a una hoja, o llama desde Apps Script (
UrlFetchApp) ahttps://api.apify.com/v2/acts/Flets_sv~licitaciones-placsp/run-sync-get-dataset-items?format=csvcon POST y tu input. - API y webhooks: lanza el Actor por API REST, programa ejecuciones (Schedules) y avisa a tu sistema con un webhook al terminar.
Ejemplo de input para pegar en Make o Zapier:
{"urlFeed":"https://contrataciondelestado.es/sindicacion/sindicacion_643/licitacionesPerfilesContratanteCompleto3.atom","cpv":["45"],"provincias":["Madrid"],"comunidades":["Comunidad de Madrid"],"importeMin":50000,"importeMax":5000000,"estados":["PUB","EV"],"plazoDesde":"2026-01-01","plazoHasta":"2026-12-31","maxResultados":5,"maxPaginas":1,"perfilEmpresa":"Empresa de servicios de tecnologia e informacion con experiencia en administracion publica."}
Preguntas frecuentes
¿Es legal? El Actor no hace scraping de páginas: lee el feed público de sindicación que la plataforma ofrece para su reutilización. La información del sector público es reutilizable según la Ley 37/2007. Cada registro incluye fuente y urlOficial para citar el origen. No es asesoramiento jurídico.
¿Incluye los pliegos? No: incluye los metadatos y el enlace oficial al anuncio.
¿Cada cuánto se actualiza? Con el feed de PLACSP, varias veces al día. Programa el Actor cada hora o cada día con soloNuevas.
Integración
API de Apify, Make, Zapier, n8n, Google Sheets, webhooks y agentes de IA mediante el servidor MCP de Apify (https://mcp.apify.com).
Fuente y licencia
Plataforma de Contratación del Sector Público (contrataciondelestado.es). Reutilización según la Ley 37/2007; cita siempre la fuente. Este Actor es independiente y no está afiliado al Gobierno de España.
Ejemplos de uso / Usage examples
Example output (real run, 2026-11-05)
First rows returned by a real run of this Actor on 2026-11-05 (shortened columns, values truncated):
| id | titulo | organoContratacion | importeSinIva | estado | plazoPresentacion |
|---|---|---|---|---|---|
| 2536/2026 | Servicio integral de telefonía, internet y comunicaciones. | Pleno del Ayuntamiento de Viveiro | 270000 | PUB | 2026-12-03T23:59:00 |
| 2026_028_SE_PASA | Contratación del servicio de telefonía móvil y de acceso... | Gerencia de la Fundación Universidad de Valladolid | 28080 | PUB | 2026-11-18T23:59:00 |
| S-04071-2026 | Evolución y soporte a la herramienta SIGO de Gestión TI (... | Compras de la Corporación de Radio y Televisión Española... | 55745 | EV | 2026-10-21T14:00:00 |
Copy-paste inputs
1. Madrid IT tenders over 50k EUR
{"cpv": ["72"],"provincias": ["Madrid"],"importeMin": 50000,"soloNuevas": true,"maxResultados": 50}
2. Open tenders in Catalonia or Andalusia
{"comunidades": ["Cataluña","Andalucía"],"soloAbiertas": true,"maxResultados": 100}
Call it from your code (Apify API)
curl -X POST "https://api.apify.com/v2/acts/Flets_sv~licitaciones-placsp/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"cpv": ["72"], "provincias": ["Madrid"], "importeMin": 50000, "soloNuevas": true, "maxResultados": 50}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("Flets_sv/licitaciones-placsp").call(run_input={"cpv": ["72"], "provincias": ["Madrid"], "importeMin": 50000, "soloNuevas": true, "maxResultados": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
No code? Use the Apify modules for Make and Zapier (run the Actor, then fetch dataset items), or the Google Sheets integration in the Actor's Integrations tab to append each run to a sheet.
Related Actors / Actores relacionados
Public tenders and grants family by Flets_sv / Familia de licitaciones y ayudas:
- Spain grants and subsidies (BDNS): ayudas y subvenciones de España.
- EU tenders (TED): above-threshold tenders of all EU countries.
- UK public tenders: Find a Tender and Contracts Finder.
- France tenders (BOAMP): French marchés publics.
- Australia government contracts (AusTender): federal contracts awarded.