Resend ou Postmark: qual é melhor para desenvolver e quanto custa cada um?

Por Mara Levin · Atualizado em 7 de outubro de 2026 · Preços e documentação conferidos nesse dia

Os dois são serviços de e-mail transacional pensados para desenvolvedores, com APIs REST enxutas. O Resend pende para templates em React, webhooks assinados e envios idempotentes. O Postmark pende para a separação de streams, um histórico de mensagens mais longo e uma escada de planos que começa em 10.000 e-mails.

A resposta curta

Escolha o Resend se a sua stack é TypeScript ou React, se você quer chaves de idempotência e webhooks assinados sem trabalho extra e se o seu volume fica entre 3.000 e 100.000 e-mails, faixa em que os planos de US$ 0, US$ 20 e US$ 90 são baratos. Escolha o Postmark se você valoriza streams de mensagens explícitos, 45 dias de histórico por padrão e processamento de e-mails recebidos nos planos mais altos, e aceita proteger os webhooks com Basic Auth e lista de IPs. Com 50.000 e-mails, o Pro do Resend custa US$ 20 e o Basic do Postmark, US$ 55; já com 10.000 e-mails a conta se inverte a favor do Postmark.

Quanto você paga em quatro volumes

E-mails por mês Resend Postmark
3.000Free: US$ 0 (3.000 e-mails, 100 por dia)O Free cobre 100 e-mails por mês; o menor plano pago é o Basic, US$ 15 para 10.000
10.000Pro: US$ 20 (o Free para em 3.000)Basic: US$ 15
50.000Pro: US$ 20Basic US$ 55, Pro US$ 60,50, Platform US$ 66 (leitura do controle deslizante)
100.000 a 125.000Pro US$ 35 e Scale US$ 90 em 100.000 (leitura do controle deslizante); sem parada lida em 125.000, e o Scale marca US$ 160 em 200.000Sem parada em 100.000; em 125.000, Basic US$ 115, Pro US$ 126,50, Platform US$ 138 (leitura do controle deslizante)

Os números do Resend vêm da página de preços, e do controle deslizante dela, que mostra o Pro a US$ 35 para 100.000 e-mails por mês (lido em 7 de outubro de 2026); o excedente por 1.000 e-mails que aparece nos cartões não serve para estender o preço de um plano até um volume que o controle não mostra. Os do Postmark são o que o controle deslizante da página de preços mostrava em 7 de outubro de 2026. Valores em dólares americanos; a conversão e eventuais impostos ficam por sua conta.

Lendo a diferença de custo sem otimismo demais

Os preços menores do Resend vêm com limites que merecem leitura. O plano Free trava o envio em 100 e-mails por dia, então 3.000 por mês só funcionam se você espalhar os disparos; um pico no dia do lançamento bateria no teto. A página mostra o excedente como uma configuração pay-as-you-go que você ativa nas opções de uso, e descreve apenas cobrança mensal, sem desconto anual. O Pro inclui 10 domínios e 5 endpoints de webhook, e o Scale sobe para 1.000 domínios e 10 endpoints, com um canal dedicado no Slack. Em 100.000 e-mails o controle deslizante mostra o Pro a US$ 35 e o Scale a US$ 90, então o Scale compensa pelos extras, não pelo volume.

A escada do Postmark sobe em recursos, não só em tamanho. O Basic custa US$ 15 com 10.000 e-mails, 5 domínios de envio e retenção de 45 dias. O Pro acrescenta processamento de e-mails recebidos, até 10 domínios e uma janela de retenção configurável de até 365 dias. O Platform tem domínios e usuários ilimitados. A página lista o excedente a US$ 1,80, US$ 1,30 e US$ 1,20 por 1.000 e-mails nos três planos. O Resend informa 30 dias de retenção de dados no Free, no Pro e no Scale; se você precisa de uma janela maior do que essa, pese a retenção configurável do Postmark contra a diferença de preço.

Página de preços do Resend, capturada em outubro de 2026
Resend pricing page as of Oct 7, 2026. Source: https://resend.com/pricing
Página de preços do Postmark, capturada em outubro de 2026
Postmark pricing page as of Oct 7, 2026. Source: https://postmarkapp.com/pricing

O primeiro envio, lado a lado

O caminho mais curto no Resend passa por um template publicado: você o cria no painel, publica, e depois informa o ID e as variáveis. Este é o exemplo em Node.js da documentação de templates do Resend:

import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

await resend.emails.send({
  from: 'Acme <onboarding@resend.dev>',
  to: 'delivered@resend.dev',
  template: {
    id: 'order-confirmation',
    variables: {
      PRODUCT: 'Vintage Macintosh',
      PRICE: 499,
    },
  },
});

O remetente resend.dev e o destinatário delivered@resend.dev permitem testar a chamada antes de verificar um domínio. As variáveis do template aceitam apenas letras ASCII, números e sublinhado, e quatro nomes são reservados: FIRST_NAME, LAST_NAME, EMAIL e UNSUBSCRIBE_URL. Com um template informado, você não pode enviar também html, text ou react, e uma variável ausente faz a chamada falhar com erro de validação em vez de entregar uma mensagem pela metade.

O envio simples do Postmark exige menos preparo, mas é mais rígido com a identidade. Com o ServerClient mostrado na documentação de envio, uma mensagem fica assim:

const result = await postmark.sendEmail({
  From: "sender@acme.example",
  To: "customer@example.com",
  Subject: "Hello from Postmark",
  TextBody: "Hello from Postmark!",
  HtmlBody: "<html><body><strong>Hello</strong> from Postmark!</body></html>",
  MessageStream: "outbound",
});

console.log({ messageId: result.MessageID });

O endereço em From precisa pertencer a uma assinatura de remetente confirmada, senão o Postmark responde com 422. A documentação também descreve um modo de teste: ao passar POSTMARK_API_TEST como token do servidor, o Postmark valida a requisição sem entregar nada. Cada servidor do Postmark tem o próprio token, de modo que as credenciais de um aplicativo não abrem os dados de outro.

React Email e templates

O SDK de Node.js do Resend recebe uma propriedade react, como no guia para Next.js, em que um componente EmailTemplate vai direto para emails.send. A página de preços lista o React Email entre os recursos de envio, e o React Email é de código aberto em react.email. Na documentação do Postmark que li não aparece um parâmetro equivalente: ele aceita HTML, texto simples ou um template salvo, endereçado por TemplateAlias e preenchido por um TemplateModel, e a tabela de preços cita um editor de templates com ferramenta de importação. Com o Postmark você renderiza os componentes React para HTML antes, o que é fácil, mas é uma etapa a mais. Escolher a biblioteca de componentes é outra decisão; veja MJML vs React Email, React Email vs Maizzle e o guia para desenvolvedores React.

Idempotência e reenvios

A referência de envio do Resend documenta o cabeçalho Idempotency-Key: o Resend guarda a chave por 24 horas e a usa para não enviar o mesmo e-mail duas vezes, o que protege você quando um worker estoura o tempo e tenta de novo. A documentação de envio do Postmark que consultei não descreve algo equivalente; com ele, o registro do que já foi enviado é seu, por exemplo indexado pelo pedido ou pelo evento do usuário. O exemplo de webhook do próprio Postmark segue a mesma lógica para eventos recebidos: guarda cada MessageID e responde "duplicate" quando ele reaparece. Se os seus jobs tentam de novo com insistência, esse é um custo de projeto real de um dos lados. A página Loops vs Resend mostra a opção do Resend em um exemplo de código.

Webhooks, assinatura e recebimento

O Resend cria e gerencia webhooks pelo painel, pela API, pelo SDK ou pela CLI, e dá a cada endpoint um segredo de assinatura. A documentação manda verificar as requisições com o SDK ou com as bibliotecas da Svix, e cobre como reenviar um evento que o seu endpoint perdeu e como escutar eventos localmente durante o desenvolvimento. A quantidade de endpoints segue o plano: 1 no Free, 5 no Pro, 10 no Scale. A documentação do Postmark diz com todas as letras que ele não assina webhooks e recomenda HTTP Basic Auth na URL mais uma lista de IPs permitidos; ao salvar um webhook, ele testa cada tipo de evento habilitado e espera um 200.

O recebimento de e-mails existe nos dois. O Resend aceita mensagens em um domínio verificado ou em um endereço <id>.resend.app, avisa por webhook e permite buscar o conteúdo completo e os anexos. O Postmark transforma o e-mail recebido em um objeto JSON enviado à sua URL, e a página de preços lista o processamento de e-mails recebidos nos planos Pro e Platform.

Streams, domínios e IPs

O campo MessageStream do Postmark direciona cada mensagem para o lado transacional ou para o de broadcast, e a página de streams afirma que os dois usam faixas de IP separadas. A documentação do Resend lista Broadcasts, Contacts e Automations ao lado do envio, e a página de preços inclui 10.000 execuções de automação no Free, depois US$ 0,0015 por execução se você ativar o pay-as-you-go. Os domínios também diferem: o Resend dá 3, 10 e 1.000 no Free, no Pro e no Scale, e vende mais 100 por US$ 20 por mês. Um IP dedicado custa US$ 30 por mês no Resend, para clientes do Scale acima de 3.000 e-mails por dia, e a partir de US$ 50 por mês por IP no Postmark, para quem envia 300.000 por mês ou mais no Pro ou acima.

Escolha o Resend se …

  • o seu time escreve React ou TypeScript e quer templates, chaves de idempotência e webhooks assinados sem bibliotecas extras.
  • você envia menos de 100.000 e-mails por mês e quer um preço de plano que continue fixo enquanto o volume sobe de 3.000 para 50.000.
  • você quer começar de graça e só verificar um domínio quando estiver pronto.

Escolha o Postmark se …

  • você quer infraestrutura transacional e de broadcast separadas, escolhidas mensagem a mensagem, e 45 dias de histórico desde o início.
  • processamento de e-mails recebidos e retenção configurável pesam mais do que o menor valor mensal.
  • você se sente à vontade para proteger os endpoints de webhook por conta própria e registrar os eventos no seu banco.

Migrando de um para o outro

Comece pelo DNS: autentique o novo domínio de envio e mantenha o antigo fornecedor ativo enquanto a reputação se forma. Refaça os templates em seguida, porque o Resend recebe valores em um objeto variables (a documentação usa nomes em maiúsculas, como PRODUCT) e o Postmark lê um TemplateModel. Depois mude o tratamento dos webhooks, acrescentando a verificação de assinatura ao ir para o Resend ou Basic Auth e regras de IP ao ir para o Postmark. Importe as supressões antes de enviar qualquer coisa. Se você também considera o SendGrid, leia Postmark vs SendGrid; para quem compra APIs de e-mail, a página e-mail API-first resume a lista mais ampla.

Perguntas frequentes

Qual é mais barato, Resend ou Postmark?

Depende do volume. Com 3.000 e-mails por mês o plano Free do Resend custa zero, enquanto o menor plano pago do Postmark começa em US$ 15 para 10.000. Com 10.000 e-mails o Postmark Basic (US$ 15) sai abaixo do Resend Pro (US$ 20). A partir de 50.000, o Resend Pro a US$ 20 fica bem abaixo dos US$ 55 do Postmark Basic, e o controle deslizante do Resend mostra o Pro a US$ 35 para 100.000 e-mails, enquanto o Postmark não tem parada em 100.000 e marca US$ 115 no Basic em 125.000. Não li uma parada do Resend em 125.000, então compare os dois controles com o seu volume. Os planos incluem coisas diferentes, então compare também domínios, retenção e suporte.

O Postmark tem chave de idempotência como o Resend?

Na documentação de envio do Postmark que li não há chave de idempotência; o exemplo de tratamento de webhooks evita duplicatas guardando o MessageID no seu próprio banco. O Resend documenta o cabeçalho Idempotency-Key, exposto no SDK como opção, e diz que a chave expira em 24 horas. Se a sua fila reenvia tarefas que falharam, com o Postmark você precisa de um registro próprio dos envios.

Posso usar componentes do React Email nos dois?

O SDK de Node.js do Resend aceita o parâmetro react, e a página de preços cita o React Email entre os recursos de envio. O Postmark recebe HTML, texto ou um template salvo, então você renderiza os componentes para HTML no seu código antes de enviar. O React Email em si é de código aberto em react.email e não depende de nenhum dos dois.

Qual deles deixa os webhooks mais seguros?

O Resend assina as requisições de webhook e documenta a verificação com o SDK ou com as bibliotecas da Svix. O Postmark afirma que não assina webhooks; a recomendação é proteger a URL com Basic Auth e lista de IPs permitidos e tratar o conteúdo como não confiável até validá-lo. Para quem tem um checklist de segurança rígido, essa é a diferença mais nítida entre os dois.

Os dados ficam no Brasil? Preciso me preocupar com a LGPD?

As páginas de preço e a documentação que consultei não prometem hospedagem no Brasil para nenhum dos dois. Antes de enviar dados de clientes brasileiros, confirme com cada fornecedor onde os dados são processados e se existe um contrato de tratamento de dados que atenda ao seu caso. Quem decide se isso basta é o seu encarregado de dados ou o seu jurídico; esta comparação não substitui orientação legal.