This blog post describes techniques that you can use to retrieve data from a headless Content Management System (CMS).
Content delivery for headless Content Management Systems consists of HTTPS service endpoints for which the CMS vendor provides CDN or other caching services around three types of data.
- Content types define the fields that make up types of entries.
- Entries store values for the fields defined by their content types.
- Media entries store metadata about media and references to their binary components.
Each entry references a content type and may reference some number of media and other entries.
Content delivery service endpoints expose content type and entry data including metadata for media assets. Media delivery service endpoints expose the binary portion of media assets. You may be able to add query string parameters to the URLs of images and other files or otherwise control server-side manipulations such as sizing and optimizing before caching.
All techniques for retrieving data from headless Content Management Systems depend on the underlying content delivery HTTPS service endpoints provided by the CMS vendor.
- You can use the CMS user interface, which renders published content and may include content export features.
- You can use scripts or other tools provided by the CMS vendor.
- You can use SDKs provided by the CMS vendor that provide native APIs that wrap the content delivery service endpoints.
- You can call the service endpoints provided by the CMS vendor directly from the technology of your choice.
Regardless of which technique you use, you will receive the data in a format defined by the vendor, typically JSON.
Different CMS vendor provide different options for retrieving content.
- Content Delivery APIs are standard but can be verbose.
- GraphQL supports JSON queries and responses in vendor-specific formats that are more efficient than but inconsistent with other Content Delivery APIs.
- Synchronization APIs allow an application to retrieve a batch of data and subsequently poll for updates.
- Webhooks allow the CMS to pass data to other systems when events occur in the CMS.
Accessing data depends on vendor-specific access credentials.
If you know more about retrieving content from headless CMS systems, please comment on this blog post.