Sem cadastro, sem chaves, sem OAuth
Ao contrário da maioria das APIs, você não precisa:
- Criar uma conta
- Gerar uma chave de API
- Enviar um cabeçalho
Authorization - Assinar requisições com HMAC
- Renovar tokens OAuth
- Pagar por um plano
Você simplesmente envia sua requisição HTTP para https://cleverutils.com/api/v1/* e funciona.
Então como o abuso é prevenido?
Monitoramos o uso pelo endereço IP. Cada IP recebe uma cota diária generosa e um pequeno intervalo entre requisições para evitar inundações. Veja os rate limits para todos os detalhes.
Se um único IP fizer muitas requisições, ele é temporariamente limitado (HTTP 429). Abusos repetidos levam a um banimento de 24 horas (HTTP 403).
Meu IP é armazenado?
Sim — mas apenas como um hash SHA-256 com sal, nunca em texto simples. Usamos para duas coisas:
- Rate limiting — o hash é a chave dos nossos arquivos de contador por IP em
/tmp/cleverutils-api-ratelimit/. Esses arquivos são excluídos automaticamente após 25 horas. - Registro — os primeiros 16 caracteres do hash são escritos nos nossos logs de requisições (em
/tmp/cleverutils-api-logs/) para depuração e detecção de abuso. Os logs são rotacionados após 30 dias.
Nunca armazenamos IPs em texto simples. Nunca registramos corpos de requisição. Nunca compartilhamos dados com terceiros.
Sessões e cookies
Por razões históricas, a API pode definir um cookie PHPSESSID nas respostas. Você pode ignorá-lo. A API não depende de sessões ou cookies para autenticação ou rate limiting — é puramente baseada em IP.
A maioria dos clientes HTTP (cURL sem -c, Python requests sem Session, Go http.DefaultClient) não persiste cookies de qualquer forma. Você pode ignorar o cabeçalho com segurança.
E quanto ao CORS?
A API responde com Access-Control-Allow-Origin: * em cada endpoint, então você pode chamá-la diretamente de um aplicativo JavaScript no navegador em qualquer domínio. Requisições preflight (OPTIONS) são tratadas automaticamente.
Futuro: chaves de API opcionais
Podemos introduzir futuramente chaves de API opcionais para usuários que precisem de cotas maiores ou queiram análises por chave. Quando isso acontecer:
- O nível anônimo gratuito permanecerá gratuito e sem chave.
- As chaves serão enviadas via cabeçalho de requisição
X-API-Key(nãoAuthorization: Bearer). - Esta página será atualizada com instruções completas.
Até lá: basta fazer requisições HTTP e você estará autenticado.