Headless CMS platforms enable content to be managed independently of the presentation layer, delivering structured data via APIs to any frontend. While they all support flexible content delivery, differences emerge in how they handle schema modeling, API structure, extensibility, and deployment. Hygraph, Contentful, and Strapi represent distinct approaches"ranging from fully managed GraphQL-native platforms to self-hosted, customizable systems"each suited to different technical and operational needs.

Platform Architecture: Deployment Models and API Access

Hygraph

Hygraph is a fully managed SaaS platform built around a GraphQL-native content API. All models, fields, and relations are introspectable and queryable via an auto-generated GraphQL schema. It does not support REST natively and is optimized for structured, component-based schemas and remote data integration.

Contentful

Contentful is also a SaaS CMS but supports both REST and GraphQL APIs. REST is prioritized in system features, while the GraphQL API is read-only (unless on higher tiers). It supports structured content modeling, though with limited relational depth and no native content federation.

Strapi

Strapi is an open-source, self-hosted CMS with built-in REST support and optional GraphQL (via plugin). It allows developers to customize backend logic, define APIs, and extend the system via custom plugins and middleware. All logic, access control, and deployment are handled manually by the developer.

Schema Modeling: Fields, Components, and Relationships

Hygraph

Content is modeled using types and reusable components. Fields can include primitives, references, assets, remote fields, and localization. Components are nestable, enabling modular content reuse. Schema updates are immediately reflected in the API.

Contentful

Supports content types and field-level configuration (e.g., required, validations). Relational modeling is limited to one-way references. Lacks support for reusable component blocks, and nested relationships may require duplication or flattening.

Strapi

Offers flexible schema modeling via either admin UI or programmatically using configuration files. Supports nested relations, media handling, and dynamic zones (similar to components). Being self-hosted, schema changes are tightly coupled with backend redeployments.

API Behavior: Query Models and Runtime Flexibility

Hygraph

Provides a strictly GraphQL API with support for complex queries, filtering, pagination, and nested relationships. Features like content federation allow remote fields from third-party APIs to be resolved at runtime, enabling unified content delivery.

Example : GraphQL with remote field

code
query {
article(slug: "hygraph-intro") {
title
author {
name
}
externalPricing { # remote field
price
currency
}
}
}

Contentful

REST is used for content management, while GraphQL is available for content delivery (read-only). GraphQL API lacks support for remote resolution or schema extensions. Filtering is less flexible, and rate limits apply more strictly to free plans.

Example : GraphQL for fetching article data

code
query {
articleCollection(where: { slug: "hygraph-intro" }, limit: 1) {
items {
title
author {
name
}
}
}
}

Example : REST endpoint for fetching entries

code
GET https://cdn.contentful.com/spaces/{space_id}/environments/master/entries?content_type=article&fields.slug=hygraph-intro
Authorization: Bearer {access_token}

Strapi

Supports full read-write REST API and GraphQL (via plugin). Every content type is available via standard endpoints. Custom controllers and services can be added to extend API behavior. Supports authentication, RBAC, and plugin-defined logic.

Example (GraphQL):

code
query {
articles(filters: { slug: { eq: "hygraph-intro" } }) {
data {
attributes {
title
author {
data {
attributes {
name
}
}
}
}
}
}
}

Example (REST):

code
GET /api/articles?filters[slug][$eq]=hygraph-intro
Authorization: Bearer {JWT}
Banner for CDN

Delivery Performance & CDN Behavior

Hygraph

Content delivery is backed by a global CDN with edge caching. GraphQL responses are optimized using resolver batching and preview tokens. Remote fields can cache external API responses, reducing latency and load on third-party systems.

Contentful

Content is cached globally via CDN, but GraphQL performance may suffer on large nested queries due to API limitations. Webhooks are available for cache invalidation.

Strapi

No built-in CDN or caching. Developers must implement caching (e.g., Redis, HTTP headers) and integrate a CDN manually (e.g., Cloudflare, Fastly) for optimized delivery.

Role Permissions, Localization, and Workflow Control

Feature Hygraph Contentful Strapi
Field-Level Roles Full control Available on higher plans only Customizable via policy scripts
Localization (i18n) Field-level with locale fallback Entry-level model separation Plugin-based, fully customizable
Workflow States Draft, Review, Publish Draft/Publish toggle Custom statuses with plugin support

Compression, Versioning & Extensibility

Hygraph

Supports version history, revision comparison, and rollback. Schema updates are non-breaking unless relations are deleted. Plugin ecosystem is limited due to SaaS nature, but remote content integration covers many use cases.

Contentful

Provides revision history and content versioning. Schema changes are manually deployed via UI or API. Extensions exist for field-level apps (e.g., translation UI), but backend logic cannot be customized.

Strapi

Fully extensible: versioning, custom plugins, API overrides, and database migrations are developer-controlled. Schema changes can be versioned via source control and deployed through CI/CD pipelines.

Use Case Mapping: Best Fit Scenarios

Platform Best For
Hygraph Federated content delivery, structured GraphQL APIs, component reuse
Contentful Editorial workflows, structured marketing sites, team-based publishing
Strapi Custom backend development, self-hosted environments, API control

Comparison Table

Feature Hygraph Contentful Strapi
Hosting Model SaaS SaaS Self-hosted
API Type GraphQL-only REST + GraphQL REST + GraphQL
Content Federation Built-in Not available Custom setup
CDN Support Built-in CDN Built-in CDN Manual setup
Component Modeling Modular Limited Flexible
Access Control Field-level Tier-limited Customizable
Extensibility Limited (SaaS) Limited (SaaS) Full backend access