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

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

Por Schematize Blog ·

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.

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ê 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:

      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:

        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:

          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:

            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:

              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:

                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:

                  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

                    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