Pular para o conteúdo
LinkProfit

Comparação de APIs de encurtadores de links: o que os desenvolvedores recebem em 2026

LinkProfit Team13 min de leitura
  • api
  • developers
  • link-shortener
Nesta página

Todo encurtador de links vende a mesma demonstração: cole uma URL longa, receba uma curta. A diferença entre eles aparece três semanas depois, quando um worker de fila está criando dez mil links por hora, um handler de webhook está descartando retentativas em silêncio e alguém pergunta por que os dados de clique do mês passado não dão para cruzar com o CRM. Esta comparação é sobre esse estágio, e não sobre a demonstração.

O que vem a seguir são os eixos que decidem se uma API sobrevive ao contato com a produção, o que os principais fornecedores da categoria realmente oferecem em cada um deles e exemplos funcionais contra a API da LinkProfit. O comportamento dos concorrentes está descrito aqui em prosa, e não em amostras de código inventadas: o formato das requisições muda, e um trecho copiado que não compila mais é pior do que uma frase explicando o que o endpoint faz.

Por que para alguns compradores a API é o produto

Existem dois tipos de cliente de encurtador. Um faz login em um painel, cria links à mão e lê gráficos. O outro nunca abre o painel: os links são criados pelo software dele, em nome dos usuários dele, e os dados de clique correm para o data warehouse dele. Para o segundo tipo, o painel é uma ferramenta de depuração e a API é o produto inteiro.

Essa distinção explica a maior parte da decepção nesta categoria, e é por isso que embutir encurtamento em um produto SaaS é uma compra diferente de comprar uma ferramenta de marketing. Fornecedores que otimizam para o primeiro comprador tratam a API como um item de checklist na página de preços: ela existe, está documentada de forma rala, fica travada em um plano superior e cobre a criação de links, mas não domínios, analytics ou webhooks. Se você está embutindo encurtamento em um produto, essa lacuna é a diferença entre entregar e reescrever.

Os eixos que realmente importam

Autenticação e escopo das chaves

A base é um token bearer. O que separa as implementações é o que um token vazado consegue fazer. Uma única chave válida para a conta inteira, capaz de apagar todos os links, é um passivo, ainda mais quando a sua integração só precisa criá-los. Procure chaves com escopo de espaço de trabalho, e não de conta, permissões presas à chave e não a quem a criou, armazenamento em hash com exibição única no momento da criação e rotação independente, para que você possa emitir uma chave por serviço e revogar uma delas sem derrubar as outras.

Limites de requisições e comportamento no teto

Dois números importam e raramente os dois são publicados: o limite sustentado e o que acontece quando você o ultrapassa. Uma API bem-comportada responde 429, diz quando repetir a chamada e expõe o saldo restante em toda resposta, para que o cliente consiga se autolimitar antes de começar a falhar. Uma API que devolve um 500 genérico sob carga, ou descarta escritas em silêncio, obriga você a construir um limitador conservador em cima de palpites.

O formato da janela importa tanto quanto a magnitude. Um teto por segundo e uma janela deslizante por minuto com a mesma vazão média se comportam de maneira completamente diferente diante de cargas em rajada, que é o que a maior parte das integrações produz: uma campanha é publicada, cinco mil links são criados em noventa segundos e a fila fica ociosa o resto do dia.

Operações em lote

Criar links a uma requisição HTTP por vez funciona na casa das centenas e dói na casa das centenas de milhares. Um endpoint em lote que aceita um bloco e devolve resultado item a item, incluindo falhas parciais com o índice do item que falhou, transforma um job de madrugada em alguns minutos. O detalhe a conferir é a semântica de falha: se uma única URL inválida rejeita o lote inteiro, e se repetir um lote aplicado parcialmente cria duplicatas.

Analytics pela API

Quase todo fornecedor mostra gráficos de clique no painel. Bem menos deles deixam você puxar os mesmos números por programação na granularidade de que você precisa, e é aí que os limites por plano se escondem. Peça três coisas: resumos agregados, séries temporais com granularidade selecionável e quebras por dimensão, como país, cidade, dispositivo, navegador, referenciador e parâmetros de campanha. Depois pergunte sobre retenção, teto de tamanho das exportações e se os eventos contados contra o seu plano são os mesmos eventos que a API vai devolver. As questões de medição por baixo disso, em especial a filtragem de bots e a contagem de visitantes únicos, estão no nosso guia sobre rastrear cliques em links.

A Rebrandly é o exemplo mais claro de por que isso importa. Os redirecionamentos dela são ilimitados, mas o analytics em si é medido como dados de engajamento em 100, 10.000, 25.000 e 150.000 eventos por mês conforme o plano, em agosto de 2026. Um link que continua redirecionando enquanto para de reportar é um modo de falha específico que você deve precificar antes de escolher.

Webhooks e garantias de entrega

Ficar consultando o estado em loop é como as integrações ficam lentas e caras. Os webhooks substituem isso, e a qualidade deles se resume a quatro propriedades: quais eventos disparam, se os payloads são assinados, como é o cronograma de retentativas e o que acontece depois que elas se esgotam. A verificação da assinatura deve ser feita sobre o corpo bruto, com um timestamp para impedir repetição. As retentativas devem se espalhar por horas, e não por minutos, para que uma janela de deploy não custe eventos a você. E o fornecedor deve avisar quando um endpoint for marcado como falho, em vez de descartar eventos caladamente.

SDKs, especificação e documentação

Um SDK oficial economiza um dia de trabalho; uma especificação OpenAPI legível por máquina economiza esse dia em qualquer linguagem que o SDK não cubra, e continua economizando conforme a API evolui. O Short.io entrega quatro SDKs, a cobertura oficial mais ampla da categoria em agosto de 2026. Uma especificação publicada é o ativo mais durável, já que dela saem clientes, mocks e testes de contrato.

Erros, paginação e versionamento

Três propriedades sem glamour que determinam o custo de manutenção. Os erros devem ser legíveis por máquina, com um código estável separado da mensagem humana, para que a sua lógica de retentativa se ramifique pelo código, e não por comparação de strings. A paginação deve ser por cursor; paginação por offset sobre uma tabela que recebe escritas vai pular e duplicar linhas. E a versão deve estar explícita no caminho, congelada uma vez publicada, com mudanças incompatíveis entregues sob uma sucessora.

O que os fornecedores oferecem

| Fornecedor | Disponibilidade da API | Limite de requisições publicado | SDKs oficiais | Limitação notável | | --- | --- | --- | --- | --- | | Short.io | Todos os planos, inclusive o gratuito | 50 requisições por segundo, mais vendido em blocos | Quatro | Sem painel white-label, times só no Enterprise | | Dub | Produto central, base de código open source | Não publicado como número de vitrine | Sim | O white-label de parceiros fica no plano de 300 USD | | Rebrandly | Planos pagos, recursos travados por plano | Não publicado como número de vitrine | Sim | Analytics medido como eventos de engajamento | | Replug | Só no plano Agency, 99 USD por mês | Não publicado | Não | A API não dá para avaliar em planos menores | | Shlink, hospedagem própria | Completa, open source | Você que configura | Comunidade | Premissas single-tenant, sem faturamento | | LinkProfit | Plano Growth e acima | 600 requisições por minuto por chave de espaço de trabalho | Clientes gerados da especificação | Hostname de API compartilhado na versão 1 |

Todos os detalhes de planos e preços acima são de agosto de 2026.

Short.io: a referência de volume

O Short.io é o agressor de preço e de vazão da categoria. A API dele está disponível em todos os planos, o limite publicado é de 50 requisições por segundo em qualquer plano e a capacidade adicional é vendida em blocos de 50 requisições por segundo a 50 USD por mês. Ele entrega quatro SDKs e um site de documentação para desenvolvedores de verdade, e domínios próprios com certificados automáticos entram do plano gratuito para cima.

As limitações estão em outras partes do produto, não na API: o que ele chama de white label é marca nos links, não um painel com a sua marca, o suporte a vários times fica restrito ao Enterprise e os pixels de retargeting cobrem apenas duas redes. Se você precisa dessas coisas, veja a nossa comparação de alternativas ao Short.io.

Dub: a referência API-first

O Dub é a referência de design e de experiência de desenvolvimento da categoria, com núcleo open source e um produto construído API-first, e não painel-first. Se você quer um modelo do que é bom neste espaço, leia a documentação deles antes de escrever os seus próprios requisitos de integração.

Vale fazer dois esclarecimentos, porque os nomes causam confusão. O Dub Partners é infraestrutura de programa de afiliados oferecida aos clientes do Dub, e não um jeito de revender o próprio Dub, e o white-label dele fica no plano Advanced, a 300 USD por mês em agosto de 2026. O esquema de afiliados deles paga 30 por cento de uma venda durante um ano, o que é um arranjo de indicação, e não um modelo de revenda.

Rebrandly e Replug: a API como upsell

As duas travam o acesso de desenvolvedores em planos mais altos, de maneiras diferentes. A API da Replug está disponível apenas no plano Agency, a 99 USD por mês, 79 USD na cobrança anual em agosto de 2026, o que significa que você não consegue avaliar a integração barato. O travamento da Rebrandly é recurso a recurso, e não uma parede única: deep links só aparecem no Growth, os pixels de retargeting só a partir do Professional, e os tetos de dados de engajamento descritos acima valem para o analytics em qualquer plano.

Nenhuma das duas abordagens é incomum, e as duas funcionam se você estiver acima do limiar. O ponto, numa avaliação, é honestidade orçamentária: o plano de que você precisa para a API é o plano que você está comprando de fato, e não aquele da tabela comparativa por onde você começou.

Hospedagem própria e open source

Se o seu requisito é um encurtador interno sem faturamento e com um único inquilino, o Shlink é a opção mais forte: licença MIT, PHP, genuinamente API-first, com um ecossistema maduro de clientes. As premissas dele aparecem quando você tenta atender outras pessoas. Os slugs são únicos globalmente dentro da instância, e não por domínio, os papéis de chave de API não chegam perto de um isolamento real entre inquilinos e a geração de QR foi removida na versão 5. O Kutt permite trocar a marca por um diretório de customização, mas desacelerou bastante, com 16 commits ao longo de 2026 e sem times, webhooks ou multi-tenancy. O YOURLS é, por projeto, um administrador e um domínio.

LinkProfit

O nosso desenho mira o segundo tipo de comprador descrito lá no começo. As chaves são emitidas por espaço de trabalho ou por parceiro, carregam escopos explícitos, são mostradas uma única vez e guardadas como hash SHA-256. O limite padrão é de 600 requisições por minuto para uma chave de espaço de trabalho e 1.200 para uma chave de parceiro, aplicado com janela deslizante, com X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset em toda resposta e Retry-After num 429. A criação em lote aceita até 100 links por chamada. O analytics é cidadão de primeira classe, e não exclusivo do painel: resumo, séries temporais, quebras por dimensão e uma exportação CSV em streaming com teto de 100.000 linhas. Os webhooks são assinados e reenviados cinco vezes ao longo de cerca de doze horas. A especificação é gerada a partir dos mesmos esquemas que validam as requisições, então a documentação não tem como divergir da implementação.

O acesso à API começa no plano Growth, que é também o plano que libera um domínio próprio de painel; a grade completa está na página de preços. A limitação honesta da versão 1: a API é servida em um hostname compartilhado, então os parceiros white-label a documentam para os seus clientes como a API deles, sem que ela viva no domínio deles. Isso é um item de roadmap, não um item escondido.

Trabalhando com a API da LinkProfit

curl -X POST https://api.linkprofit.com/v1/links \
  -H "Authorization: Bearer lp_live_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/spring-collection",
    "slug": "spring",
    "domain_id": "dom_7Kq2f9",
    "expires_at": "2026-10-01T00:00:00Z"
  }'

Agrupar escritas em lote

O endpoint em lote aceita até 100 links por chamada e devolve um resultado por item, então uma falha parcial identifica a entrada problemática em vez de rejeitar o lote.

const response = await fetch('https://api.linkprofit.com/v1/links/bulk', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.LINKPROFIT_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    links: batch.map((row) => ({ url: row.destination, slug: row.code, domain_id: domainId })),
  }),
});

if (response.status === 429) {
  const waitSeconds = Number(response.headers.get('retry-after') ?? '1');
  await new Promise((resolve) => setTimeout(resolve, waitSeconds * 1000));
}

Ler o analytics de volta

As quebras recebem um parâmetro de dimensão, o que mantém a superfície pequena e previsível em vez de acrescentar um endpoint por gráfico.

curl -G https://api.linkprofit.com/v1/analytics/breakdown \
  -H "Authorization: Bearer lp_live_xxxxxxxxxxxxxxxx" \
  -d dimension=city \
  -d date_from=2026-07-01 \
  -d date_to=2026-07-31

As dimensões disponíveis cobrem país, cidade, dispositivo, navegador, sistema operacional, referenciador e os três principais parâmetros de campanha, o que basta para reproduzir os números do painel nos seus próprios relatórios.

Validar um webhook

Os eventos trazem X-LinkProfit-Signature no formato t=timestamp,v1=hex. O payload assinado é o timestamp, um ponto e o corpo bruto da requisição, então a verificação precisa acontecer antes de qualquer parsing de JSON que possa reserializá-lo.

import { createHmac, timingSafeEqual } from 'node:crypto';

export function isValidSignature(rawBody, header, secret) {
  const fields = new Map(header.split(',').map((pair) => pair.split('=')));
  const timestamp = Number(fields.get('t'));
  // Reject anything outside a five minute window to limit replay.
  if (!Number.isFinite(timestamp) || Math.abs(Date.now() / 1000 - timestamp) > 300) return false;

  const expected = createHmac('sha256', secret).update(`${timestamp}.${rawBody}`).digest('hex');
  const received = Buffer.from(fields.get('v1') ?? '', 'hex');
  const computed = Buffer.from(expected, 'hex');
  return received.length === computed.length && timingSafeEqual(received, computed);
}

As entregas que falham são repetidas depois de um minuto, cinco minutos, trinta minutos, duas horas e doze horas. Após a última tentativa, o endpoint é marcado como falho e o dono da conta recebe um e-mail, então um handler quebrado aparece como notificação, e não como dados faltando descobertos um mês depois.

Avaliar uma API em uma tarde

  1. Crie uma chave no plano mais barato que inclua acesso à API e anote se esse plano é um que você compraria de qualquer forma.
  2. Crie, leia, atualize e apague um link, e confira se as respostas trazem os cabeçalhos de limite de requisições.
  3. Ultrapasse o limite de propósito e confirme que você recebe um 429 com uma dica de quando repetir, e não uma falha genérica.
  4. Envie uma requisição em lote com uma URL inválida e inspecione como a falha parcial é reportada.
  5. Puxe uma quebra por cidade do mês passado e compare os totais com o painel.
  6. Registre um webhook apontando para um endpoint de captura de requisições, dispare um evento, valide a assinatura, depois tire o endpoint do ar e acompanhe o cronograma de retentativas.
  7. Peça o documento OpenAPI e gere um cliente a partir dele.
  8. Leia a política de versionamento e o changelog dos últimos doze meses.

Os passos três, quatro e seis são os que a maioria das avaliações pula, e são justamente os que preveem como a integração se comporta às duas da manhã.

A categoria tem uma implementação de referência de verdade no Dub, uma opção de volume de verdade no Short.io e uma longa cauda de produtos em que a API é um upsell, e não um objetivo de projeto. A nossa abordagem — chaves com escopo, limites publicados com cabeçalhos honestos, analytics e domínios como recursos de primeira classe e uma especificação gerada a partir dos esquemas de validação — está documentada em recursos da API, com guias de início rápido, paginação, códigos de erro e webhooks na documentação.

Perguntas que as pessoas fazem

Qual encurtador de links tem o maior limite de requisições publicado?

O Short.io publica o maior número de vitrine da categoria consolidada: 50 requisições por segundo em todos os planos, inclusive no gratuito, com capacidade adicional vendida em blocos de 50 requisições por segundo a 50 USD por mês, em agosto de 2026. Números de vitrine não são diretamente comparáveis, porém, porque cada fornecedor conta em uma janela diferente. Um teto por segundo rejeita uma rajada que uma janela deslizante por minuto absorveria, então compare o limite com o formato real do seu tráfego, e não com o número de outro fornecedor.

Eu preciso mesmo de uma API, ou uma importação por CSV resolve?

Migrações pontuais funcionam bem por CSV. Você precisa de uma API quando a criação de links é disparada por algo que não seja uma pessoa diante de um painel: uma ferramenta de campanha que gera um link por destinatário, um produto que encurta URLs em nome dos usuários, um agendador que publica posts. O sinal é o volume que cresce junto com os seus clientes, e não com o seu time de marketing, somado a qualquer necessidade de trazer os dados de clique de volta para os seus próprios relatórios.

Por que alguns fornecedores colocam a API no plano mais caro?

Porque o acesso à API se correlaciona com volume e com uso por agências, então ele é uma alavanca eficiente de upsell. Em agosto de 2026, a Replug oferece a API apenas no plano Agency, a 99 USD por mês, 79 USD na cobrança anual. A consequência prática para quem desenvolve é que o custo de avaliação fica alto: você não consegue testar a integração em um plano barato antes de se comprometer, o que é um motivo legítimo para dar preferência a fornecedores cuja API está disponível nos planos de entrada.

Como lidar com as retentativas de webhook sem criar duplicatas?

Assuma entrega ao menos uma vez e torne o seu handler idempotente. Guarde o identificador do evento que vem no payload e, na chegada, verifique se ele já foi processado antes de fazer qualquer trabalho. Valide a assinatura sobre o corpo bruto da requisição antes de qualquer parsing, rejeite eventos cujo timestamp esteja fora de uma janela de tolerância de poucos minutos e responda 2xx rapidamente, enfileirando o trabalho lento em vez de executá-lo ali mesmo, já que um handler lento é indistinguível de um handler quebrado do lado de quem envia.

Um encurtador open source é uma alternativa viável a uma API comercial?

Para uma ferramenta interna single-tenant, sim. O Shlink é a opção mais forte, com licença MIT e genuinamente API-first. Os limites aparecem quando você atende outras pessoas: os slugs são únicos globalmente dentro da instância, e não por domínio, os papéis de chave de API ficam bem aquém de um isolamento multi-tenant de verdade, a geração de QR foi removida na versão 5, não existe faturamento e a manutenção depende de um único mantenedor. O Kutt e o YOURLS estão ainda mais longe de uso multi-tenant.

O que o versionamento de uma API me diz sobre um fornecedor?

Mais do que a maioria das listas de recursos. Um fornecedor que congela uma versão e só entrega mudanças incompatíveis sob um caminho novo está dizendo que a sua integração tem uma vida útil definida. Um fornecedor com API sem versão e um changelog cheio de campos renomeados está dizendo que a manutenção é sua. Pergunte qual é a política de descontinuação, por quanto tempo as versões antigas continuam servidas depois que uma sucessora entra no ar e se existe uma especificação legível por máquina a partir da qual você possa gerar clientes.