GatherContent Review and Features

Written by Thom Krupa

Last update: 6/11/2024

What is GatherContent?

GatherContent started in 2012. Created by ex-founders of a digital agency who knew the pain of running and maintaining content-heavy projects. It offers quite a unique way of organizing content. It looks a bit like a folder structure, each folder can represent a different part of your company. One folder for a blog. Another for job list, etc.

Is GatherContent a headless CMS?

It's been a full monolithic CMS until recently. GatherContent launched a basic Rest API. You can fetch and create Items, Templates, Structures, and Folders. Last year we had a chance to work together with the GatherContent team on a gatsby-source-gathercontent plugin. It enables easy integration with Gatsby and gives you a GraphQL version of the API.

[@portabletext/react] Unknown block type "newPdfPage", specify a component for it in the `components.types` prop

User Interface

GatherContent's Content dashboard looks similar to an OS file browsing app. On the left is a sidebar with Folders and Subfolders. And on the right is a list of all items.

You have access to your Files & Media:

And here is how the Hierarchy page looks like:

Apart from the main Content tab, there is Structure tab you can define fields for every template you create. Each item needs to have a template set up:

Editing Content

Editing view looks very clean, all you can see are tabs and fields inside every tab. Those are configurable via structure settings.

[@portabletext/react] Unknown block type "video", specify a component for it in the `components.types` prop


GatherContent allows you to set up a basic workflow that is helpful especially when a lot of people work on a piece of content. You can set multiple steps before content goes live. On each step, you can leave a note and mention someone from your team.

Once the content is live, you can lock its editing to make sure no one does changes by accident.


You can import data to GatherContent from a spreadsheet file (CSV, XLSX, XLS or ODS). You can seamlessly connect it to other CMS, currently, a few are supported out-of-the-box - WordPress, Kentico, Craft, and many others.


You can create a webhook in GatherContent that will be triggered on every event. That's a bit tricky if you want to rebuild a Jamstack project only on selected actions like publishing or deleting. There will be information about event names in the webhook's payload, but if you want to filter out some actions before you trigger building you need a middleware between GatherContent and CI/CD, for example, a cloud function.

[@portabletext/react] Unknown block type "newPdfPage", specify a component for it in the `components.types` prop

GatherContent Pricing

GatherContent doesn't offer a free plan at all. That might be a bummer. There is not even a developer plan which is very popular for testing purposes. All you have for testing is a free 14-days trial.

There are 3 options to upgrade:

[@portabletext/react] Unknown block type "newPdfPage", specify a component for it in the `components.types` prop

GatherContent Pros and Cons

GatherContent is a great CMS for large content teams when you don't need a lot of customization. It doesn't offer custom field types like a color picker. You won't build dynamic layouts. But if you have thousands of posts and other content formats across dozens of people, GatherContent will do the job.

[@portabletext/react] Unknown block type "prosCons", specify a component for it in the `components.types` prop