Documentación JSON

Punto de entrada recomendado: /data/catalog.json.

Arranque rápido

Descargar índice de archivos:

curl -sS https://lo-q-pagas.pages.dev/data/catalog.json | jq

Ver metadatos del último bake:

curl -sS https://lo-q-pagas.pages.dev/data/meta.json | jq

Descargar todo en 1 request

all.json agrupa categorías por clave:

curl -sS https://lo-q-pagas.pages.dev/data/all.json -o all.json

flat.json deja todo en una sola lista (ideal para filtros):

curl -sS https://lo-q-pagas.pages.dev/data/flat.json -o flat.json

Filtros con jq

Ejemplo: vial en Tigre (Buenos Aires):

curl -sS https://lo-q-pagas.pages.dev/data/flat.json \
| jq '.[] | select(.categoria=="vial" and .Provincia=="Buenos Aires" and .Municipio=="Tigre")'

Ejemplo: contar filas con tasa faltante en hiper:

curl -sS https://lo-q-pagas.pages.dev/data/flat.json \
| jq '[.[] | select(.categoria=="hiper" and .meta_tasa_estado=="sin_dato")] | length'

Campos meta_*

Cada fila incluye metadatos de normalización:

  • meta_tasa_tipo / meta_base_tipo: porcentual, monto_fijo, rango, sin_dato, etc.
  • meta_tasa_unidad / meta_base_unidad: %, ARS o none.
  • meta_tasa_estado / meta_base_estado: ok, sin_dato, sin_dato_parcial, no_disponible, indeterminado.

API read-only v1

Base URL: https://lo-q-pagas.pages.dev/api/v1

Esta API complementa los JSON estáticos; no reemplaza /data/*.json.

Endpoints

  • GET /api/v1/categories — catálogo de categorías y archivos.
  • GET /api/v1/{categoria} — filas por categoría (ej: vial, hiper).
  • GET /api/v1/search — búsqueda global sobre flat.json.

Query params

Parámetro Tipo Aplica en Default Detalle
provincia string /:categoria, /search - Igualdad exacta (case/accent-insensitive).
municipio string /:categoria, /search - Coincidencia parcial por nombre de municipio.
q string /search - Búsqueda parcial en municipio (normalizada sin tildes).
categoria string /search - Restringe resultados a una categoría válida.
tipo string /:categoria, /search - Filtra por meta_tasa_tipo o meta_base_tipo.
estado string /:categoria, /search - Filtra por meta_tasa_estado o meta_base_estado.
limit integer /:categoria, /search 50 Rango válido: 1 a 200.
offset integer /:categoria, /search 0 Debe ser entero mayor o igual a 0.

Ejemplos curl

curl -sS "https://lo-q-pagas.pages.dev/api/v1/categories" | jq
curl -sS "https://lo-q-pagas.pages.dev/api/v1/vial?provincia=Buenos+Aires&limit=5" | jq
curl -sS "https://lo-q-pagas.pages.dev/api/v1/search?q=lanus&categoria=hiper" | jq

Formato de error

{
  "ok": false,
  "error": {
    "code": "BAD_REQUEST",
    "message": "El parámetro 'limit' debe ser un entero."
  }
}

Rate limits: sin límites custom; aplica el comportamiento estándar de Cloudflare Pages/Workers.