API: o que é, como funciona e o que é uma API REST
API explicada para quem decide: requisição e resposta, o que é REST, chave, OAuth, limite de uso e onde a sua empresa já usa uma sem saber.

O site da loja mostra o estoque atualizado. A cobrança sai com o QR Code do Pix. O lead do formulário aparece no CRM sem ninguém digitar nada. Ninguém na sua empresa escreveu código para isso, e mesmo assim cada uma dessas coisas depende de uma API que alguém publicou e outro sistema consumiu.
A sigla aparece em proposta de fornecedor, em reunião de TI e na tela de configuração de plugin. Quase sempre chega sem explicação, como se todo mundo já soubesse o que é.
Uma interface de programação é um contrato: um sistema publica o que aceita receber e o que promete devolver, e outro sistema faz pedidos dentro dessas regras sem ver o código de dentro. Quando uma integração quebra, o motivo raramente está no código. Quase sempre o contrato mudou sem aviso ou a chave vazou.
O que é uma API, sem jargão
Pense no balcão de um cartório. Você não entra no arquivo nem abre gaveta, e não faz ideia de como os livros estão organizados. Você entrega um pedido preenchido do jeito que o balcão aceita e recebe uma certidão num formato conhecido.
Uma interface de programação faz o mesmo papel entre dois sistemas. O lado que oferece o serviço define os pedidos que aceita, o formato de cada um e o que devolve em cada caso. O lado que consome não precisa saber em que linguagem o outro foi escrito nem qual banco de dados ele usa. Basta seguir o combinado.
A sigla vem do inglês Application Programming Interface. A palavra que carrega o sentido é interface: a parte exposta, enquanto o resto fica fechado. Isso protege os dois lados. O fornecedor pode reescrever o sistema inteiro por dentro e, se mantiver o contrato, ninguém do lado de fora percebe a troca.
Requisição e resposta: o que viaja de um lado para o outro
Quase todas as APIs da web conversam por HTTP, o mesmo protocolo que o navegador usou para abrir esta página. Cada conversa tem duas metades, e a primeira é a requisição. Ela leva quatro partes:
- Método: o verbo, que diz o que se quer fazer com o recurso.
- Endpoint: o endereço do recurso, como
https://exemplo.com/v1/pedidos/123. - Cabeçalho: os metadados do pedido, entre eles a credencial e o formato do conteúdo.
- Corpo: os dados enviados, em geral no formato JSON, quando o método pede conteúdo.
Os métodos têm significado definido pelo próprio HTTP. Segundo a referência de métodos da MDN, o GET pede uma representação do recurso e só deve buscar dados. O POST envia dados e costuma causar mudança no servidor. O PUT substitui o recurso inteiro pelo conteúdo enviado, o PATCH altera só uma parte dele e o DELETE apaga.
A segunda metade é a resposta. Ela volta com um código de status de três dígitos e, quase sempre, um corpo. O primeiro dígito já diz a família: 2xx é sucesso, 4xx é erro de quem pediu e 5xx é erro do servidor. A lista de códigos de status da MDN descreve cada um. Estes são os que mais aparecem em integração:
| Código | O que a MDN diz | O que costuma significar para você |
|---|---|---|
| 200 | o pedido deu certo | tudo certo, o corpo traz o resultado |
| 401 | o cliente precisa se autenticar | chave ausente, errada, vencida ou revogada |
| 404 | o servidor não achou o recurso | endereço errado ou registro que não existe mais |
| 429 | pedidos demais num intervalo de tempo | você bateu no limite de uso do plano |
| 500 | o servidor não sabe tratar a situação | problema do lado do fornecedor |
Saber ler esses números encurta muita conversa com fornecedor. Um 401 manda olhar a credencial antes de qualquer outra coisa. Já um 500 indica falha do lado de lá, e mexer na sua configuração não vai resolver.
O que é uma API REST
REST é um estilo de arquitetura que Roy Fielding descreveu na tese de doutorado dele, publicada em 2000. O capítulo 5 da tese define o estilo por um conjunto de restrições: cliente e servidor separados, comunicação sem estado, cache, interface uniforme e sistema em camadas, mais uma opcional de código sob demanda.
Duas delas explicam quase tudo o que você vê numa integração. A primeira é a ausência de estado. Cada requisição carrega toda a informação necessária para ser entendida, e o servidor não depende da conversa anterior. Por isso a credencial vai em todo pedido, e não só no primeiro.
A segunda é a interface uniforme. Cada recurso tem um identificador próprio e é manipulado pelos mesmos verbos. Por isso /pedidos/123 é o pedido 123, e GET, PUT e DELETE nesse endereço fazem o que o nome diz.
Uma API REST, então, é uma interface que segue essas regras sobre HTTP. Muitas das que se dizem REST seguem só parte delas. Para quem integra, isso raramente faz diferença. Pesa mais a documentação dizer com clareza quais endereços existem e o que cada um devolve.
Três alternativas ao REST aparecem com frequência em proposta técnica.
O SOAP é um protocolo mais antigo e mais formal. Toda mensagem vai num envelope XML, e o contrato fica descrito num arquivo próprio, o WSDL. Ainda é comum em sistemas legados de banco, governo e grandes ERPs.
O GraphQL usa um único endereço. O cliente escreve uma consulta dizendo exatamente quais campos quer, e recebe só aqueles. Isso economiza tráfego em aplicativo e dá mais trabalho no servidor.
O webhook inverte a direção. Em vez de o seu sistema perguntar de tempos em tempos se algo mudou, o outro lado avisa quando o evento acontece. O pagamento confirmado chega até você sem consulta. O post sobre como funcionam os webhooks detalha esse modelo.
| REST | SOAP | GraphQL | Webhook | |
|---|---|---|---|---|
| Formato | em geral JSON | XML em envelope | JSON | em geral JSON |
| Quem inicia | quem consome | quem consome | quem consome | quem publica o evento |
| Caso típico | integração web e mobile | banco, governo, ERP legado | app que precisa de dados sob medida | aviso de pagamento, pedido, cadastro |
| Complexidade | baixa | alta | média | baixa para receber, média para proteger |
Chave de API, OAuth e limite de uso
A forma mais simples de credencial é a chave. Ela é uma sequência longa que vai no cabeçalho de cada pedido. Para o fornecedor, quem apresenta a chave é a sua empresa, com todas as permissões que ela carrega. Chave em código publicado, em planilha compartilhada ou em print de tela tem o mesmo efeito de senha exposta.
O OAuth resolve outro problema. Em vez de entregar uma credencial com acesso total, alguém autoriza um aplicativo a fazer coisas específicas, por tempo limitado. O aplicativo recebe um token com escopo, e esse token pode ser revogado sem trocar a senha de ninguém.
A especificação da API Pix publicada pelo Banco Central mostra isso bem. Ela declara escopos OAuth2 separados para cada operação, como cob.read para consultar cobrança e cob.write para criar ou revisar. Um sistema que só confere pagamentos pode receber apenas o escopo de leitura.
O limite de uso é a outra regra de convivência. O fornecedor decide quantos pedidos aceita por minuto, hora ou dia, em geral conforme o plano. Passou do limite, a resposta vira 429 até a janela reiniciar. Integração que roda em lote no fim do mês costuma descobrir esse limite no pior dia.
Documentação e versão: onde o contrato mora
Se a interface é um contrato, a documentação é o texto dele. Um formato frequente é o OpenAPI, que descreve endpoints, parâmetros, respostas e erros num arquivo que tanto gente quanto ferramenta conseguem ler.
O caso do Pix ajuda de novo. O repositório do Banco Central define a especificação funcional em OpenAPI 3.0, e o arquivo trazia a versão 2.10.0 quando o conferi, em 12 de outubro de 2026. A própria especificação diz seguir versionamento semântico, com o número principal da versão no caminho da URL.
Ela também lista o que considera mudança compatível: novos recursos, novos parâmetros opcionais, novos campos nas respostas, alteração na ordem dos campos e novos valores em enumerações. E avisa que essas mudanças podem ocorrer a qualquer momento, e que os clientes devem estar preparados para lidar com elas sem quebrar.
Esse trecho resume a tese deste post. Se a sua integração para porque apareceu um campo novo na resposta, o defeito está do seu lado. Se o fornecedor removeu um campo sem subir a versão principal, o defeito está do lado dele. Nos dois casos, quem tem a documentação e o histórico de versões resolve a discussão em minutos.
Onde a sua empresa já usa API sem saber
O Pix é o exemplo mais visível. O sistema de cobrança conversa com o banco ou com o provedor de pagamento para gerar a cobrança e consultar se ela foi paga. O emissor de nota fiscal envia o documento para autorização e recebe o retorno, e o ERP faz o mesmo quando emite em lote.
O atendimento automatizado no WhatsApp passa pela interface oficial da Meta, assunto do post sobre automação com a WhatsApp Business API. O formulário do site que cria contato no CRM ou na ferramenta de automação de marketing faz uma chamada a cada envio, como mostra o guia para integrar o Mautic com o site ou o CRM.
Ferramentas de automação como o n8n são, por dentro, uma coleção de chamadas a APIs com uma tela visual por cima. Cada caixinha do fluxo guarda uma credencial de algum sistema da empresa.
O que fazer na sua empresa
- Faça o inventário. Liste cada API que a empresa consome, o sistema de cada lado, a credencial usada e em nome de quem ela foi criada.
- Use uma credencial por integração. Chave compartilhada entre três sistemas não pode ser revogada sem derrubar os três.
- Guarde chave em cofre. Nunca em código, planilha, e-mail ou chat. Troque a chave quando a pessoa que a criou sair da empresa.
- Peça escopo mínimo. Quando o fornecedor oferece OAuth, autorize só as operações que a integração usa.
- Coloque a política de versão no contrato comercial. Prazo de aviso antes de mudança incompatível e por quanto tempo a versão antiga continua no ar.
- Monitore os códigos de status. Alerta para 401, 429 e 5xx avisa do problema antes que o cliente reclame.
O ponto que fica
Uma integração dura enquanto as duas pontas respeitam o mesmo contrato e a credencial continua secreta. A especificação da API Pix deixa a regra escrita para quem quiser ler: mudanças compatíveis podem acontecer a qualquer momento, e quem consome a interface precisa estar pronto para elas.
Ferramentas citadas neste post
- Agent Reach: Camada open source que dá a agentes de IA como Claude Code e Cursor acesso de leitura à web, YouTube, GitHub, Reddit, X e outras plataformas.
- Bruno: Cliente de API aberto e offline que salva as coleções como arquivos de texto na sua pasta, prontos para versionar no Git, com app de desktop e CLI.
- Caddy: Servidor web open source escrito em Go que ativa HTTPS sozinho, faz proxy reverso e serve arquivos com uma configuração curta.
- Crawl4AI: Crawler open source em Python que transforma páginas da web em Markdown limpo e JSON estruturado para RAG, agentes e pipelines de IA.
- EasySpider: Coletor de dados da web visual e sem código: você clica nos elementos da página, desenha a tarefa num fluxograma e grava o resultado. Para quem não programa.
- FastAPI: Framework Python para criar APIs a partir das anotações de tipo, com validação de dados e documentação interativa geradas a partir do código.
- Firecrawl: API que transforma sites em Markdown, HTML ou JSON estruturado para alimentar IA, com raspagem, rastreamento de páginas e busca na web.
- Hoppscotch: Cliente de API open source para testar REST, GraphQL, WebSocket e outros protocolos no navegador, no desktop ou no terminal, alternativa ao Postman.
- Insomnia: Cliente de API open source da Kong para testar REST, GraphQL, gRPC, WebSockets e SSE, com editor OpenAPI, mocks e testes automatizados.
- Scrapling: Biblioteca Python open source de scraping que reencontra elementos depois que o site muda de layout e renderiza páginas com navegador.


