Pular para o conteúdo
Categoria: Glossário do Programador13 min de leitura

O que é uma API? Definição clara para iniciantes

Por Lucas Andrade ·

Entenda de forma simples o que é uma API, como funciona uma interface de programação de aplicações, os estilos REST e GraphQL e por que ela é a cola da internet moderna.

O que é uma API? Definição clara para iniciantes

API é uma das siglas mais repetidas no mundo da tecnologia, mas raramente bem explicada. Se você já usou um app que mostra a previsão do tempo, fez login com a conta do Google ou viu um mapa embutido em um site, você usou APIs sem perceber. Neste artigo vamos definir o conceito com clareza, mostrar como ele funciona no dia a dia, percorrer os estilos mais comuns e explicar por que APIs são a cola que mantém a internet moderna conectada.

A definição: interface de programação de aplicações

API significa Application Programming Interface, ou interface de programação de aplicações. É um conjunto de regras e definições que permite que dois programas de software conversem entre si. Em vez de um programa precisar conhecer o funcionamento interno do outro, ele só precisa conhecer a interface: quais pedidos pode fazer e quais respostas vai receber.

A palavra-chave aqui é interface. Pense em uma tomada de parede: você não precisa entender a usina hidrelétrica para ligar um carregador. Basta encaixar o plugue no formato certo. A API é exatamente esse "formato certo" — um contrato que esconde a complexidade e expõe apenas o necessário.

Esse contrato tem duas partes complementares. De um lado, o provedor da API se compromete a aceitar certos pedidos e devolver certas respostas. De outro, o consumidor se compromete a fazer pedidos no formato combinado. Enquanto ambos respeitam o contrato, cada um pode mudar o que está por baixo livremente: o provedor pode reescrever todo o seu sistema interno, trocar de linguagem ou de banco de dados, e o consumidor nem percebe — desde que a interface continue a mesma.

A analogia do restaurante

A analogia mais usada para explicar APIs é a do garçom em um restaurante:

  • Você (o cliente) é o programa que precisa de algo.
  • A cozinha é o sistema que tem os dados ou a funcionalidade.
  • O garçom é a API: ele leva seu pedido até a cozinha e traz a resposta de volta.

Você não entra na cozinha nem precisa saber como o prato é feito. Você consulta o cardápio (a documentação da API), faz um pedido válido e recebe o resultado. Se você pedir algo que não está no cardápio, recebe um erro. Esse contrato claro é o que torna integrações possíveis em escala.

A analogia ainda rende: o cardápio define o que existe e como pedir (a documentação), o garçom verifica se você pode pedir aquilo (autenticação e permissões), e a conta no fim representa o custo — porque muitas APIs são pagas por uso. Se a cozinha estiver sobrecarregada, o garçom pode pedir para você esperar (rate limiting). Cada detalhe da experiência num restaurante tem um equivalente técnico no mundo das APIs.

Tipos de API além da web

Embora o foco deste artigo sejam as APIs web, vale saber que o conceito é mais amplo. Você encontra APIs em vários níveis:

  • APIs de bibliotecas: quando você usa uma função de uma biblioteca de código (por exemplo, ordenar uma lista), você está consumindo a API daquela biblioteca — o conjunto de funções públicas que ela expõe.
  • APIs de sistema operacional: programas pedem ao sistema operacional para abrir arquivos, alocar memória ou desenhar na tela através de APIs do SO.
  • APIs web (ou de rede): dois sistemas em máquinas diferentes conversam pela internet, normalmente sobre HTTP. É o tipo que mais aparece no desenvolvimento moderno.

A ideia comum a todas é a mesma: uma fronteira bem definida entre quem oferece uma capacidade e quem a consome. Quando alguém diz "uma API" sem qualificar, no contexto de aplicações web, quase sempre se refere ao terceiro tipo.

Por que APIs são a "cola" da internet

Quase nenhum aplicativo moderno é uma ilha. Um app de delivery usa a API de um serviço de mapas para mostrar a rota, a API de um gateway de pagamento para cobrar o cartão e a API de notificações para avisar que o pedido saiu. Cada peça é especializada e se comunica por APIs.

Esse modelo traz vantagens enormes:

  • Reuso: você não reescreve um sistema de pagamento; consome a API de quem já fez.
  • Especialização: cada equipe cuida do seu serviço sem conhecer os detalhes dos outros.
  • Escala: empresas expõem suas capacidades como produtos consumíveis por terceiros.

Esse desacoplamento é a base de arquiteturas modernas como os microsserviços, em que cada parte do sistema é um serviço independente que se comunica via API.

Há também um aspecto de negócio. Para muitas empresas, a API é o produto. Provedores de pagamento, de mensageria, de envio de e-mail e de modelos de IA vendem acesso à sua API, não a um aplicativo de tela. A qualidade da API — clareza da documentação, estabilidade do contrato, previsibilidade dos erros — vira um diferencial competitivo, porque desenvolvedores escolhem integrar com quem oferece a melhor experiência de integração.

APIs web e o protocolo HTTP

Embora existam APIs em vários contextos (bibliotecas de código, sistemas operacionais), quando falamos de internet geralmente nos referimos a APIs web, que funcionam sobre o protocolo HTTP. O programa cliente envia uma requisição para um endereço (o endpoint) e recebe uma resposta.

GET https://api.exemplo.com/v1/usuarios/42
{
  "id": 42,
  "nome": "Ana Souza",
  "ativo": true
}

Entender o transporte por trás disso ajuda muito; vale revisar O que é HTTP? Métodos, status e como a web conversa. A requisição carrega um método (GET, POST, etc.), um endereço e, às vezes, dados; a resposta traz um código de status e o conteúdo solicitado.

Anatomia de uma requisição

Vale destrinchar as partes de um pedido HTTP, porque cada uma cumpre um papel:

  • Método: o verbo da ação. GET lê, POST cria, PUT/PATCH atualizam, DELETE remove.
  • URL (endpoint): o endereço do recurso, como /v1/usuarios/42.
  • Cabeçalhos (headers): metadados do pedido — formato esperado, credenciais, idioma.
  • Corpo (body): os dados enviados, presentes em criações e atualizações.

Uma requisição que cria um usuário poderia ser assim:

POST https://api.exemplo.com/v1/usuarios
Content-Type: application/json
Authorization: Bearer SEU_TOKEN

{
  "nome": "Bruno Lima",
  "email": "bruno@exemplo.com"
}

E a resposta indicaria sucesso com um status apropriado e o recurso criado:

201 Created
Content-Type: application/json

{ "id": 87, "nome": "Bruno Lima", "email": "bruno@exemplo.com" }

Códigos de status que você vai ver sempre

A resposta sempre traz um código de status de três dígitos que resume o que aconteceu. Os mais comuns:

  • 2xx — sucesso: 200 OK (deu certo), 201 Created (recurso criado), 204 No Content (deu certo, sem corpo).
  • 4xx — erro do cliente: 400 Bad Request (pedido malformado), 401 Unauthorized (sem credencial válida), 403 Forbidden (sem permissão), 404 Not Found (recurso inexistente), 429 Too Many Requests (excedeu o limite).
  • 5xx — erro do servidor: 500 Internal Server Error (algo quebrou do lado do provedor), 503 Service Unavailable (serviço fora do ar).

Saber ler esses códigos é meio caminho andado para depurar integrações. Um 401 aponta para credenciais; um 404, para a URL; um 429, para excesso de chamadas; um 5xx, para um problema que não é seu.

O formato dos dados: normalmente JSON

Para que cliente e servidor se entendam, eles precisam concordar num formato de dados. Hoje o padrão dominante é o JSON, por ser leve e legível tanto para máquinas quanto para humanos. Quando a API responde, ela quase sempre devolve um corpo em JSON, como no exemplo acima. Se quiser dominar essa sintaxe, veja O que é JSON? O formato de dados da web.

JSON não é a única opção: existem XML, Protocol Buffers e outros formatos binários usados por motivos de desempenho. Mas, para a maioria das APIs web públicas, JSON é o padrão de fato porque equilibra legibilidade e suporte universal em praticamente todas as linguagens.

Estilos de API: REST e além

APIs web seguem estilos arquiteturais. O mais difundido é o REST, que organiza a API em torno de "recursos" (usuários, produtos, pedidos) acessados por URLs e manipulados pelos métodos do HTTP. Roy T. Fielding (2000) formalizou esse estilo em sua tese de doutorado, definindo as restrições que tornam um sistema escalável e desacoplado.

Para entender em profundidade como esse modelo funciona, veja O que é REST? Arquitetura de APIs explicada. Existem outros estilos — como GraphQL e gRPC — mas REST continua sendo o ponto de partida da maioria dos desenvolvedores. A própria semântica do HTTP, padronizada na RFC 9110 (Fielding, Nottingham, Reschke, 2022), é o que dá significado consistente a esses pedidos e respostas.

REST, GraphQL e gRPC lado a lado

Cada estilo resolve um problema diferente:

  • REST: organiza tudo em recursos com URLs. É simples, cacheável e onipresente. A crítica comum é o over-fetching (trazer dados demais) ou under-fetching (precisar de várias chamadas para montar uma tela).
  • GraphQL: o cliente descreve exatamente quais campos quer numa única consulta, evitando o problema de buscar demais ou de menos. Em troca, adiciona complexidade no servidor e dificulta o cache.
  • gRPC: usa Protocol Buffers sobre HTTP/2, com contratos fortemente tipados e alto desempenho. Brilha na comunicação entre serviços internos, mas é menos amigável para consumo direto no navegador.

Na prática, muitas empresas combinam estilos: REST ou GraphQL para o público externo e gRPC entre os serviços internos. A escolha depende de quem consome a API e de quais restrições importam — desempenho, flexibilidade da consulta ou simplicidade.

Autenticação: quem pode chamar a API

Muitas APIs expõem dados sensíveis ou ações que custam dinheiro, então não podem ficar abertas. Elas exigem que o cliente prove sua identidade e suas permissões. Os mecanismos mais comuns são:

  • Chaves de API: uma string secreta enviada em cada requisição.
  • Tokens: credenciais temporárias obtidas após um login.
  • OAuth 2.0: um protocolo de delegação que permite um app agir em nome do usuário sem ver sua senha.

Quando você "faz login com o Google" em outro site, é OAuth em ação. Para entender esse fluxo, veja O que é OAuth 2.0? Delegação de acesso explicada.

Vale separar dois conceitos que costumam ser confundidos. Autenticação responde "quem é você?"; autorização responde "o que você pode fazer?". Uma chave de API pode autenticar você como um cliente válido, mas as permissões associadas a ela determinam quais recursos você pode acessar. Os dois funcionam em conjunto: primeiro o sistema confirma a identidade, depois decide se aquela identidade tem direito à ação pedida.

Segurança não é opcional

Uma API exposta na internet é uma porta de entrada para o seu sistema. Sem cuidado, ela vaza dados, permite abusos ou derruba o serviço. Boas práticas incluem usar sempre HTTPS, validar toda entrada, limitar a taxa de requisições (rate limiting) e nunca confiar cegamente no cliente. Esse é um tema grande por si só, tratado em Segurança de APIs: protegendo seus endpoints.

Um erro recorrente em quem começa é expor chaves secretas no código do front-end. Qualquer credencial que chegue ao navegador pode ser lida por qualquer usuário — basta abrir as ferramentas de desenvolvedor. Segredos de API ficam sempre no servidor, nunca no código que roda na máquina do cliente. Outro cuidado básico é nunca confiar em validações feitas apenas no navegador: o servidor precisa revalidar tudo, porque um atacante pode falar com a API diretamente, sem passar pela sua interface.

Versionamento e contratos estáveis

Quando uma API muda, todos os consumidores podem quebrar. Por isso, APIs sérias versionam sua interface, geralmente colocando a versão na URL (/v1/, /v2/) ou em um cabeçalho. A regra de ouro é não introduzir mudanças que quebrem o contrato dentro de uma mesma versão: você pode adicionar campos novos, mas remover ou renomear campos existentes exige uma versão nova.

Documentação também faz parte do contrato. Padrões como OpenAPI permitem descrever a API de forma legível por máquinas, gerando documentação interativa e até código cliente automaticamente. Uma API bem documentada e versionada é o que permite que dezenas de equipes a consumam com confiança ao longo do tempo.

Como você vai usar APIs na prática

No dia a dia de desenvolvimento, consumir uma API costuma seguir este roteiro:

  1. Ler a documentação para descobrir os endpoints e o formato esperado.
  2. Obter credenciais (chave ou token) se a API for protegida.
  3. Fazer a requisição a partir do seu código, com a biblioteca HTTP da sua linguagem.
  4. Tratar a resposta, interpretando o status e os dados retornados.
  5. Lidar com erros, porque a rede falha e a API pode recusar pedidos.

Um exemplo concreto em JavaScript, consumindo uma API protegida por token:

async function buscarUsuario(id) {
  const resposta = await fetch(`https://api.exemplo.com/v1/usuarios/${id}`, {
    headers: { Authorization: `Bearer ${process.env.API_TOKEN}` }
  })

  if (!resposta.ok) {
    // status 4xx ou 5xx — trate o erro em vez de assumir sucesso
    throw new Error(`Falha na API: ${resposta.status}`)
  }

  return resposta.json()
}

Repare que o token vem de uma variável de ambiente (no servidor), não escrito no código, e que a resposta é checada antes de ser usada. Esses dois detalhes — segredo fora do código e tratamento de erro — separam uma integração frágil de uma robusta.

Dominar esse ciclo é o que transforma você de alguém que só usa apps prontos em alguém que combina serviços para construir algo novo — inclusive integrando modelos de IA, que também são acessados via API.

Perguntas frequentes

Qual a diferença entre API e endpoint? A API é o conjunto inteiro de capacidades expostas; um endpoint é um endereço específico dentro dela, como /v1/usuarios/42. Uma API tem muitos endpoints.

API e biblioteca são a mesma coisa? Não. Uma biblioteca é código que você roda no seu próprio programa; uma API web é um serviço que roda em outro lugar e você acessa pela rede. Confusamente, uma biblioteca também tem uma "API" no sentido de suas funções públicas.

Toda API é paga? Não. Muitas são gratuitas ou têm um nível gratuito com limites. APIs comerciais costumam cobrar por volume de uso, e é comum encontrar planos por faixas de requisições.

Preciso saber a linguagem do servidor para usar uma API? Não. A vantagem da API é justamente esconder isso. Você só precisa conhecer o contrato — endpoints, formato e autenticação — e pode consumi-la de qualquer linguagem.

Conclusão

Uma API é o contrato que permite a dois programas conversarem sem conhecer as tripas um do outro. Ela esconde complexidade, viabiliza reuso e é o que torna possível compor sistemas inteiros a partir de peças especializadas. Você viu como uma requisição HTTP é estruturada, como ler os códigos de status, quais estilos existem além do REST, como funciona a autenticação e por que segurança e versionamento não são opcionais. Entender APIs é, na prática, entender como a internet moderna é montada — e é o primeiro passo para construir aplicações que conversam com o mundo.

Referências

  • Roy T. Fielding (2000). Architectural Styles and the Design of Network-based Software Architectures. PhD Dissertation, UC Irvine.
  • Fielding, Nottingham, Reschke (2022). RFC 9110: HTTP Semantics. IETF.
  • Masse, M. (2011). REST API Design Rulebook. O'Reilly Media.

Leituras relacionadas

Nenhum comentário ainda

Seja o primeiro a comentar.

Deixe seu comentário

Entre com sua conta Canverly para comentar. Você pode usar a mesma conta em qualquer site da rede.

Entrar com Canverly