Contentful Vs Prismic Vs Sanity: A 2019 Free Headless CMS Comparison


Content-as-a-Service: Free Headless CMS
How to manage your digital content in a hosted backend and make it accessible to your frontend via a RESTful API for free using a Headless Content Management System such as Contentful, Prismic and Sanity.io

Contentful: Intuitive Authoring and Generous Free Usage Limits

Contentful provides you with a content infrastructure that lets you build without any limitations, code in any language and use your favorite tools and frameworks to build a better digital product.

Features

  • To integrate it to your app, a collection of APIs are made available to give you full programmatic control over content and assets such as the Content Delivery API and the Content Management API.

  • You can access from the website a toolbox that allows you to:

    • Model your content by creating custom content types, picking and choosing individual fields, applying custom field validation (characters count limits, etc.) and arranging entries in flexible hierarchies.
    • Create, publish and edit your content using a rich editor interface that supports a complete set of data types such as text, markdown, location, dates, collections, JSON snippets, and more.
    • Upload and publish your assets.
  • To help you getting started faster and to be more productive, different SDKs (client libraries), tutorials, demos, sample apps and integrations are provided for many languages and platforms such as JavaScript, PHP, .NET, Ruby, iOS, Android, Java, Python.

  • Multi-language publishing.

  • Custom content management roles & permissions.

  • Webhooks and easy continuous integration and deployment pipelines.

Free usage limits

  • Requests that hit the CDN cache: unlimited
  • 78 requests per second
  • 280800 requests per hour
  • 2M request per month
  • Asset Bandwidth: 750 GB
  • 2 Environments (master + sandbox)
  • 1 Role
  • 2 Locales
  • 24 Content types
  • 5,000 Records (entries and assets)

References


Contentful - Create content type
Get started by creating a new content type
Contentful - Add new field
Add fields to the content type
Contentful - Custom field validation
Validation rules can be defined by configuring a field
Contentful - Content editor
Rich editor interface used to create and edit content
Contentful - content APIs
Content APIs overview
Contentful - Webhook Templates
Webhook Templates
Contentful - Space usage
Space usage
Contentful - Organization usage
Organization usage

Prismic: Modern Editor and Advanced Release Management

Prismic.io allows you to manage and push content painlessly to your web apps and native apps by providing a modern authoring experience and a highly flexible API.

Features

  • A Visual Custom Type Builder that supports drag and drop rich text fields, geopoints, images, color fields, relational fields and more.

  • Scheduling and previews with release management and automated publication.

  • Revision history to keep track of every modification and visualize the change details, the change dates and the authors.

  • Full localization support and a translation workflow for your marketing & translation teams.

  • Define reusable custom components with Content Slices.

  • To help you quickstart your projects, handle caching, preview and A/B testing easily, various libraries and tools are provided for many languages such as JavaScript, PHP, Ruby, Java, .NET, and frameworks such as Node.js, React, Vue.js and Laravel. More project starters and samples are available for more platforms and can be found in the Prismic github page.

  • Webhooks can be set up for various events such as document publication and edition.

Free usage limits

  • 100GB/month Bandwidth usage (including API and asset delivery)
  • 1 User

References


Prismic - Create a new custom type
Create a new custom type: can be repeatable or single
Prismic - Available field types
Drag 'n drop a field into the editor to create it
Prismic - Create new field
Define the new field name and id
Prismic - Scheduling and previews
Release management
Prismic - Revision history
Revision history
Prismic - Localization and multilanguage
Localization and multilanguage support
Prismic API
Languages and frameworks with first-class support

Sanity.io: Customizable Content Editor and a Feature Rich CLI

With Sanity, your content is treated as structured data and is made available through a simple and powerful API. You can edit it collaboratively and freely decide later how and where it will be distributed and used.

Features

  • Hosted Backend: A secure, optimized and fully managed data store:

    • The data can be accessed either by using one of the client libraries or directly via HTTP.
    • The content is stored and transmitted as JSON documents.
    • The documents are optionally subject to a specified JavaScript schema.
    • The data is encrypted at rest and in transit and APIs are TLS / SSL only.
    • The performance is enhanced with load-balancing, caching and a Global CDN.
    • The Graph Oriented Query Language can be used to retrieve the exact fields you need from the backend, joining together information from several sets of documents if necessary.
    • Your Frontends and tools can be notified whenever content is changed either using realtime listeners or via webhooks where the changes are submitted as HTTP requests to a custom URL.
  • Content Studio: An open source, customizable and real-time content editing environment:

    • To use Content Studio, it must first be built using the command line before launching it locally. It can then be deployed to a service hosted by Sanity.
    • To edit your content, a Rich Text Editor is provided based on the Portable Text specification.
    • Validation rules can be defined on your document types and fields.
  • Assets can be stored, transformed and deleted either via an UI, or using an API. Images can optionally be resized, cropped and processed by the image pipeline.

  • A Command Line Interface that makes it easy to create new projects and set up, import and tear down datasets.

  • To jump start development, Sanity provides front-end project samples for Vue.js, React/Next.js and more. Client libraries are also available for JavaScript and PHP.

Free usage limits

  • 3 Users
  • 2 Datasets
  • 500k API CDN Requests per month
  • 100k API Requests per month
  • 5GB Assets
  • 10GB Bandwidth per month
  • 10k Documents

References


Sanity.io - Getting started after log in
After the first log in, you are invited to get started
Sanity.io - init log in
Get started by executing in the CLI: sanity init
Sanity.io - init project name, dataset name and visibility
Define your project name, dataset name and the visibility
Sanity.io - init project template
Select a project template
Sanity.io - init project
Your project will be initialized
Sanity.io - Project initialized
After the initialization, the project will be displayed from the manage page
Sanity.io - Content Studio start
Launch content studio locally by executing: sanity start
Sanity.io - Content Studio usage
Open http://localhost:3333 to start editing with Content Studio
Sanity.io - Content Studio deploy
Deploy Content Studio by executing: sanity deploy
Sanity.io - Project page
Resource usage and project settings are available in the project page