Blog/Resend vs SendGrid vs Sendkit: cómo elegir el API de email correcto
·10 min de lectura·
Vanessa LozzardoVanessa Lozzardo

Resend vs SendGrid vs Sendkit: cómo elegir el API de email correcto

Comparamos Resend, SendGrid y Sendkit en diseño de API, precios, entregabilidad y experiencia del desarrollador para ayudarte a decidir.

ComparaciónAPI de EmailResendSendGrid
Resend vs SendGrid vs Sendkit: cómo elegir el API de email correcto

Elegir un API de email parece que debería ser sencillo. Envías peticiones HTTP, los emails salen, listo. Pero después de conectar la integración y desplegar a producción, las diferencias entre proveedores empiezan a aparecer de formas difíciles de revertir: precios que escalan mal, funciones ausentes que te obligan a contratar una segunda plataforma, o peculiaridades del API que frenan a tu equipo.

He pasado tiempo construyendo con Resend, SendGrid y Sendkit. Esta es una mirada honesta a dónde encaja cada uno y dónde se queda corto.

La versión corta

Si quieres la respuesta rápida antes de entrar en detalles:

  • Resend es genial para desarrolladores que solo necesitan email transaccional y aman las APIs limpias y modernas.
  • SendGrid es la apuesta empresarial segura con el conjunto de funciones más amplio, pero viene con complejidad y precios por contacto que duelen al escalar.
  • Sendkit está en el medio: API limpia como Resend, pero con campañas, automatizaciones, contactos y validación de email integrados. Sin tarifas por contacto.

Ese es el resumen. El resto del post es la evidencia.

Diseño de API

El diseño de API importa más de lo que la gente reconoce. Vas a estar leyendo estos docs a las 11 de la noche cuando algo se rompa, y una mala ergonomía te costará tiempo cada vez.

Resend

Resend tiene el API más limpio de los tres. Es mínimo, bien documentado y claramente inspirado en la filosofía de diseño de Stripe. Enviar un email se ve así:

import { Resend } from 'resend';

const resend = new Resend('re_123456');

const send = async () => {
  const { data, error } = await resend.emails.send({
    from: '[email protected]',
    to: '[email protected]',
    subject: 'Welcome aboard',
    html: '<p>Thanks for signing up.</p>',
  });
};

Simple. El SDK devuelve { data, error } en lugar de lanzar excepciones, lo cual prefiero sobre try/catch en la mayoría de los flujos de envío. La desventaja: Resend solo hace email transaccional. Sin campañas, sin gestión de contactos. Si los necesitas después, tendrás que añadir un segundo proveedor.

SendGrid

El API de SendGrid existe desde 2009 y se nota. El API v3 es funcional pero verboso. Aquí está el mismo envío:

import sgMail from '@sendgrid/mail';

sgMail.setApiKey('SG.xxxx');

const send = async () => {
  await sgMail.send({
    to: '[email protected]',
    from: '[email protected]',
    subject: 'Welcome aboard',
    html: '<p>Thanks for signing up.</p>',
  });
};

No es terrible, pero el SDK muestra su edad. El array personalizations para envíos en lote es notoriamente confuso, y los docs mezclan ejemplos de v2 y v3 de formas que te harán perder tiempo. SendGrid también tiene APIs separadas para marketing vs. transaccional, lo que significa dos modelos mentales.

Sendkit

El API de Sendkit toma las partes buenas del diseño de Resend (JSON entra, JSON sale, respuestas predecibles) y añade las funciones que le faltan a Resend:

import { Sendkit } from '@sendkitdev/sdk';

const sendkit = new Sendkit('sk_live_your_api_key');

const send = async () => {
  const { data, error } = await sendkit.emails.send({
    from: '[email protected]',
    to: '[email protected]',
    subject: 'Welcome aboard',
    html: '<p>Thanks for signing up.</p>',
  });
};

El API de email cubre envíos transaccionales, envíos en lote, plantillas con sintaxis Handlebars y parseo de email entrante. Tienes SDKs para Node.js, Python, PHP, Ruby, Go, Laravel, .NET, Java, Elixir y Rust. Más cobertura de lenguajes que Resend o SendGrid.

Evaluando opciones de API de email para tu proyecto

Precios

Los precios son por donde la mayoría debería empezar esta comparación, honestamente. La opción más barata en 5,000 emails/mes podría ser la más cara en 100,000.

Resend SendGrid Sendkit
Plan gratuito 3,000 emails/mes, 1 dominio 100 emails/día 3,000 emails/mes, 1 dominio
10K emails/mes $20/mes $19.95/mes (Essentials) $15/mes
50K emails/mes $80/mes $19.95/mes (Essentials) $65/mes
100K emails/mes $80/mes $34.95/mes (Essentials, hasta 100K) $85/mes
Almacén de contactos N/A (sin contactos) Cobrado por contacto Ilimitado, todos los planes
Email de marketing No disponible Plan separado, tarifa por contacto Incluido desde $30/mes
Sobreuso Bloquea envíos Varía según el plan $1 por cada 1,000 emails

El precio por contacto en SendGrid es lo que muerde a la gente. Puedes estar pagando $19.95/mes por envíos, y luego descubrir que el almacenamiento de tu lista de contactos cuesta más que los propios envíos. He hablado con fundadores que no se dieron cuenta de esto hasta que recibieron la factura.

Resend es directo en precios pero solo cubre email transaccional. Si necesitas campañas de marketing, estás pagando por Resend más Mailchimp o ConvertKit. Esos costos se suman rápido.

Sendkit cobra por volumen, no por contactos. Puedes almacenar contactos ilimitados en cada plan. La página de precios tiene una calculadora si quieres números exactos para tu volumen.

Funciones más allá del envío

Los tres pueden enviar un email. La pregunta real es qué más necesitas junto a eso.

Función Resend SendGrid Sendkit
API Transaccional
Relay SMTP No
Campañas de marketing No Sí (producto separado) Sí (integrado)
Automatizaciones No Sí (solo plan Marketing)
Gestión de contactos No Sí (tarifa por contacto) Sí (ilimitado)
Validación de email No Sí (add-on de pago) Sí (integrado)
Pruebas A/B No
Editor drag-and-drop No
Parseo de email entrante No
Firma de webhooks Sí (SendGrid lo llama "Event Webhook Verification") Sí (HMAC-SHA256)

Resend está enfocado intencionalmente en email transaccional. Es una decisión válida, y si sabes que nunca necesitarás campañas o automatizaciones, Resend es excelente en lo que hace. Pero la mayoría de los productos eventualmente necesita enviar email de marketing también, y entonces acabas manejando dos proveedores.

SendGrid tiene todo, pero está repartido en múltiples productos con facturación y APIs separadas. El lado de marketing usa una infraestructura de envío distinta a la del lado transaccional. Cambiar entre ambos es chocante.

Sendkit pone transaccional, campañas, automatizaciones, contactos y validación de email bajo un solo API y una sola factura. El relay SMTP funciona con Nodemailer, PHPMailer, o lo que ya estés usando. No tienes que elegir entre "herramienta de desarrollo" y "herramienta de marketing" porque es ambas.

Experiencia del desarrollador

La DX es subjetiva, así que me voy a quedar con los detalles específicos.

Documentación

Los docs de Resend son limpios y bien organizados. Son cortos porque la superficie del API es pequeña. Los docs de SendGrid son extensos pero desorganizados. Encontrar el ejemplo correcto para tu caso de uso puede tomar un rato, y te toparás con referencias desactualizadas a v2. Los docs de Sendkit en docs.sendkit.dev cubren todo el API con ejemplos de código para cada lenguaje soportado.

SDKs

Resend soporta JavaScript/TypeScript, Python, Go, Ruby, PHP, Java y Elixir. SendGrid soporta la mayoría de los lenguajes principales pero algunos SDKs se sienten abandonados (revisa las fechas del último commit). Sendkit cubre Node.js, Python, PHP, Ruby, Go, Laravel, .NET, Java, Elixir y Rust. Los SDKs de Rust y Elixir merecen mención porque pocos proveedores de email se molestan con esos ecosistemas.

Soporte SMTP

Resend no ofrece SMTP. Si tu app ya usa SMTP (Rails ActionMailer, Laravel Mail, el backend de email de Django), tendrás que reescribir tu capa de envío para usar su API HTTP. SendGrid y Sendkit ofrecen SMTP como opción plug and play:

// Sendkit SMTP con Nodemailer
import nodemailer from 'nodemailer';

const transport = nodemailer.createTransport({
  host: 'smtp.sendkit.com',
  port: 587,
  auth: {
    user: 'sendkit',
    pass: 'sk_live_your_api_key',
  },
});

const send = async () => {
  await transport.sendMail({
    from: '[email protected]',
    to: '[email protected]',
    subject: 'Your order shipped',
    text: 'Tracking number: 1Z999AA10123456784',
  });
};

Sigues obteniendo tracking de aperturas/clics y eventos de webhook a través de SMTP. Algunos proveedores quitan esas funciones de los envíos SMTP, lo que es frustrante cuando estás migrando desde un setup API-first.

Escribiendo código de integración para APIs de email

Entregabilidad

Ninguno de estos proveedores va a arreglar mágicamente problemas de entregabilidad causados por mala higiene de listas o contenido spam. Pero la infraestructura importa.

Los tres soportan autenticación DKIM, SPF y DMARC. Los tres manejan bounces y quejas automáticamente (en distintos grados).

SendGrid tiene el historial más largo aquí. Llevan más de 15 años gestionando reputaciones de remitentes a escala. Sus pools de IPs compartidas son grandes y bien mantenidos. Las IPs dedicadas están disponibles en planes de nivel superior.

Resend es más nuevo. Usan Amazon SES por debajo, que tiene un historial sólido. Pero aún no ofrecen IPs dedicadas, lo que importa si estás enviando alto volumen y quieres control total sobre tu reputación como remitente.

Sendkit ofrece IPs dedicadas a partir del nivel de 100K emails/mes. Corren su propia infraestructura (no un wrapper sobre SES), manejan el procesamiento de bounces y los loops de quejas automáticamente, y mantienen listas de supresión dinámicas. La validación de email integrada captura direcciones incorrectas antes de que dañen tu reputación, algo que ni Resend ni SendGrid incluyen por defecto.

La respuesta honesta sobre entregabilidad: en volúmenes típicos de startup (menos de 100K/mes), los tres entregarán tu email bien si tu DNS está configurado correctamente y no estás enviando spam. Las diferencias aparecen en volúmenes más altos o cuando tienes una reputación de remitente mixta.

Cuándo elegir cada uno

Resend tiene sentido si estás construyendo un producto que solo envía email transaccional y quieres el API más limpio posible. Hace una cosa y la hace bien. Solo ten en cuenta que "solo transaccional" suele ser un estado temporal para la mayoría de los productos.

SendGrid es la decisión correcta si estás en una empresa que necesita un proveedor con un historial largo, o tu equipo de compliance quiere un nombre que reconozca. Funciona. Solo es más complejo de lo que debería ser, y los precios se ponen raros cuando factorizas el almacenamiento de contactos.

Sendkit es lo que recomendaría si quieres una plataforma para email transaccional y de marketing sin pagar por contacto. El API es limpio, la cobertura de SDKs es amplia, y no lo vas a superar en seis meses como podrías superar un proveedor solo-transaccional.

La pregunta de la migración

Cambiar de proveedor de email a mitad de proyecto es molesto pero no catastrófico. El cambio real del API toma uno o dos días. Las partes más difíciles son los cambios de DNS (actualizar los registros SPF/DKIM, calentar una nueva IP) y migrar las plantillas.

Si empiezas desde cero, tienes el lujo de elegir una vez. Mi sugerencia: piensa en lo que vas a necesitar en 12 meses, no solo hoy. Muchos equipos eligen Resend o SES puro para su MVP, y luego pasan un sprint migrando a algo con más funciones seis meses después. Está bien si lo planeas. Menos bien si te agarra desprevenido.

Si tienes curiosidad por Sendkit específicamente, los docs son el mejor lugar para empezar. El plan gratuito te da 3,000 emails/mes sin tarjeta de crédito, suficiente para probar una integración real antes de comprometerte.

Compartir este artículo