Madrid BOCM Scraper — Official Gazette Monitor & Alerts
Pricing
from $4.00 / 1,000 results
Madrid BOCM Scraper — Official Gazette Monitor & Alerts
Scrape the official gazette of the Region of Madrid (BOCM) by keyword and section. Stateful delta mode: every run returns only what is new since the last one, ideal for daily alerts. Monitor incremental del Boletín Oficial de la Comunidad de Madrid por palabra clave.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
Santi Belloso Lopez
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
BOCM scraper and daily monitor: scrape the BOCM (Boletín Oficial de la Comunidad de Madrid), the Madrid official gazette, by keyword and section — and get only what is new since the previous run. Not a bulk dump: an incremental, stateful monitor built for a daily Apify Schedule.
Vigila el Boletín Oficial de la Comunidad de Madrid (BOCM) por palabra clave y sección, y en cada ejecución entrega solo lo publicado desde la ejecución anterior. Ideal para alertas BOCM diarias sobre subvenciones, licitaciones, procesos selectivos o anuncios de tu ayuntamiento.
Actor hermano con el mismo esquema de salida:
spain-boja-gazette(Andalucía). Puedes volcar los dos al mismo dataset y tratarlos como una sola tabla. · Sister Actor with the same output schema:spain-boja-gazette.
Madrid BOCM Scraper: why a monitor, not a dump / Por qué un monitor y no un volcado
Los boletines autonómicos españoles no tenían ningún actor en el Store, y los que existen sobre boletines estatales son volcados: no recuerdan qué te enseñaron ayer. Este sí. Guarda en un Key-Value Store con nombre (los que persisten entre ejecuciones en la plataforma) la fecha hasta la que ha procesado y los identificadores ya entregados, así que puedes dejarlo en un Schedule diario y solo verás disposiciones que no habías visto.
Spanish regional gazettes had no Actor on the Store at all, and the existing national-gazette Actors are bulk dumps that don't remember what they showed you yesterday. This one does: it stores the last fully processed date and the identifiers already delivered in a named Key-Value Store (the only kind that survives between runs on the platform), so a daily Schedule shows you only entries you haven't seen.
BOCM gazette data extracted / Qué datos extrae: disposiciones del boletín
Un ítem por disposición del BOCM que coincide con tus filtros / one item per matching BOCM entry:
| Campo / Field | Qué es / What it is |
|---|---|
identificador | Identificador oficial (BOCM-20260822-1) |
boletin / boletinNombre | "BOCM" / "Boletín Oficial de la Comunidad de Madrid" |
comunidadAutonoma | "Comunidad de Madrid" |
fechaPublicacion | Fecha de publicación, ISO AAAA-MM-DD |
numeroBoletin | Número del boletín dentro del año (p. ej. 200) |
seccion / seccionCodigo | Sección (I. COMUNIDAD DE MADRID / I) |
subseccion | Apartado dentro de la sección (D) Anuncios), cuando lo hay |
organo | Consejería, ayuntamiento o juzgado que publica |
titulo | Título oficial completo |
urlHtml / urlPdf / urlXml | Enlaces oficiales al texto |
keywordsCoincidentes | Qué palabras clave de tu input dispararon la coincidencia |
textoCompleto | Texto íntegro — solo si activas incluirTextoCompleto |
fuente / atribucion / extraidoEn | Procedencia y marca de tiempo |
BOCM keyword monitor input / Parámetros de entrada y secciones
| Parámetro / Parameter | Tipo / Type | Por defecto / Default | Descripción / Notes |
|---|---|---|---|
keywords | lista de textos / string list | [] | Términos a buscar en el título (sin distinguir mayúsculas ni acentos) |
secciones | lista / list | [] | I, II, III, IV, V. Vacío = todas |
diasHaciaAtras | entero / integer | 1 | Solo importa en la primera ejecución o con soloNuevos: false. Máximo 30 |
soloNuevos | booleano / boolean | true | Modo delta: no repite identificadores ya entregados |
incluirTextoCompleto | booleano / boolean | false | Añade el texto íntegro (1 petición extra por disposición) |
maxItems | entero / integer | 500 | Tope por ejecución; la siguiente continúa donde se quedó |
Secciones del BOCM (vocabulario completo, verificado en boletines de enero a agosto de 2026) / BOCM sections:
| Código / Code | Sección / Section |
|---|---|
I | COMUNIDAD DE MADRID — con apartados A) Disposiciones Generales, B) Autoridades y Personal, C) Otras Disposiciones, D) Anuncios · Region of Madrid |
II | DISPOSICIONES Y ANUNCIOS DEL ESTADO · State provisions and notices |
III | ADMINISTRACIÓN LOCAL AYUNTAMIENTOS · Local government (town councils) |
IV | ADMINISTRACIÓN DE JUSTICIA · Courts |
V | OTROS ANUNCIOS · Other notices |
Si dejas keywords vacío, el actor entrega todo lo publicado en las secciones elegidas. El BOCM
publica entre 20 y 110 disposiciones por día (de lunes a sábado), así que usa maxItems para
acotar. · Leave keywords empty and you get everything published in the chosen sections; the BOCM
publishes 20-110 entries a day, Monday to Saturday.
Ejemplo: vigilar licitaciones y subvenciones de ayuntamientos madrileños, a diario / example input:
{"keywords": ["licitación", "contrato", "subvención", "convenio"],"secciones": ["III"],"diasHaciaAtras": 7,"soloNuevos": true,"maxItems": 500}
BOCM delta mode: only what is new / Cómo funciona el modo delta
- Primera ejecución: la ventana es
[hoy − diasHaciaAtras + 1, hoy]. - Ejecuciones siguientes con
soloNuevos: true: arranca en el día siguiente al último cerrado, así quediasHaciaAtrasdeja de importar. - El día de hoy nunca se da por cerrado (el boletín puede no estar aún publicado a la hora del
Schedule) y un corte por
maxItemstampoco cierra el día: se releen y el registro de identificadores evita duplicados. - Con
soloNuevos: falsevuelve a volcar toda la ventana, ignorando el historial. Es lo que hace el input de ejemplo del actor.
El estado vive en el store bocm-gazette-state-<hash>, donde el hash depende de tus filtros: dos
configuraciones distintas no se pisan.
In English: the first run scans [today − diasHaciaAtras + 1, today]. Later runs with
soloNuevos: true resume from the day after the last closed day — diasHaciaAtras stops
mattering. Today is never closed (the gazette may not be out yet when the Schedule fires), and a
maxItems cut-off leaves the day open; the identifier ledger prevents duplicates on re-read. Set
soloNuevos: false to re-dump the whole window. State lives in the named store
bocm-gazette-state-<hash>, hashed from your filters, so two configurations never collide.
BOCM output example / Ejemplo de output real
Dos ítems reales de una ejecución del actor con diasHaciaAtras: 7, soloNuevos: false y las
keywords
["resolución", "contrato", "subvención", "convocatoria", "proceso selectivo", "ayuntamiento"]{"identificador": "BOCM-20260817-1","boletin": "BOCM","boletinNombre": "Boletín Oficial de la Comunidad de Madrid","comunidadAutonoma": "Comunidad de Madrid","fechaPublicacion": "2026-08-17","numeroBoletin": "195","seccion": "I. COMUNIDAD DE MADRID","seccionCodigo": "I","subseccion": "B) Autoridades y Personal","organo": "CONSEJERÍA DE PRESIDENCIA, JUSTICIA Y ADMINISTRACIÓN LOCAL","titulo": "Destinos funcionarios – Resolución de 31 de julio de 2026, de la Dirección General de Recursos Humanos y Relaciones con la Administración de Justicia de la Consejería de Presidencia, Justicia y Administración Local, por la que se otorgan destinos a los funcionarios del Cuerpo de Tramitación Procesal y Administrativa (turno promoción interna), que superaron las pruebas selectivas convocadas por Orden PJC/150/2024, de 31 de enero, en el ámbito de la Comunidad de Madrid","urlHtml": "https://www.bocm.es/bocm-20260817-1","urlPdf": "https://www.bocm.es/boletin/CM_Orden_BOCM/2026/08/17/BOCM-20260817-1.PDF","urlXml": "https://www.bocm.es/boletin/CM_Orden_BOCM/2026/08/17/BOCM-20260817-1.xml","keywordsCoincidentes": ["resolución"],"fuente": "Boletín Oficial de la Comunidad de Madrid","atribucion": "Basado en datos del Boletín Oficial de la Comunidad de Madrid (https://www.bocm.es)","extraidoEn": "2026-08-23T18:07:13.034Z"}
{"identificador": "BOCM-20260817-34","boletin": "BOCM","boletinNombre": "Boletín Oficial de la Comunidad de Madrid","comunidadAutonoma": "Comunidad de Madrid","fechaPublicacion": "2026-08-17","numeroBoletin": "195","seccion": "III. ADMINISTRACIÓN LOCAL AYUNTAMIENTOS","seccionCodigo": "III","subseccion": null,"organo": "ALCALÁ DE HENARES","titulo": "Alcalá de Henares. Ofertas de empleo. Ente Público Empresarial Alcalá Desarrollo. Convocatoria proceso selectivo","urlHtml": "https://www.bocm.es/bocm-20260817-34","urlPdf": "https://www.bocm.es/boletin/CM_Orden_BOCM/2026/08/17/BOCM-20260817-34.PDF","urlXml": "https://www.bocm.es/boletin/CM_Orden_BOCM/2026/08/17/BOCM-20260817-34.xml","keywordsCoincidentes": ["convocatoria", "proceso selectivo"],"fuente": "Boletín Oficial de la Comunidad de Madrid","atribucion": "Basado en datos del Boletín Oficial de la Comunidad de Madrid (https://www.bocm.es)","extraidoEn": "2026-08-23T18:07:13.080Z"}
Madrid gazette monitoring use cases / Casos de uso
Despachos y asesorías — vigilancia normativa de la Comunidad de Madrid
Programa el actor a diario sobre las secciones I (Comunidad de Madrid) y II (Estado) con las
palabras clave de tu materia: recibes solo las disposiciones nuevas, con enlace al PDF oficial. ·
Daily regulatory monitoring of the Region of Madrid, with a link to the official PDF.
Empresas y consultoras — alertas de subvenciones y licitaciones BOCM
Palabras clave como subvención, convocatoria, licitación o contrato sobre la sección III
(ayuntamientos) convierten el boletín en un canal de oportunidades municipales. · Grant and tender
alerts from Madrid town councils.
Opositores y RR. HH. — convocatorias y procesos selectivos
El apartado B) Autoridades y Personal de la sección I y las ofertas de empleo de la III
concentran las convocatorias de empleo público madrileño, como se ve en el ejemplo de output. ·
Public-employment calls and selection processes.
Periodismo y transparencia — seguimiento de un ayuntamiento concreto
Usa el nombre del municipio como palabra clave para seguir todo lo que publica un ayuntamiento madrileño en el boletín, día a día. · Follow everything one Madrid town council publishes.
BOCM data source, coverage and limits / Fuente oficial, cobertura y comportamiento
- Fuente oficial: datos públicos del BOCM (
https://www.bocm.es), reutilizables conforme a la Ley 37/2007 de reutilización de la información del sector público. · Public BOCM data, reusable under Spanish Act 37/2007. - Cobertura y ritmo: el BOCM publica de lunes a sábado, entre 20 y 110 disposiciones por día.
diasHaciaAtrasadmite un máximo de 30 días. - Comportamiento del actor: hace 1 petición por segundo con un User-Agent identificado
(
spain-bocm-gazette/0.1 (Apify actor)), reintentos con backoff exponencial y detección de páginas de error servidas con HTTP 200. Un día completo cuesta una sola petición (el sumario XML oficial). · One request per second, identified User-Agent, exponential backoff, and detection of error pages served with HTTP 200. A full day costs a single request (the official XML summary). - Qué NO trae: el texto íntegro solo se descarga si activas
incluirTextoCompleto, y cuesta una petición extra por disposición.
Related Spanish public-data Actors / Actores relacionados
| Actor | Qué extrae / What it scrapes |
|---|---|
| spain-boja-gazette | Boletín Oficial de la Junta de Andalucía (BOJA) — mismo esquema de salida |
| spain-boe-monitor | Boletín Oficial del Estado (BOE) por palabra clave, sección y NIF |
| spain-borme-companies | Actos societarios del BORME: constituciones, cargos, concursos |
| spain-grants-bdns | Subvenciones y ayudas públicas de España (BDNS/SNPSAP) |
| spain-de-minimis-aid | Ayudas de minimis y ayudas de Estado por NIF de beneficiario |
| spain-grants-registries | Grandes beneficiarios, sanciones por fraude y ayudas a partidos |
| catalonia-tenders | Licitaciones y adjudicaciones públicas de Cataluña (PSCP) |
| euskadi-tenders | Anuncios de contratación pública del País Vasco (Open Data Euskadi) |
| aragon-tenders | Registro de contratos públicos de Aragón, mayores y menores (CKAN) |
| spain-cadastre-bulk | Enriquecimiento catastral masivo (Catastro OVC) |
Is it legal to scrape the BOCM? / Datos personales, derecho al olvido y aviso legal
- Reutilización: los datos del BOCM son información del sector público reutilizable conforme a la
Ley 37/2007, citando la fuente. Cada ítem incluye ya el campo
atribucion. - Se respeta la lista de derecho al olvido que el propio BOCM publica en su
robots.txt(790 identificadores retirados a petición del interesado): esas disposiciones nunca entran en el dataset. - Todo ítem pasa por un punto único de redacción: cualquier DNI/NIE en claro se sustituye por
[NIF-PERSONA-FISICA-OMITIDO]. Los CIF de persona jurídica se conservan (son dato mercantil). - No existe modo "por persona": no hay input de nombre ni de DNI, ni campo de identificador personal en el dataset. El pivote es siempre la disposición publicada.
- Este actor solo lee datos públicos, sin login y sin saltarse ninguna medida técnica. No es un producto oficial ni está afiliado, respaldado ni verificado por la Comunidad de Madrid. · This Actor is not an official product and is not affiliated with or endorsed by the Comunidad de Madrid.
Personal data, in English: the Actor honours the right-to-be-forgotten list the BOCM publishes
in its own robots.txt (790 withdrawn identifiers), redacts any clear-text Spanish national ID
(DNI/NIE) found in text as [NIF-PERSONA-FISICA-OMITIDO], and offers no person-centric mode:
there is no name or ID input and no personal identifier field in the dataset. Company tax IDs (CIF)
are kept — they are commercial data. Onward processing of the output remains your responsibility
under GDPR and the Spanish LOPDGDD.
FAQ — BOCM monitoring / Preguntas frecuentes
¿Cómo recibo alertas diarias del BOCM? / How do I get daily BOCM alerts?
Deja soloNuevos: true y programa el actor en un Schedule diario de Apify. Cada ejecución te
devolverá únicamente las disposiciones publicadas desde la anterior.
¿Puedo buscar por palabra clave en el BOCM? / Can I search the BOCM by keyword?
Sí: keywords busca en el título de cada disposición, sin distinguir mayúsculas ni acentos, y el
ítem te dice en keywordsCoincidentes qué término disparó la coincidencia.
¿Trae el texto completo de la disposición? / Does it include the full text?
Solo si activas incluirTextoCompleto. Cuesta una petición extra por disposición, así que déjalo
desactivado si te basta con el título y los enlaces al HTML, PDF y XML oficiales.
¿Cuánto histórico puedo recuperar? / How far back can I go?
diasHaciaAtras admite hasta 30 días en la primera ejecución (o con soloNuevos: false). A
partir de ahí, el modo delta avanza solo hacia delante.
¿Se puede combinar con el BOJA de Andalucía? / Can I combine it with the Andalusian BOJA?
Sí. spain-boja-gazette produce el mismo esquema
de salida, así que los dos boletines pueden alimentar la misma tabla.
¿Qué pasa si el actor se corta a mitad de un día? / What if a run is cut off mid-day?
Nada se pierde: un corte por maxItems no cierra el día, así que la siguiente ejecución lo relee y
el registro de identificadores impide duplicados.
¿Aparecen DNI de particulares en el dataset? / Are personal ID numbers exposed?
No. Cualquier DNI/NIE en claro se sustituye por [NIF-PERSONA-FISICA-OMITIDO] antes de llegar al
dataset, y las disposiciones de la lista de derecho al olvido del BOCM nunca se recogen.
¿Necesito credenciales? / Do I need credentials?
No. Todo sale del sumario XML público del BOCM, sin login ni cookies.
Support & feedback / Soporte
¿Falta una sección, quieres otro filtro o una versión a medida para tu flujo de vigilancia normativa? Abre una incidencia desde la pestaña Issues de la ficha del actor en Apify: se leen todas. · Missing a section or need a custom version? Open an issue from the Issues tab of this Actor's page.
Palabras clave / Keywords: BOCM scraper, Boletín Oficial de la Comunidad de Madrid, Madrid official gazette API, alertas BOCM, monitor BOCM palabra clave, Madrid regional gazette monitor, boletín oficial Madrid API, regulatory monitoring Madrid, subvenciones BOCM, anuncios BOCM, Spain regional gazette scraper, vigilancia normativa Madrid.