Skip to content

Self-hosted alternatives to Contentful

Contentful is a hosted, API-first headless CMS where teams model structured content and deliver it to websites and apps through REST and GraphQL APIs. One listed app does its main job and runs in your own Cloudflare account.

Each answer comes from the app’s README and source code, compared with the features Contentful describes on its own site.

  • Payload admin panel editing a page with live preview

    Headless CMS with an admin panel, where developers define content in code and editors publish, running on Workers with D1 and R2

    Deploy
    One-click
    License
    MIT
    GitHub stars
    45.4k stars
    Last commit

Contentful features, app by app

FeaturePayload
Structured content modelingYes
Content delivery, preview and management APIsYes
GraphQL APIPartly
Localization with fallbacksYes
Scheduled and bulk publishingPartly
Roles, permissions and workflowsPartly
Media assetsPartly
App framework and integrations marketplacePartly

Headless CMS with an admin panel, where developers define content in code and editors publish, running on Workers with D1 and R2

What a Contentful user would miss
There is no visual content modeler or marketplace of hosted apps, image resizing is off on Workers, and GraphQL is not guaranteed there.
What it adds
The content model, access rules and hooks live in your own code and repository, and the data stays in your own D1 database and R2 bucket.
  • Yes Structured content modeling. Collections and fields defined in payload.config.ts, without a visual modeler.
  • Yes Content delivery, preview and management APIs. REST API and a Local API for reading and writing; drafts can be previewed.
  • Partly GraphQL API. GraphQL is built in, but support on Workers is not guaranteed.
  • Yes Localization with fallbacks. Field-level localization with a fallback locale.
  • Partly Scheduled and bulk publishing. Drafts and versions per document; scheduled publishing needs Payload’s jobs queue, which the template does not set up.
  • Partly Roles, permissions and workflows. Access control functions per collection and field, without a built-in approval workflow.
  • Partly Media assets. Uploads stored in R2; image resizing and cropping are off on Workers.
  • Partly App framework and integrations marketplace. Plugins and custom admin components, without a marketplace of hosted apps.

Sources:payloadcms.compayloadcms.com/docsgithub.com/payloadcms/payload/tree/3.x/templates/with-cloudflare-d1workersnative.directory/api/apps/payload