# Encontrar códigos CNAE por atividade

`GET /v1/cnaes` · pública, sem chave

Traduz as palavras de uma atividade ("restaurante", "dentista", "pet shop") em subclasses da CNAE 2.3, para usar no filtro cnae de /v1/buscar. Procura primeiro em categorias curadas com sinônimos do dia a dia (origem categoria, que pode reunir vários códigos) e depois no índice oficial de atividades do IBGE (origem ibge, um código). Dígitos buscam pelo código ("5611", "5611-2/01"). Quando nenhuma categoria tem todas as palavras, devolve as que têm a palavra da atividade e marca aproximado; um nome de empresa não devolve nada. Rota pública: não usa chave nem cota, e não consulta a base.

## Requisição

```bash
curl -G https://api.fonteza.com.br/v1/cnaes \
  --data-urlencode "q=restaurante"
```

```python
import requests

resposta = requests.get(
    "https://api.fonteza.com.br/v1/cnaes",
    params={"q": "restaurante"},
    timeout=30,
)
resposta.raise_for_status()
dados = resposta.json()
```

## Parâmetros

| Parâmetro | Tipo | Onde | Obrigatório | Descrição |
| --- | --- | --- | --- | --- |
| `q` | string | query | sim | Atividade, profissão ou código CNAE. De 1 a 100 caracteres. |
| `limit` | integer | query | não | Entre 1 e 10. Padrão: `10`. |
| `completar` | boolean | query | não | Para digitação: a última palavra pode estar incompleta (restau). Padrão: `false`. |

## Resposta 200

Sugestões, a melhor primeiro; lista vazia quando nada corresponde.

- `items` (array de objeto)
  - `rotulo` (string): Nome da categoria curada ou descrição oficial da subclasse.
  - `codigos` (array de string): Subclasses CNAE 2.3; envie-as em cnae separadas por vírgula.
  - `descricoes` (array de string): Descrição oficial de cada código, na mesma ordem.
  - `origem` (string): Valores: `categoria`, `ibge`.
  - `termo` (string, opcional): Sinônimo ou atividade do IBGE que correspondeu à consulta.
  - `nota` (string, opcional)
  - `aproximado` (boolean, opcional): Nenhuma categoria tem todas as palavras; esta tem a palavra da atividade.
- `meta` (objeto)
  - `fonte` (array de string)
  - `classificacao` (string)

Exemplo (Uma categoria curada e uma subclasse do IBGE):

```json
{
  "items": [
    {
      "rotulo": "Restaurantes",
      "codigos": [
        "5611201"
      ],
      "descricoes": [
        "Restaurantes e similares"
      ],
      "origem": "categoria",
      "termo": "restaurante",
      "nota": "Pizzarias, churrascarias e japoneses não têm código próprio: todos são restaurantes."
    },
    {
      "rotulo": "Hotéis",
      "codigos": [
        "5510801"
      ],
      "descricoes": [
        "Hotéis"
      ],
      "origem": "ibge",
      "termo": "hotel com ou sem serviço de restaurante"
    }
  ],
  "meta": {
    "fonte": [
      "IBGE/CNAE 2.3",
      "Fonteza/categorias"
    ],
    "classificacao": "CNAE 2.3 subclasses"
  }
}
```

## Erros

| Status | Quando | Código |
| --- | --- | --- |
| 422 | Parâmetro inválido. |  |
