Documentación
Lo mismo que ves acá, para que lo lea un programa o un modelo. Todo de sólo lectura, con un límite de pedidos por minuto.
Acceso
Quien la opera decide esto: notarum es de quien lo levanta, y otra instancia puede estar configurada de otra manera. Acá no hace falta identificarse para leer; un token sirve para tener más cuota y para el MCP.
El token va en la cabecera, así:
curl -H "Authorization: Bearer TU_TOKEN" https://notarum.go.websiteonline.org/v1/ediciones/primera/2026-09-05
Cuotas
Son pedidos por minuto. Se cuentan por separado según de dónde vengan: mirar
el sitio no te gasta la cuota de la API, y los intentos de entrada tienen la
suya. Cada respuesta trae X-RateLimit-Limit y
X-RateLimit-Remaining; al pasarse, un 429 con
Retry-After.
| quién | por minuto |
|---|---|
| sin identificarse | 60 |
| con token o sesión | 600 |
| quien administra | 6000 |
| el lector web | 600 |
| intentos de entrada | 10 |
API
Base /v1. Las fechas van en AAAA-MM-DD y las
respuestas son JSON en UTF-8. Cada respuesta trae ETag: si lo
mandás de vuelta en If-None-Match, recibís un 304
sin cuerpo. Una edición pasada se declara inmutable por un año, porque no
cambia nunca.
ediciones
Sumarios por sección y fecha
/v1/ediciones/{seccion}
Resúmenes de un rango de fechas
Devuelve un resumen por día (sin avisos) para las ediciones que ya están en la caché local. Las que todavía no se bajaron se listan en `faltantes`: se llenan con `notarum rellenar`, porque la API no baja un año entero adentro de un pedido HTTP. El tope del rango son 366 días.
| parámetro | dónde | tipo | |
|---|---|---|---|
seccion obligatorio |
path | string |
primerasegundatercera |
desde obligatorio |
query | string (date) | |
hasta obligatorio |
query | string (date) |
curl https://notarum.go.websiteonline.org/v1/ediciones/primera?desde=2026-09-01&hasta=2026-09-30/v1/ediciones/{seccion}/{fecha}
Edición de una sección en una fecha
El sumario completo de ese día. Si ese día no hubo edición devuelve 404 con `sin_edicion: true`, que no es una falla.
| parámetro | dónde | tipo | |
|---|---|---|---|
seccion obligatorio |
path | string |
primerasegundatercera |
fecha obligatorio |
path | string (date) | |
rubro |
query | string | Filtra por nombre de rubro; acepta el nombre exacto o un prefijo, sin distinguir mayúsculas. |
curl https://notarum.go.websiteonline.org/v1/ediciones/primera/2026-09-01avisos
Textos completos y anexos
/v1/anexos/{seccion}/{nro}/{id}/{fecha}
El PDF de un anexo
Devuelve el archivo tal como lo publica el Boletín. La ruta es la que viene en el campo `url` de cada anexo del detalle; admite el sufijo `.pdf` en la fecha.
| parámetro | dónde | tipo | |
|---|---|---|---|
seccion obligatorio |
path | string |
primerasegundatercera |
nro obligatorio |
path | string | |
id obligatorio |
path | string | |
fecha obligatorio |
path | string |
curl https://notarum.go.websiteonline.org/v1/anexos/primera/12/7756488/20260901.pdf/v1/avisos/{seccion}/{id}/{fecha}
Un aviso con su texto completo
| parámetro | dónde | tipo | |
|---|---|---|---|
seccion obligatorio |
path | string |
primerasegundatercera |
id obligatorio |
path | string | El id del aviso. En la primera sección es numérico; en la segunda y la tercera puede ser alfanumérico (por ejemplo A1522579). |
fecha obligatorio |
path | string (date) |
curl https://notarum.go.websiteonline.org/v1/avisos/primera/346633/2026-09-01/v1/buscar
Búsqueda por texto y fecha
Busca avisos por texto y fecha. Con el motor de almacenamiento sqlite hay un índice local: `fuente=indice` busca sobre él sin pedirle nada al Boletín (más rápido, sin tope de rango); `fuente=sitio` siempre consulta la búsqueda avanzada del Boletín; `fuente=auto` (por defecto) usa el índice cuando tiene historia del rango y si no va al sitio. La respuesta dice cuál se usó.
| parámetro | dónde | tipo | |
|---|---|---|---|
seccion obligatorio |
query | string |
primerasegundatercera |
texto |
query | string | |
desde obligatorio |
query | string (date) | |
hasta obligatorio |
query | string (date) | |
rubro |
query | string | |
pagina |
query | integer · por defecto 1 | |
fuente |
query | string · por defecto auto |
De dónde traer los resultados.
autoindicesitio |
limite |
query | integer · por defecto 5 | Resultados por página; sólo con fuente indice. |
todas |
query | boolean · por defecto false | Exigir todas las palabras; sólo con fuente sitio. |
curl https://notarum.go.websiteonline.org/v1/buscar?seccion=primera&desde=2026-09-01&hasta=2026-09-03catalogo
Calendario, secciones y rubros
/v1/calendario/{anio}/{seccion}
Días con edición de un año
| parámetro | dónde | tipo | |
|---|---|---|---|
anio obligatorio |
path | integer | |
seccion obligatorio |
path | string |
primerasegundatercera |
curl https://notarum.go.websiteonline.org/v1/calendario/2026/primera/v1/rubros/{seccion}
Catálogo de rubros de una sección
| parámetro | dónde | tipo | |
|---|---|---|---|
seccion obligatorio |
path | string |
primerasegundatercera |
curl https://notarum.go.websiteonline.org/v1/rubros/primera/v1/secciones
Secciones publicables
curl https://notarum.go.websiteonline.org/v1/seccionesservicio
Estado del servicio
/v1/openapi.json
Este contrato
curl https://notarum.go.websiteonline.org/v1/openapi.json/v1/salud
Estado del servicio
curl https://notarum.go.websiteonline.org/v1/saludprovincial
Normativa de las 24 provincias: leyes, decretos, códigos y constituciones. Sale de la Base SAIJ del Ministerio de Justicia, que es lo que el Boletín Oficial de la Nación no publica.
/v1/provincial
Buscar normativa provincial
Busca en las 81 mil normas de las 24 provincias. Sin filtros devuelve todo el catálogo paginado, de la más nueva a la más vieja. Cuando hay texto, primero va lo que se llama así y después lo que lo menciona de paso.
| parámetro | dónde | tipo | |
|---|---|---|---|
texto |
query | string | Palabras a buscar en el título y las materias. No hace falta poner los acentos; todas las palabras tienen que estar. |
provincia |
query | string | Nombre, código INDEC o prefijo. Sin esto busca en las 24. |
tipo |
query | string | Ley, Decreto Ley, Constitución Provincial… La lista está en /v1/provincial/tipos. |
desde |
query | integer | Año de sanción más viejo. |
hasta |
query | integer | Año de sanción más nuevo. |
vigentes |
query | string | Con 1 deja fuera lo derogado, lo caduco y las modificatorias. |
pagina |
query | integer · por defecto 1 | |
limite |
query | integer · por defecto 3 |
curl https://notarum.go.websiteonline.org/v1/provincial/v1/provincial/provincias
Las 24 jurisdicciones
Devuelve las provincias con su código INDEC y cuántas normas hay guardadas de cada una.
curl https://notarum.go.websiteonline.org/v1/provincial/provincias/v1/provincial/tipos
Tipos de norma provincial
Devuelve los tipos que trae el catálogo, del más frecuente al menos. Sirve para saber por qué valor filtrar.
curl https://notarum.go.websiteonline.org/v1/provincial/tipos/v1/provincial/{id}
Una norma provincial
Trae una norma por su identificador de SAIJ.
| parámetro | dónde | tipo | |
|---|---|---|---|
id obligatorio |
path | string | Identificador de SAIJ, como LPB1000000. |
curl https://notarum.go.websiteonline.org/v1/provincial/LPB1000000Las formas que devuelve
Anexo
id siempre |
string | |
nombre siempre |
string | |
numero siempre |
string | |
url siempre |
string | Ruta en esta API para bajar el PDF. |
Aviso
fecha siempre |
string (date) | |
id siempre |
string | |
norma |
string | |
organismo siempre |
string | |
referencia |
string | |
repetido siempre |
boolean | El aviso viene de un rubro "ANTERIOR": ya se publicó en una edición previa. |
rubro siempre |
string | |
seccion siempre |
string |
primerasegundatercera |
sintesis |
string | |
suplemento siempre |
boolean | El aviso salió en el suplemento de ese día. |
tiene_anexos siempre |
boolean | |
url siempre |
string (uri) | El aviso en el sitio oficial. |
Busqueda
avisos siempre |
lista de Aviso | |
dias_con_edicion |
integer | Días del rango que tuvieron edición. Si es mayor que dias_indexados, el índice vio menos de lo que hay. |
dias_indexados |
integer | Días del rango que están en el índice local. |
fuente siempre |
string |
De dónde salieron los resultados. El índice local busca en el sumario y, para los avisos cuyo texto ya se bajó, también en el cuerpo; la búsqueda del Boletín busca en el texto completo pero pagina de a 100 y no informa totales.
indicesitio |
hay_mas siempre |
boolean | |
pagina siempre |
integer | |
total siempre |
integer | Con fuente indice, el total de avisos que coinciden. Con fuente sitio, cuántos vinieron en esta página: el Boletín no informa un total, y por eso hay que mirar hay_mas. |
Calendario
anio siempre |
integer | |
con_suplemento |
lista de string (date) | |
fechas siempre |
lista de string (date) | |
seccion siempre |
string |
Detalle
fecha siempre |
string (date) | |
id siempre |
string | |
norma |
string | |
organismo siempre |
string | |
referencia |
string | |
repetido siempre |
boolean | El aviso viene de un rubro "ANTERIOR": ya se publicó en una edición previa. |
rubro siempre |
string | |
seccion siempre |
string |
primerasegundatercera |
sintesis |
string | |
suplemento siempre |
boolean | El aviso salió en el suplemento de ese día. |
tiene_anexos siempre |
boolean | |
url siempre |
string (uri) | El aviso en el sitio oficial. |
anexos siempre |
lista de Anexo | |
fecha_publicacion |
string (date) | La fecha impresa al pie del aviso. |
html siempre |
string | El cuerpo en HTML saneado: sin estilos ni scripts, con las tablas conservadas. |
texto siempre |
string | El cuerpo en texto plano, párrafos separados por línea en blanco. |
Edicion
avisos siempre |
lista de Aviso | |
cantidad siempre |
integer | |
con_suplemento |
boolean | |
fecha siempre |
string (date) | |
por_rubro siempre |
object | |
seccion siempre |
string |
primerasegundatercera |
Error
detalle |
string | |
error siempre |
string | |
origen siempre |
string |
De quién es la culpa: del Boletín Oficial, de notarum, o de cómo se armó el pedido.
sitionotarumpedido |
sin_edicion |
boolean | Ese día no hubo edición. |
NormaProvincial — Una norma provincial. notarum guarda sus datos y el enlace a SAIJ, no su texto: SAIJ lo publica para pocas de las 81 mil.
digesto |
string | |
estado |
string | Lo que SAIJ dice de su vigencia, con sus palabras. |
fecha |
string (date) | Fecha de sanción. |
id siempre |
string | Identificador de SAIJ, del estilo LPB1000000. Es la clave. |
materias |
string | Los términos con que SAIJ la clasifica. Vienen separados por guiones, aunque no siempre: 63.984 de las 81.281 con sumario los usan. |
nombre |
string | El nombre con el que se la conoce. |
numero |
string | Texto y no número: hay normas sin numerar. |
provincia siempre |
string | |
provincia_id siempre |
string | Código INDEC de la jurisdicción. |
publicada |
string (date) | Fecha de publicación en el boletín de la provincia. |
tipo siempre |
string | |
titulo |
string | De qué trata, en una línea. |
ProvinciaConNormas
id |
string | Código INDEC. |
nombre |
string | |
normas |
integer | Cuántas hay guardadas de esta jurisdicción. |
prefijo |
string | Con el que empiezan sus identificadores en SAIJ. |
Rango
desde siempre |
string (date) | |
ediciones siempre |
lista de Resumen | |
faltantes siempre |
lista de string (date) | Días con edición que todavía no están en la caché local. |
hasta siempre |
string (date) | |
seccion siempre |
string |
ResultadoBusqueda
avisos siempre |
lista de Aviso | |
cantidad siempre |
integer | |
hay_mas siempre |
boolean | |
pagina siempre |
integer |
ResultadoProvincial
hay_mas |
boolean | Si hay más de las que entran en esta página. |
normas |
lista de NormaProvincial | |
pagina |
integer | |
total |
integer | Cuántas cumplen los criterios, más allá de esta página. |
Resumen
cantidad siempre |
integer | |
con_suplemento |
boolean | |
fecha siempre |
string (date) | |
por_rubro siempre |
object | |
seccion siempre |
string |
Rubro
id siempre |
string | |
nombre siempre |
string |
Salud
cache siempre |
object | |
en_pie_desde siempre |
string (date-time) | |
ok siempre |
boolean | |
sitio siempre |
object | |
sitio_responde siempre |
boolean | |
ultima_lectura |
string (date-time) | |
version |
string |
MCP
Para que un modelo consulte el Boletín como una herramienta más.
Habla JSON-RPC 2.0 en POST https://notarum.go.websiteonline.org/mcp, y el mismo binario también lo
habla por entrada estándar, para un cliente local:
{
"mcpServers": {
"notarum": {
"command": "notarum",
"args": ["mcp", "--almacen", "sqlite", "--db", "/ruta/notarum.db"]
}
}
}
Estas son las herramientas, tal como las recibe el modelo:
edicion
Edición de un día
Devuelve el sumario del Boletín Oficial para una sección y una fecha: cuántos avisos hubo, cómo se reparten por rubro, y la lista con organismo, norma y síntesis de cada uno. Es el punto de partida para cualquier consulta sobre un día. Si ese día no hubo edición lo dice; no todos los días hay.
| argumento | tipo | |
|---|---|---|
seccion obligatorio |
string |
primera: decretos, resoluciones y disposiciones. segunda: sociedades, edictos y sucesiones. tercera: licitaciones y contrataciones.
primerasegundatercera |
fecha |
string | Día a consultar, en AAAA-MM-DD. Si se omite, hoy. |
limite |
integer · por defecto 40 | Cuántos avisos traer. Una edición puede tener cientos. |
rubro |
string | Filtra por rubro, por nombre exacto o por su comienzo. Por ejemplo DECRETOS. |
aviso
Texto completo de un aviso
Devuelve un aviso entero: su texto completo en texto plano y la lista de anexos con la URL para bajar cada PDF. El id y la fecha salen de la herramienta edicion o de buscar.
| argumento | tipo | |
|---|---|---|
fecha obligatorio |
string | Fecha de publicación del aviso, en AAAA-MM-DD. |
id obligatorio |
string | Identificador del aviso. En la primera sección es numérico; en la segunda y la tercera puede ser alfanumérico, como A1522579. |
seccion obligatorio |
string |
primera: decretos, resoluciones y disposiciones. segunda: sociedades, edictos y sucesiones. tercera: licitaciones y contrataciones.
primerasegundatercera |
buscar
Buscar avisos
Busca avisos por texto dentro de un rango de fechas. Sirve para preguntas del tipo qué se publicó sobre un tema, o si un organismo dictó algo en un período. Devuelve el sumario de cada aviso; para leer el texto hay que pedir el aviso.
| argumento | tipo | |
|---|---|---|
desde obligatorio |
string | Comienzo del rango, en AAAA-MM-DD. |
hasta obligatorio |
string | Fin del rango, en AAAA-MM-DD. |
seccion obligatorio |
string |
primera: decretos, resoluciones y disposiciones. segunda: sociedades, edictos y sucesiones. tercera: licitaciones y contrataciones.
primerasegundatercera |
limite |
integer · por defecto 50 | |
pagina |
integer · por defecto 1 | |
rubro |
string | Restringe a un rubro. |
texto |
string | Palabras a buscar. No hace falta poner los acentos. |
calendario
Días con edición
Devuelve qué días de un año tuvieron edición de una sección, y cuáles tuvieron suplemento. Conviene mirarlo antes de recorrer un rango de fechas: los feriados no tienen edición.
| argumento | tipo | |
|---|---|---|
seccion obligatorio |
string |
primera: decretos, resoluciones y disposiciones. segunda: sociedades, edictos y sucesiones. tercera: licitaciones y contrataciones.
primerasegundatercera |
anio |
integer | Año a consultar. Si se omite, el corriente. |
rubros
Catálogo de rubros
Devuelve los rubros con los que se clasifican los avisos de una sección. Sirve para saber por qué valor filtrar en edicion o en buscar.
| argumento | tipo | |
|---|---|---|
seccion obligatorio |
string |
primera: decretos, resoluciones y disposiciones. segunda: sociedades, edictos y sucesiones. tercera: licitaciones y contrataciones.
primerasegundatercera |
estado
Estado del servicio
Dice qué día es hoy en Argentina, si esta instancia tiene índice local de búsqueda y cuánta historia tiene guardada. Útil para saber qué se puede responder sin depender del sitio del Boletín.
provincial_buscar
Buscar normativa provincial
Busca leyes, decretos, códigos y constituciones de las 24 provincias, que el Boletín Oficial de la Nación no publica. Es la Base SAIJ del Ministerio de Justicia: 81 mil normas desde 1855. Devuelve los datos de cada norma y el enlace a su ficha; el texto completo casi nunca está publicado, así que no lo esperes de acá.
| argumento | tipo | |
|---|---|---|
desde |
integer | Año de sanción más viejo. |
hasta |
integer | Año de sanción más nuevo. |
limite |
integer · por defecto 30 | |
pagina |
integer · por defecto 1 | |
provincia |
string | Nombre de la provincia, o su código INDEC. Sin esto busca en las 24 jurisdicciones. |
texto |
string | Palabras a buscar en el título y las materias. No hace falta poner los acentos. Todas las palabras tienen que estar. |
tipo |
string | Tipo de norma: "Ley", "Decreto Ley", "Constitución Provincial", "Código Procesal Penal"… La lista está en provincial_tipos. Para encontrar la constitución de una provincia conviene filtrar por tipo en vez de buscarla por texto. |
vigentes |
boolean · por defecto false | Deja fuera lo derogado, lo caduco y las modificatorias. |
provincial_norma
Una norma provincial
Trae una norma provincial por su identificador de SAIJ, del estilo LPB1000000. Los identificadores salen de provincial_buscar.
| argumento | tipo | |
|---|---|---|
id obligatorio |
string | Identificador de SAIJ, como LPB1000000. |
provincial_tipos
Provincias y tipos de norma
Devuelve las 24 jurisdicciones con cuántas normas hay de cada una, y los tipos de norma que existen. Conviene mirarlo antes de filtrar, para usar los valores tal como están escritos.
Para probarlo de una:
curl -X POST https://notarum.go.websiteonline.org/mcp \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Errores
Todo error viene como JSON y dice de quién es la culpa, para que sepas a quién mirar antes de empezar a buscar.
{ "error": "el Boletín Oficial no devolvió lo esperado", "origen": "sitio" }
sitio | el Boletín Oficial no contestó o cambió de forma |
notarum | falló algo de este servicio |
pedido | el pedido está mal armado |
Un día sin edición devuelve 404 con "sin_edicion": true.
No es una falla: es un feriado.