Pular para o conteúdo

Dados abertos (JSON)

Tudo que alimenta as tabelas deste site vem de arquivos YAML versionados no repositório, e é publicado também como JSON. Se você precisa do dado e não do texto, consuma daqui em vez de raspar as páginas.

Todos os endpoints são estáticos, servidos com Access-Control-Allow-Origin: *.

Endpoint Conteúdo
/api/portarias.json Legislação da RNDS
/api/modelos.json Modelos de informação
/api/servicos.json Serviços web e endpoints
/api/ambientes.json Homologação e produção
/api/ferramentas.json Ecossistema de ferramentas
/api/tudo.json Tudo acima, num arquivo só

Cada resposta traz um envelope com licença, data de geração e total, seguido do array de registros:

{
"licenca": {
"dados": "CC BY 4.0",
"atribuicao": "Guia RNDS para Desenvolvedores - rnds.josevbrito.com",
"aviso": "Material independente e não oficial..."
},
"gerado_em": "2026-08-26T00:00:00.000Z",
"total": 15,
"portarias": [ ... ]
}

Dois campos aparecem em todo registro, e são o que torna o dataset confiável:

  • fontes - array com pelo menos uma URL pública de onde o dado saiu
  • verificado_em - data (ISO YYYY-MM-DD) em que essa fonte foi conferida pela última vez

Se verificado_em está velho, trate o registro com desconfiança. É de propósito que essa informação seja explícita.

Terminal window
# Quantas portarias estão catalogadas?
curl -s https://rnds.josevbrito.com/api/portarias.json | jq '.total'
# Quais normas faltam na lista oficial do gov.br?
curl -s https://rnds.josevbrito.com/api/portarias.json \
| jq '.portarias[] | select(.ausente_da_lista_oficial) | {numero, data, ementa}'

Os campos que apontam para outros registros usam o id como string. Por exemplo, em modelos.json:

{
"id": "redfm",
"sigla": "REDFM",
"portaria_vigente": "gm-ms-6100-2024",
"sucede": "rdm"
}

Esse gm-ms-6100-2024 casa com o id de uma entrada em portarias.json. As referências são validadas no build: se um id não existir, o site não compila.

Os dados estão sob CC BY 4.0. Use como quiser, inclusive comercialmente, desde que cite a origem.

Achou um erro? Abra uma issue.