# Normas federais com impacto no DF

> Playbook 02 · v0.1 · atualizado em 2026-08-18
> Como descobrir, identificar e citar legislação federal que alcança o Distrito Federal — API do Senado, URN LexML, texto no Planalto e as âncoras do DF.
>
> Fonte: https://legisla.bsb.br/metodologia/02-normas-federais/
> Impressão digital: 528d12ab · histórico em https://legisla.bsb.br/metodologia.json
> Método aberto de projeto independente, sem vínculo com GDF
> ou CLDF. Descreve o que as normas dizem; não substitui orientação jurídica.

---
Boa parte do que vale no Distrito Federal é **lei federal**. Não existe uma
coleção oficial "leis federais que impactam o DF" — esse recorte é **derivado**.
Este playbook mostra como construí-lo com fontes oficiais.

## Por que o DF é um caso especial

- **CF, art. 32, § 1º** — o DF acumula as competências **de estado e de
  município**. Uma norma federal de competência concorrente o alcança duas vezes.
- **CF, art. 21, XIII e XIV** — a União organiza e mantém o **Judiciário, MP,
  Defensoria, Polícia Civil, Polícia Militar e Corpo de Bombeiros do DF**, com
  aporte pelo **FCDF** (Fundo Constitucional do DF, Lei nº 10.633/2002). É um
  vetor de impacto federal que **nenhum outro ente** tem.
- **CF, art. 48, IV** — cabe ao Congresso legislar sobre matérias de interesse
  do DF.
- **RIDE-DF** — LC nº 94/1998, ampliada pela LC nº 163/2018: o DF mais **33
  municípios** de GO e MG formam uma região integrada, gerida pela SUDECO.
  Norma federal que cite a RIDE ou esses municípios entra no recorte.

## Descobrir: API de Legislação do Senado

É a melhor fonte estruturada de norma federal. **Aberta, sem chave.** Devolve
XML por padrão e **JSON com o header `Accept: application/json`**.

Recorte por termo — **é assim que se acha o que menciona o DF**:

```
GET https://legis.senado.leg.br/dadosabertos/legislacao/lista
    ?tipo=LEI&ano=2023&termo=Distrito%20Federal
Accept: application/json
```

Varie `tipo` (`LEI`, `LCP`, `DEC`, `EMC`) e `ano`. Termos que valem a pena
cruzar: `Distrito Federal`, `RIDE`, `Entorno do Distrito Federal`, `Brasília`,
`Capital Federal`, e o nome dos municípios da RIDE.

Detalhe de uma norma específica:

```
GET https://legis.senado.leg.br/dadosabertos/legislacao/LEI/8080/1990
Accept: application/json
```

Retorna, em `DetalheDocumento.documentos.documento`:

| Campo | Exemplo |
|---|---|
| `identificacao.norma` | `LEI-8080-1990-09-19` |
| `identificacao.apelido` | `Lei Orgânica da Saúde (1990)` |
| `identificacao.urlDocumento` | `https://normas.leg.br/?urn=urn:lex:br:federal:lei:1990-09-19;8080` |
| `ementa` | texto da ementa |
| `publicacoes` | DOU: data, página, coluna |

O `urlDocumento` é o **link canônico por URN LexML** — use-o como identificador
estável da norma.

## Identificar: URN LexML

A **URN LEX** é o identificador persistente padrão da norma brasileira:

```
urn:lex:br:federal:lei:1990-09-19;8080
    │      │       │            │
    │      │       │            └── data;número
    │      │       └─────────────── tipo
    │      └─────────────────────── esfera (br, br;df, br;df;brasilia…)
    └────────────────────────────── namespace
```

Resolver oficial: `https://normas.leg.br/?urn=<urn>` (ou
`https://www.lexml.gov.br/urn/<urn>`). **Aviso:** a API de busca do LexML
(endpoint SRU) está atrás de verificação anti-bot — use o LexML como **camada
de identidade e link**, não como API de coleta. Para descobrir normas, use a
API do Senado acima.

## Ler o texto: Planalto

O texto **compilado** (com as alterações consolidadas) é o do Planalto. Só
HTML, sem API, e as URLs são previsíveis:

| Tipo | Padrão |
|---|---|
| Lei até ~2000 | `planalto.gov.br/ccivil_03/leis/l{numero}.htm` |
| Lei de 1999 em diante | `/ccivil_03/_ato{quadriênio}/{ano}/lei/l{numero}.htm` |
| Lei complementar | `/ccivil_03/leis/lcp/lcp{numero}.htm` |
| Decreto recente | `/ccivil_03/_ato{quadriênio}/{ano}/decreto/d{numero}.htm` |
| Constituição | `/ccivil_03/constituicao/constituicao.htm` |

Ex.: Lei nº 8.080/1990 → <https://www.planalto.gov.br/ccivil_03/leis/l8080.htm>

Duas armadilhas: o Planalto **recusa User-Agent de robô** (use um navegador de
verdade) e o HTML é legado, com encoding inconsistente em partes antigas.

## Quando a lei virou lei: API da Câmara

Para saber o momento da sanção e a tramitação:

```
GET https://dadosabertos.camara.leg.br/api/v2/proposicoes
    ?siglaTipo=PL&ano=2023&codSituacao=1140
```

`codSituacao=1140` = **"Transformado em Norma Jurídica"**. JSON aberto, sem
chave. Há dumps anuais completos em
`dadosabertos.camara.leg.br/arquivos/proposicoes/`.

## Cruzar federal × distrital

O caso mais comum de resposta completa: **a norma geral federal + a
regulamentação distrital**. Exemplo:

> O SUS é regido pela Lei federal nº 8.080/1990 (Lei Orgânica da Saúde), e o
> Distrito Federal disciplina a matéria no Código de Saúde do DF, a Lei
> distrital nº 5.321/2014 (Art. 1º).

Sempre deixe explícito **qual esfera diz o quê** — confundir norma federal com
distrital é o erro mais grave desta área.

## Citar

> (Art. 7º, IV — Lei federal nº 8.080/1990)
> URN: `urn:lex:br:federal:lei:1990-09-19;8080`
> Texto: <https://www.planalto.gov.br/ccivil_03/leis/l8080.htm>

Inclua a **esfera na própria citação** ("Lei federal nº…", "Lei distrital nº…").

---

## Histórico de versões

- **v0.1** (2026-08-18) — Publicação inicial: API do Senado, identidade por URN LexML, texto no Planalto e as âncoras federais do DF.
