Contentful vs Sanity vs Payload: ¿Cuál sobrevive con clientes reales?
Tu cliente aprueba Contentful en marzo. Para agosto, tu equipo de desarrollo está en Slack hablando de arrancarlo. He lanzado builds en producción con Contentful, Sanity y Payload en más de 40 proyectos desde 2022—algunos fueron aplicaciones Next.js nuevas, otros fueron rescates de instalaciones de WordPress sostenidas con cinta adhesiva y plegarias. Cada CMS falló de una manera diferente y costosa. Los límites de API de Contentful colapsaron un lanzamiento de producto a las 6 AM de un martes. La curva de aprendizaje de GROQ de Sanity paralizó a un equipo de marketing durante dos sprints. La factura de hosting autohospedado de Payload sorprendió a un founder en etapa seed que pensaba que "open source" significaba "gratis". Una opción consistentemente causaba menos mensajes de Slack a las 2 AM que las otras.
Este artículo desglosa Contentful, Sanity y Payload CMS en las dimensiones que realmente importan cuando estás construyendo algo real: precios a escala, experiencia del desarrollador en las trincheras, flexibilidad del modelado de contenido, diseño de API, y el flujo de trabajo editorial diario que tu equipo de contenido amará u odiará.
Tabla de Contenidos
- La descripción general de 30 segundos
- Desglose de precios: Qué realmente pagarás
- Experiencia del desarrollador
- Modelado de contenido
- APIs: REST, GraphQL y todo lo demás
- Experiencia editorial
- Hosting propio vs SaaS: Las compensaciones reales
- Rendimiento y escalabilidad
- Ecosistema y comunidad
- El veredicto
- Preguntas frecuentes

La descripción general de 30 segundos
Contentful es el incumbente. Existe desde 2013 y potencia sitios empresariales a escala. Es pulido, confiable y caro.
Sanity es la joya de los desarrolladores con su enfoque de contenido estructurado en tiempo real y estudio personalizable. Es poderoso pero tiene una curva de aprendizaje y un modelo de precios que puede sorprenderte.
Payload es el recién llegado que se ha convertido silenciosamente en un competidor serio. Es open-source, auto hospedado por defecto (con una opción en la nube ahora), escrito en TypeScript, y cobra cero tarifas de licencia. Payload 3.0 se lanzó con una reescritura completa sobre Next.js, y cambió completamente la ecuación.
| Característica | Contentful | Sanity | Payload |
|---|---|---|---|
| Tipo | SaaS | SaaS (estudio auto hospedado) | Open Source / Auto hospedado |
| Lenguaje | N/A (solo API) | JavaScript/React | TypeScript/Next.js |
| Tarifa de licencia | Sí | Sí (basada en uso) | Ninguna (MIT) |
| GraphQL | Sí | Sí (GROQ preferido) | Sí (auto generado) |
| API REST | Sí | Sí | Sí (auto generado) |
| Colaboración en tiempo real | Limitada | Excelente | Buena (2.0+) |
| Auto hospedado | No | Solo estudio | Stack completo |
| Base de datos | Propia | Propia | MongoDB o Postgres |
Desglose de precios: Qué realmente pagarás
Aquí es donde las cosas se ponen reales. Los precios son la razón número uno por la que he visto equipos cambiar de CMS a mitad de proyecto, y es la cosa número uno que la gente subestima durante la evaluación.
Precios de Contentful (2026)
El plan gratuito de Contentful te da 1 espacio, 5 usuarios y 25K llamadas API. Eso está bien para un blog.
El plan Básico comienza en $300/mes y te da más entornos y roles. El plan Premium—que es lo que la mayoría de equipos serios necesitan—tiene precios personalizados pero típicamente comienza alrededor de $2,000-$3,000/mes para organizaciones medianas. He visto contratos empresariales superiores a $80K/año.
La sorpresa: sobrecargos de llamadas API. Contentful cobra por llamadas de API de entrega de contenido, llamadas de API de gestión de contenido y ancho de banda de activos por separado. En un sitio de alto tráfico con 10M+ vistas de página/mes, puedes fácilmente exceder cuotas incluidas. Un cliente con el que trabajé vio su factura mensual saltar de $2,500 a $4,800 después de un lanzamiento de producto viral debido a CDN y sobrecargos de API que no anticiparon.
Precios de Sanity (2026)
Sanity utiliza un modelo basado en uso que llama "pagar según creces". El plan Gratuito incluye 3 usuarios no administradores, 500K solicitudes de API, 20GB de ancho de banda y 10GB de almacenamiento. Generoso para comenzar.
El plan Growth es $15/usuario/mes más sobrecargos de uso. El plan Enterprise tiene precios personalizados.
Aquí está lo de los precios de Sanity que afecta a la gente: las consultas GROQ y las solicitudes de API de CDN se miden, y los costos escalan con la complejidad de tu contenido. Una sola consulta GROQ que recupera contenido profundamente anidado y referenciado puede consumir más de tu cuota de lo que esperarías. Sanity ha mejorado la transparencia aquí, pero aún recomiendo que los equipos configuren alertas de presupuesto temprano.
Costo típico de proyecto mediano: $200-$800/mes dependiendo del tamaño del equipo y tráfico.
Precios de Payload (2026)
Payload está bajo licencia MIT. El CMS en sí cuesta $0. Por siempre. No hay tarifa por usuario, no hay medición de llamadas API, no hay cargos de ancho de banda de Payload.
Tus costos son infraestructura: alojamiento de una aplicación Node.js y una base de datos. En un servicio como Railway, Render o una configuración básica de AWS/DigitalOcean, estás buscando $20-$100/mes para la mayoría de proyectos. Incluso un despliegue a gran escala con Postgres administrado en AWS RDS, una configuración de EC2 o ECS adecuadamente dimensionada, y CloudFront enfrente raramente excede $300-$500/mes—y eso es para tráfico serio.
Payload Cloud (su oferta hospedada) comienza en $50/mes con planes que escalan según almacenamiento y ancho de banda, pero es completamente opcional.
| Escenario | Contentful | Sanity | Payload (auto hospedado) |
|---|---|---|---|
| Desarrollador solo, sitio pequeño | $0 (plan gratuito) | $0 (plan gratuito) | $20-40/mes (alojamiento) |
| Equipo de 5 personas, tráfico medio | $300-500/mes | $200-400/mes | $50-100/mes (alojamiento) |
| Equipo de 10 personas, tráfico alto | $2,000-4,000/mes | $500-1,500/mes | $150-400/mes (alojamiento) |
| Empresa, 50+ editores | $5,000-10,000+/mes | $2,000-5,000/mes | $300-800/mes (alojamiento) |
La historia de precios es inequívoca. Payload gana en costo en cada nivel.
Experiencia del desarrollador
Los precios traen gente a la puerta. La experiencia del desarrollador los mantiene allí—o los aleja.
Experiencia de desarrollo de Contentful
La experiencia de desarrollo de Contentful es... correcta. Su soporte de SDK es amplio (JavaScript, Python, Ruby, Java, Swift, etc.), la documentación es madura, y las APIs REST y GraphQL están bien documentadas.
Pero aquí está lo que me frustra: todo se configura a través de la interfaz web. Tipos de contenido, campos, validaciones—todo es clic-clic-clic en el navegador. Sí, puedes usar el CLI de Contentful y scripts de migración para controlar la versión de tu esquema, pero se siente pegado. No es code-first; es UI-first con una escape hatch de código.
La herramienta de migración ha mejorado con su paquete contentful-migration, pero comparado con definir tu esquema en TypeScript y obtener seguridad de tipo instantánea? Se siente como una generación atrás.
Experiencia de desarrollo de Sanity
La experiencia de desarrollo de Sanity es genuinamente excelente en muchos aspectos. El esquema se define en archivos JavaScript/TypeScript. El estudio es una aplicación React que puedes personalizar extensamente—componentes de entrada personalizados, vistas personalizadas, complementos de flujo de trabajo.
GROQ, su lenguaje de consulta, es poderoso una vez que lo aprendes. Pero "una vez que lo aprendes" está haciendo mucho trabajo pesado en esa oración. GROQ no es SQL. No es GraphQL. Es su propia cosa, y cada nuevo desarrollador en tu equipo necesita aprenderlo. He visto desarrolladores junior luchar con proyecciones GROQ durante semanas.
// Consulta GROQ - poderosa pero sintaxis única
*[_type == "post" && publishedAt < now()] | order(publishedAt desc) [0...10] {
title,
slug,
"author": author->{ name, image },
"categories": categories[]->{ title, slug },
body[] {
...,
_type == "image" => {
"url": asset->url
}
}
}
Las características en tiempo real de Sanity son increíbles. Varios editores trabajando en el mismo documento con indicadores de presencia y sin conflictos de guardado—simplemente funciona. La arquitectura del content lake lo permite de formas que los competidores no pueden.
Experiencia de desarrollo de Payload
Payload 3.0 cambió todo. Construido sobre Next.js, escrito completamente en TypeScript, con tu archivo de config como la única fuente de verdad. Defines colecciones, campos, hooks, control de acceso y puntos finales personalizados todo en código.
Aquí está lo que una colección típica de Payload parece:
import { CollectionConfig } from 'payload'
export const Posts: CollectionConfig = {
slug: 'posts',
admin: {
useAsTitle: 'title',
defaultColumns: ['title', 'status', 'publishedAt'],
},
access: {
read: () => true,
create: ({ req: { user } }) => Boolean(user),
update: ({ req: { user } }) => Boolean(user),
delete: ({ req: { user } }) => user?.role === 'admin',
},
fields: [
{
name: 'title',
type: 'text',
required: true,
},
{
name: 'content',
type: 'richText',
},
{
name: 'author',
type: 'relationship',
relationTo: 'users',
},
{
name: 'status',
type: 'select',
options: ['draft', 'published'],
defaultValue: 'draft',
},
{
name: 'publishedAt',
type: 'date',
admin: {
position: 'sidebar',
},
},
],
hooks: {
beforeChange: [
({ data, operation }) => {
if (operation === 'create') {
data.publishedAt = new Date()
}
return data
},
],
},
}
Todo está tipado. Tu IDE autocompleta nombres de campos. Los hooks te dan control de ciclo de vida. El control de acceso se define como funciones justo al lado de tus campos, no en alguna interfaz de permisos separada. Y porque es solo una aplicación Next.js, puedes agregar páginas personalizadas, rutas de API o acciones de servidor junto a tu código CMS.
Para equipos haciendo desarrollo en Next.js, Payload 3.0 es una obviedad desde una perspectiva de experiencia de desarrollo. Tu CMS y tu frontend viven en el mismo proyecto. Mismo despliegue. Mismo repositorio.

Modelado de contenido
El modelado de contenido es donde te preparas para el éxito o creas una pesadilla con la que vivirás durante años.
Enfoque de Contentful
Contentful utiliza un modelo tradicional tipo de contenido → entrada. Defines tipos de contenido con campos, y los editores crean entradas. Las referencias entre tipos de contenido son explícitas. Funciona bien para estructuras de contenido directas.
Las limitaciones aparecen con texto enriquecido. El campo de texto enriquecido de Contentful almacena contenido como un árbol JSON estructurado, lo cual es excelente para flexibilidad de renderizado, pero modelar diseños de página complejos con componentes anidados requiere uso creativo de entradas incrustadas y referencias. Puede volverse incómodo.
Contentful soporta 50 tipos de contenido en el plan Básico y 100+ en Premium. Para sitios grandes con muchos tipos de contenido, esto puede convertirse en una limitación.
Enfoque de Sanity
El modelado de contenido de Sanity es quizás el más flexible de los tres. Su contenido de bloque (Portable Text) es una especificación abierta para texto enriquecido que almacena contenido como datos estructurados. Puedes definir tipos de bloque personalizados, objetos en línea y anotaciones.
El sistema de esquema soporta tipos de objeto profundamente anidados, campos condicionales y validación personalizada. He construido algunos modelos de contenido genuinamente complejos en Sanity que serían dolorosos en Contentful.
// Esquema de Sanity con personalización de Portable Text
export default {
name: 'post',
type: 'document',
fields: [
{
name: 'body',
type: 'array',
of: [
{ type: 'block',
marks: {
annotations: [
{ name: 'internalLink', type: 'object',
fields: [{ name: 'reference', type: 'reference', to: [{ type: 'post' }] }]
}
]
}
},
{ type: 'image', options: { hotspot: true } },
{ type: 'codeBlock' },
{ type: 'callout' },
]
}
]
}
Enfoque de Payload
El modelado de contenido de Payload se sitúa en algún lugar entre la simplicidad estructurada de Contentful y la flexibilidad sin restricciones de Sanity—pero con la ventaja de estar completamente en TypeScript.
El campo blocks de Payload es particularmente poderoso para construcción de páginas. Defines tipos de bloque, cada uno con sus propios campos, y los editores pueden componer páginas a partir de estos bloques. Combinado con el tipo de campo layout y lógica condicional, puedes modelar casi cualquier cosa.
El sistema de versiones de Payload 3.0 merece mención. Te da flujos de trabajo draft/publish e historial completo de versiones de documento con diffing. Esto está integrado, no es un complemento pagado.
APIs: REST, GraphQL y todo lo demás
APIs de Contentful
Contentful ofrece APIs separadas para entrega (almacenada en CDN, solo lectura), vista previa (no almacenada en caché, contenido borrador), gestión (CRUD) e imágenes. La separación es sensata pero significa que estás malabarismo con múltiples tokens de API y URLs base.
Su API GraphQL es sólida pero tiene limitaciones de profundidad y límites de velocidad que pueden ser frustrantes al modelar contenido profundamente referenciado. Las consultas complejas pueden requerir múltiples viajes.
APIs de Sanity
El lenguaje de consulta principal de Sanity es GROQ, servido sobre HTTP. Ofrecen una API GraphQL, pero se siente como un ciudadano de segunda clase. GROQ es más poderoso para la mayoría de casos de uso de Sanity de todos modos.
La magia real es la API listener en tiempo real de Sanity. Puedes suscribirse a cambios en cualquier consulta y obtener actualizaciones instantáneas. Esto permite experiencias de vista previa en vivo que son genuinamente impresionantes.
APIs de Payload
Payload auto genera APIs REST y GraphQL desde tus configs de colección. Sin configuración adicional. Define una colección, obtén endpoints CRUD completos para REST y GraphQL instantáneamente.
# Consulta GraphQL auto generada
query {
Posts(where: { status: { equals: published } }, sort: "-publishedAt", limit: 10) {
docs {
id
title
content
author {
name
}
publishedAt
}
totalDocs
hasNextPage
}
}
Pero aquí está donde Payload tiene una ventaja única: porque se ejecuta en el mismo proceso que tu aplicación Next.js, puedes omitir la API completamente y usar la API Local de Payload para recuperación de datos del lado del servidor. Consultas de base de datos directas con el mismo control de acceso, hooks y validación—pero sin sobrecarga HTTP.
// API Local - sin HTTP, sin sobrecarga de serialización
const posts = await payload.find({
collection: 'posts',
where: { status: { equals: 'published' } },
sort: '-publishedAt',
limit: 10,
})
Esta es una victoria de rendimiento masiva para páginas renderizadas en el servidor. Sin viaje de red a una API de CMS. Solo una llamada de función.
Experiencia editorial
Los desarrolladores eligen el CMS, pero los editores viven en él diariamente. Ignora su experiencia bajo tu responsabilidad.
Contentful tiene la interfaz editorial más madura. Es limpia, predecible, y tu equipo no técnico la captará rápidamente. La programación, flujos de trabajo y cadenas de aprobación en el plan Premium son sólidas. Sin embargo, puede sentirse rígida—personalizar la interfaz editorial requiere construir una Contentful App, que es una aplicación React completamente separada.
Sanity Studio es la más personalizable. Puedes construir experiencias de edición completamente hechas a medida. Pero esa personalización tiene un costo: fuera de la caja, Sanity Studio puede sentirse abrumadora para editores no técnicos. El constructor de estructura requiere tiempo de desarrollador para configurarse bien.
El panel de administración de Payload ha mejorado dramáticamente en 3.0. Es limpio, rápido (es una aplicación Next.js), y soporta componentes personalizados, renderizado de campos condicionales y vista previa en vivo. No es tan pulido como la interfaz de Contentful, pero es más personalizable con menos esfuerzo que Contentful y más accesible fuera de la caja que Sanity.
Hosting propio vs SaaS: Las compensaciones reales
Esta es la división filosófica. Contentful y Sanity son plataformas SaaS. No administras infraestructura; les pagas para que lo hagan. Payload está auto hospedado por defecto.
El argumento de SaaS: menos sobrecarga de ops, CDN integrado, tiempo de actividad administrado. Estos son beneficios reales, especialmente para equipos pequeños sin experiencia en DevOps.
El argumento auto hospedado: propiedad de datos, sin bloqueo de proveedor, costos predecibles, cumplimiento normativo (GDPR, HIPAA, residencia de datos) y libertad para personalizar cualquier cosa.
Para agencias como la nuestra haciendo desarrollo de CMS headless, el hosting propio se ha convertido en la recomendación para la mayoría de clientes en 2026. Las herramientas de infraestructura han madurado hasta el punto en que desplegar una aplicación Payload en Railway, Vercel o AWS es directo. Docker lo hace reproducible. Y los ahorros de costos sobre un CMS SaaS se componen año tras año.
Si te preocupa la carga de ops, Payload Cloud maneja el hosting para ti mientras mantiene los beneficios de open-source.
Rendimiento y escalabilidad
El API de entrega respaldado por CDN de Contentful es rápido. Los tiempos de respuesta típicos son 50-100ms desde nodos edge. Ha sido probado en batalla a escala durante una década.
El API de CDN de Sanity entrega rendimiento similar para contenido almacenado en caché, con su capa en tiempo real agregando quizás 20-30ms para consultas en vivo.
El rendimiento de Payload depende de tu infraestructura, pero aquí está la cosa—cuando usas la API Local con componentes de servidor Next.js, estás haciendo una llamada de función a una base de datos local. Los tiempos de respuesta pueden ser menores a 10ms. Agrega un CDN enfrente de tu salida Next.js (Vercel, CloudFront, etc.) y estás igualando o superando las opciones SaaS.
Para proyectos basados en Astro, los tres funcionan bien como fuentes de API, pero las APIs REST y GraphQL de Payload son particularmente directas de consumir en la capa de recuperación de datos de Astro.
Ecosistema y comunidad
Contentful tiene el ecosistema empresarial más grande. Toneladas de integraciones, un mercado de apps, y apoyo de agencias generalizado.
Sanity tiene una comunidad de desarrolladores apasionada, documentación excelente, y un ecosistema de complementos en crecimiento. Su Slack comunitario es genuinamente útil.
Payload tiene la comunidad de más rápido crecimiento de los tres. Su Discord es extremadamente activo, con el equipo principal respondiendo a preguntas regularmente. El ecosistema de complementos es más pequeño pero crece rápidamente—y porque Payload es solo Node.js/TypeScript, puedes npm install lo que necesites.
El GitHub de Payload tiene más de 30K estrellas a principios de 2026 y la trayectoria es pronunciada.
El veredicto
Seré directo: Payload es el mejor CMS headless para la mayoría de proyectos en 2026.
Aquí está por qué:
- Cero tarifas de licencia en cualquier escala. Tu equipo empresarial de 50 editores no le paga a Payload nada.
- Config nativa en TypeScript significa que tu modelo de contenido es código, versionado, type-safe, y revisable en PRs.
- API Local + integración Next.js te da rendimiento que los CMS SaaS físicamente no pueden alcanzar.
- Propiedad de datos—tu contenido vive en tu base de datos, no en el almacén de propiedad de otro.
- Sin bloqueo de proveedor—si quieres cambiar, tu contenido está en Postgres o MongoDB. Solo consulta.
Hay escenarios donde los otros ganan:
- Elige Contentful si eres una gran empresa con un equipo de contenido establecido que necesita una experiencia editorial pulida, sin ops, y tiene el presupuesto.
- Elige Sanity si la colaboración en tiempo real es crítica para tu flujo de trabajo, necesitas el texto enriquecido sin precedentes de Portable Text, o estás construyendo una experiencia de estudio altamente personalizada.
- Elige Payload para todo lo demás. Startups, agencias, empresas medianas, equipos dirigidos por desarrolladores, industrias reguladas que necesitan control de datos, y cualquiera que no quiera despertarse a una factura sorpresa.
Si estás evaluando un CMS headless para un nuevo proyecto y quieres hablar a través de los detalles específicos, estamos felices de ayudar. Hemos lanzado proyectos Payload, Sanity y Contentful en producción y podemos darte consejo honesto basado en tus requisitos reales y presupuesto.
Preguntas frecuentes
¿Es Payload CMS realmente gratis? Sí. Payload es software open-source bajo licencia MIT. No hay tarifas de licencia, sin cargos por usuario, y sin límites de llamadas API de Payload. Tus únicos costos son infraestructura de hosting (servidor y base de datos), que típicamente corre $20-$500/mes dependiendo de escala. Payload Cloud está disponible como una opción hospedada pagada si prefieres no gestionar infraestructura.
¿Puede Sanity ser auto hospedado? Parcialmente. Sanity Studio (la interfaz de administración) es una aplicación React que puedes desplegar en cualquier lugar. Sin embargo, el content lake—donde viven tus datos reales—es un servicio hospedado administrado por Sanity. No puedes auto hospedar la capa de datos. Esto significa que tu contenido siempre vive en la infraestructura de Sanity, lo cual puede ser una preocupación para residencia de datos o requisitos de cumplimiento.
¿Cuál CMS headless tiene el mejor soporte GraphQL? Contentful y Payload ofrecen ambos APIs GraphQL fuertes. Payload auto genera su esquema GraphQL directamente desde tus configs de colección, lo cual significa cero mantenimiento manual de esquema. El API GraphQL de Contentful es maduro y bien documentado. Sanity ofrece GraphQL pero prefiere GROQ como su lenguaje de consulta principal, y su implementación GraphQL no soporta todas las características de GROQ.
¿Vale la pena Contentful el precio en 2026? Para grandes empresas con operaciones de contenido complejas, flujos de trabajo existentes de Contentful, y equipos que valoran un enfoque SaaS sin manos—sí, puede valer la pena. Para equipos pequeños a medianos, el costo es cada vez más difícil de justificar cuando Payload ofrece funcionalidad comparable (y en algunos aspectos superior) a una fracción del precio. Hemos visto múltiples clientes migrar lejos de Contentful específicamente debido al costo.
¿Cómo Payload CMS maneja la optimización de imágenes? Payload tiene redimensionamiento de imagen integrado y recorte de punto focal. Cuando subes una imagen, Payload puede generar múltiples tamaños automáticamente basado en tu config. En Payload 3.0 con Next.js, puedes combinar esto con optimización de imagen Next.js para servicio responsivo, WebP/AVIF. No es tan rico en características como el API de imagen de Contentful (que ofrece transformaciones basadas en URL), pero cubre el 90% de casos de uso sin un servicio de terceros.
¿Puedo migrar de Contentful a Payload? Sí. Dado que Payload usa bases de datos estándar (Postgres o MongoDB), la migración implica exportar tu contenido de Contentful vía su Management API e importarlo en colecciones de Payload. La traducción del modelado de contenido de tipos de contenido de Contentful a colecciones de Payload es usualmente directa. Hemos manejado varias de estas migraciones—la parte más complicada es típicamente la conversión de texto enriquecido, no los datos estructurados.
¿Cuál CMS es mejor para editores no técnicos? Contentful tiene la experiencia editorial más intuitiva fuera de la caja para usuarios no técnicos. El panel de administración de Payload es un segundo cercano y está mejorando rápidamente. Sanity Studio puede ser el mejor de los tres si un desarrollador invierte tiempo personalizándolo, pero la experiencia por defecto tiene una curva de aprendizaje más pronunciada para editores.
¿Funciona Payload CMS con frameworks distintos a Next.js? Absolutamente. Mientras que Payload 3.0 usa Next.js como su framework de interfaz de administración, las APIs REST y GraphQL funcionan con cualquier frontend—Astro, Nuxt, SvelteKit, Remix, o incluso aplicaciones móviles. La API Local es específica de Next.js, pero las APIs externas no tienen dependencias de framework. Regularmente emparejamos Payload con Next.js y Astro dependiendo de requisitos de proyecto.