If you're building a decoupled site — a Next.js front-end, a mobile app, an Astro static build — you need a CMS that speaks over an API, not one that renders HTML and calls it a day. The phrase you'll search is "CMS with REST API," and the results mix genuine API-first tools with traditional CMSes that bolted an API on later. The difference matters. Here's what a real REST API CMS looks like in 2026 and which options deliver.
## TL;DR
A CMS with a REST API serves your content as JSON so any front-end can consume it. The best options are API-first by design: Strapi (REST + GraphQL, Node), Directus (REST + GraphQL over SQL, Node), and UnfoldCMS (REST at `/api/v1`, PHP, runs on cheap hosting). WordPress has a REST API too, but it's a traditional CMS with an API added. Pick by language, hosting, and whether you also need GraphQL.
## What "CMS with REST API" should actually mean
Search results lump two different things together:
1. **API-first (headless) CMS** — built to serve content over an API. The admin and the API are the whole product; there's no built-in front-end rendering. Strapi, Directus, Contentful.
2. **Traditional CMS with a REST API** — renders its own HTML but also exposes an API you can call. WordPress is the classic example.
For a true decoupled build, you usually want the first kind (or a hybrid that does both well). A bolted-on API often has gaps — inconsistent endpoints, auth that wasn't designed for external use, or performance that assumed server-side rendering.
## What a good REST API gives you
Before comparing tools, know what to look for:
- **Consistent, versioned endpoints.** `/api/v1/posts`, `/api/v1/posts/{slug}` — predictable, and versioned so upgrades don't break your front-end.
- **Read endpoints without auth** for public content, with sensible rate limiting.
- **Token auth** (like Sanctum or JWT) for protected or write operations.
- **Pagination, filtering, and search** built in.
- **Related data** — categories, media, menus — reachable without a dozen round trips.
- **Webhooks** so your front-end rebuilds when content changes.
A CMS that ticks these is genuinely API-first, not API-flavored.
## The options
### Strapi — the headless standard
Strapi is the most-adopted open-source headless CMS. It gives you REST *and* GraphQL out of the box, a content-type builder, role-based access, and a big plugin ecosystem. If you want the most complete API surface and don't mind running Node, it's the default pick.
**Runtime:** Node.js — a long-running server, a database, ~2GB RAM. Not shared-hosting friendly.
**API:** REST + GraphQL.
### Directus — database-first API
Directus wraps an existing SQL database and generates a REST and GraphQL API plus an admin. If you already have a database or want your content to stay as plain SQL rows, it's a strong API-first choice.
**Runtime:** Node.js.
**API:** REST + GraphQL.
**More:** see [best Directus alternatives](/blog/best-directus-alternatives-2026) if its admin feels heavy.
### UnfoldCMS — REST API on cheap PHP hosting
UnfoldCMS ships a versioned REST API at `/api/v1` covering posts, pages, categories, search, menus, and public settings, with Sanctum token auth for protected and write operations and [outgoing HMAC-signed webhooks](/blog/cms-webhooks-trigger-frontend-rebuilds) to trigger front-end rebuilds. The difference from the Node options: it's PHP, so it runs on the same $5/month shared hosting as WordPress — no long-running Node process, no Docker.
**Runtime:** PHP/Laravel — shared-hosting friendly, synchronous scheduling.
**API:** REST only — **no GraphQL**. If your front-end is built around a GraphQL client, that's a real limitation; if REST is fine, it covers the common headless needs. More in [API-first CMS: REST vs GraphQL](/blog/api-first-cms-rest-vs-graphql).
### WordPress — traditional CMS with a REST API
WordPress exposes a REST API, and plenty of teams use it headless. It works, and the ecosystem is huge. But it's a traditional CMS with an API added, not an API-first design — expect some rough edges around auth and consistency for pure-headless use.
**Runtime:** PHP, shared-hosting friendly.
**API:** REST (WP REST API).
## Comparison
| CMS | Runtime | API | Shared hosting | GraphQL | Best for |
|-----|---------|-----|----------------|---------|----------|
| **Strapi** | Node.js | REST + GraphQL | No | Yes | Full API surface, plugins |
| **Directus** | Node.js | REST + GraphQL | No | Yes | Database-first API |
| **UnfoldCMS** | PHP | REST (`/api/v1`) | Yes | No | REST + cheap hosting |
| **WordPress** | PHP | REST | Yes | Via plugin | Ecosystem, familiar |
## A quick look at the UnfoldCMS API
To make it concrete, fetching published posts is a plain GET:
```
GET https://your-site.com/api/v1/posts
GET https://your-site.com/api/v1/posts/my-post-slug
GET https://your-site.com/api/v1/categories
GET https://your-site.com/api/v1/search?q=headless
```
Public read endpoints need no auth (rate-limited at 60/min); protected and write operations use a Sanctum bearer token. Your Next.js or Astro front-end fetches JSON and renders it — the CMS never touches your markup.
## How to choose
- **You want the most complete API (REST + GraphQL) and run Node** → Strapi.
- **You want an API over an existing SQL database** → Directus.
- **You want a REST API on cheap PHP hosting with no Node server** → UnfoldCMS.
- **You need GraphQL** → Strapi or Directus, not UnfoldCMS.
- **You're already deep in the WordPress ecosystem** → WordPress REST API.
## FAQ
### What is a CMS with a REST API?
It's a content management system that serves your content as JSON over HTTP endpoints, so any front-end — a React app, a mobile app, a static site — can fetch and display it. This decouples content management from presentation, which is the core idea of a headless CMS.
### Which CMS has the best REST API?
For completeness, Strapi and Directus lead — both offer REST and GraphQL with filtering, auth, and webhooks. For a REST API that runs on cheap PHP shared hosting without a Node server, UnfoldCMS's `/api/v1` is a strong, simpler option. Pick based on whether you need GraphQL and what hosting you want.
### Does WordPress have a REST API?
Yes, WordPress ships a REST API and can be used headless. It's capable and widely used, but WordPress is a traditional CMS with an API added rather than an API-first design, so expect some rough edges around authentication and endpoint consistency compared to purpose-built headless tools.
### Do I need REST or GraphQL?
REST is simpler and enough for most content sites — fetch a post, a list, a category. GraphQL shines when you need to fetch deeply nested, related data in one request and want the client to shape the response. If you're unsure, REST is the safe default; choose GraphQL when you have a specific need for it. UnfoldCMS is REST-only; Strapi and Directus offer both.
### Can a REST API CMS run on cheap hosting?
The PHP ones can. UnfoldCMS and WordPress run on standard $5/month shared hosting because they don't need a long-running Node process. Strapi and Directus are Node apps that require a host keeping a process alive and more RAM, so they cost more to run.
## The bottom line
"CMS with a REST API" spans genuine API-first tools and traditional CMSes with an API bolted on. For a real decoupled build, favor the API-first options: Strapi and Directus give you the fullest surface (REST + GraphQL) if you run Node, and UnfoldCMS gives you a clean versioned REST API on cheap PHP hosting if REST is enough. WordPress works if you're already invested there. Match the API to your front-end's needs — and don't pay for a GraphQL you'll never query.
Free & Open Source
Own your CMS. No subscriptions.
Unfold CMS is free to download and self-host. Built on Laravel + React, full source code included.