> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cnpj-api.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Autenticação

> Como autenticar suas requisições na API

# Autenticação

Todas as requisições à API requerem um token de autenticação. Oferecemos tokens gratuitos e pagos.

## Tokens gratuitos

Tokens gratuitos estão disponíveis para todos os usuários com limite de **5 consultas por minuto** e acesso a todos os endpoints. Para necessidades maiores, tokens pagos oferecem limites superiores e suporte dedicado. Veja [Limites de Uso](/pt/limites-de-uso) para mais detalhes.

## Criando uma conta

Veja a página [Criar Conta](/pt/criar-conta) para instruções de como obter seu token.

## Métodos de autenticação

### Via parâmetro na URL (recomendado)

A forma preferida de autenticação é enviar o token como parâmetro `token` na URL:

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.cnpj-api.com/v1/cnpj/12345678000195?token=SEU_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://api.cnpj-api.com/v1/cnpj/12345678000195?token=SEU_TOKEN'
  );
  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://api.cnpj-api.com/v1/cnpj/12345678000195',
      params={'token': 'SEU_TOKEN'}
  )
  data = response.json()
  ```
</CodeGroup>

### Via header HTTP

**Alternativamente**, envie o token no header `Authorization`:

<CodeGroup>
  ```bash cURL theme={null}
  curl -H "Authorization: Bearer SEU_TOKEN" \
    "https://api.cnpj-api.com/v1/cnpj/12345678000195"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://api.cnpj-api.com/v1/cnpj/12345678000195',
    {
      headers: { 'Authorization': 'Bearer SEU_TOKEN' }
    }
  );
  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://api.cnpj-api.com/v1/cnpj/12345678000195',
      headers={'Authorization': 'Bearer SEU_TOKEN'}
  )
  data = response.json()
  ```
</CodeGroup>

## Respostas de erro

| Código | Descrição                      |
| ------ | ------------------------------ |
| `401`  | Token inválido ou ausente      |
| `429`  | Limite de requisições excedido |

Ao receber `429`, aguarde 1 minuto antes de tentar novamente. Tokens pagos possuem limites superiores.
