# Ghost vs Strapi > Strapi scores 65.7 (B) on agent readiness against Ghost's 58.3 (C), and leads in 4 of 7 scored categories. Both do cms content. Category scores, facts, verdicts and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/ghost-vs-strapi - Markdown: https://www.anchorterminal.com/compare/ghost-vs-strapi.md (~2,100 tokens) - Slim: https://www.anchorterminal.com/compare/ghost-vs-strapi.min.md (~580 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/ghost-vs-strapi.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-08 Strapi scores 65.7 (B) on agent readiness against Ghost's 58.3 (C), and leads in 4 of 7 scored categories. Both do cms content. - Ghost: grade C, 58.3/100, rank #455 of 722. Markdown https://www.anchorterminal.com/tools/ghost.md · JSON https://www.anchorterminal.com/api/v1/tools/ghost.json - Strapi: grade B, 65.7/100, rank #252 of 722. Markdown https://www.anchorterminal.com/tools/strapi.md · JSON https://www.anchorterminal.com/api/v1/tools/strapi.json ## Which one, for what ### Ghost (C) Good for: A publication, blog or newsletter where an agent drafts posts and a person or a higher role publishes. Watch for: No OpenAPI or other machine-readable description of the Admin API was found in the docs or the repository ### Strapi (B) Good for: Teams that want to own their CMS and let an agent draft, localise and publish entries under a narrow token. Ahead on: - Schema & documentation, 80 against 51 - Security & auth, 66 against 56 Watch for: Content History keeps no version for REST, GraphQL or MCP writes, and exists only on Growth and Enterprise plans ## Score by category | Category | Weight | Ghost | Strapi | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 80 | 82 | Strapi +2 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 51 | 80 | Strapi +29 | | Agent ergonomics | 13% (16.2 this run) | 69 | 65 | Ghost +4 | | Security & auth | 14% (17.5 this run) | 56 | 66 | Strapi +10 | | Payments & pricing | 10% (12.5 this run) | 50 | 50 | even | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 85 | 87 | Strapi +2 | | Transparency & trust | 7% (8.8 this run) | 72 | 72 | even | | Negative events | ≤15 | -7 | -6 | | | **Total** | | **58.3 · C** | **65.7 · B** | | ## Facts side by side | Fact | Ghost | Strapi | | --- | --- | --- | | Kind | HTTP API | HTTP API | | Vendor | Ghost Foundation | Strapi, Inc. | | Hosted endpoint | no (local only) | no (local only) | | Transports | HTTP | HTTP, Streamable HTTP | | Auth | API key | API key | | Pricing | Freemium | Freemium | | x402 | no | no | | Licence | MIT, copyright Ghost Foundation. Ghost(Pro) is a paid hosting service under the Ghost Foundation's terms | MIT for the Community Edition. Code under ee/ directories is under Strapi's Enterprise Edition licence, and Strapi Cloud is a paid service under its own terms | | Read-only variant documented | no | no | | llms.txt | yes | yes | | Last release | 2026-10-07 | 2026-10-07 | | Terms last updated | no date given | 2026-10-07 | | Privacy policy last updated | no date given | 2023-03-01 | | Customer content may train models | not found in the text | not found in the text | | Terms restrict automated access | yes | yes | | Terms restrict benchmarking | not found in the text | yes | | Terms or service can change without notice | not found in the text | yes | | Arbitration or class-action waiver | not found in the text | yes | | Popularity | 56k stars, 24k npm/wk | 73k stars, 259k npm/wk | ## Verdicts **Ghost.** A create needs only a title, updates are checked against `updated_at` so a stale write is refused, and a Contributor's staff token can draft without being able to publish. The Admin API has no OpenAPI file and one fixed permission set per integration, and 20 security advisories were published between 3 September and 1 October 2026. **Strapi.** The built-in MCP server shows an agent only the tools, fields and locales its Admin token permits, and content tools create drafts by default. Rollback is the limit. Content History is a paid feature and records admin panel edits only, so API and MCP writes leave no version to restore, and the MCP server can't upload files. ## Before you call either ### Ghost 1. Sign a fresh HS256 token for each batch of calls. Decode the hex secret to bytes, set `kid` to the key id, `aud` to `/admin/` and `exp` at most 5 minutes ahead 2. Set `status` to `draft` on every create unless told to publish, and publish later with a PUT that sets `status` to `published` 3. GET the post before each PUT and send its `updated_at` back. Tags and authors in a PUT replace the existing lists 4. Send content as a Lexical JSON string, or add `?source=html` and send `html`. The HTML conversion is lossy unless wrapped in an HTML card 5. Page through lists with `limit` up to 100 and `page`. Since Ghost 6.0 `limit=all` returns 100 items without an error ### Strapi 1. Pass `status=draft` on every REST POST and PUT. Without it the Content API publishes the entry at once 2. Use an Admin token for `/mcp` and admin routes and an API token for `/api`. Each kind is rejected on the other's routes 3. Upload files with multipart POST to `/api/upload` first, then reference the returned file id in the entry. MCP tools can't upload 4. Call `media_delete_assets` and `media_delete_folder` without `dryRun` first to preview, and take asset ids only from `media_list_assets` 5. Keep your own copy of an entry before updating it. API and MCP writes create no Content History version ## Questions ### Which is better for AI agents, Ghost or Strapi? Strapi scores 65.7 (B) on agent readiness against Ghost's 58.3 (C), and leads in 4 of 7 scored categories. ### Do Ghost and Strapi need an API key? Both need an API key. ### Can an agent call Ghost and Strapi without installing anything? No hosted endpoint is listed for Ghost. No hosted endpoint is listed for Strapi. ### Are Ghost and Strapi open source? Yes. Ghost is open source (MIT, copyright Ghost Foundation. Ghost(Pro) is a paid hosting service under the Ghost Foundation's terms). Strapi is open source (MIT for the Community Edition. Code under ee/ directories is under Strapi's Enterprise Edition licence, and Strapi Cloud is a paid service under its own terms). ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/ghost-vs-strapi.json, and with the fewest tokens: https://www.anchorterminal.com/compare/ghost-vs-strapi.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "ghost", "b": "strapi"}`. From a terminal: `anchor compare ghost strapi` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/ghost.json and https://www.anchorterminal.com/api/v1/tools/strapi.json ## Other comparisons with Ghost or Strapi - [Contentstack vs Ghost](https://www.anchorterminal.com/compare/contentstack-vs-ghost.md) - [Contentstack vs Strapi](https://www.anchorterminal.com/compare/contentstack-vs-strapi.md) - [DatoCMS vs Ghost](https://www.anchorterminal.com/compare/datocms-vs-ghost.md) - [DatoCMS vs Strapi](https://www.anchorterminal.com/compare/datocms-vs-strapi.md) - [Directus vs Ghost](https://www.anchorterminal.com/compare/directus-vs-ghost.md) - [Directus vs Strapi](https://www.anchorterminal.com/compare/directus-vs-strapi.md) - [Ghost vs Payload](https://www.anchorterminal.com/compare/ghost-vs-payload.md) - [Ghost vs Sanity](https://www.anchorterminal.com/compare/ghost-vs-sanity.md) - [Ghost vs Storyblok](https://www.anchorterminal.com/compare/ghost-vs-storyblok.md) - [Ghost vs Webflow](https://www.anchorterminal.com/compare/ghost-vs-webflow.md) - [Ghost vs WordPress](https://www.anchorterminal.com/compare/ghost-vs-wordpress.md) - [Payload vs Strapi](https://www.anchorterminal.com/compare/payload-vs-strapi.md) - [Sanity vs Strapi](https://www.anchorterminal.com/compare/sanity-vs-strapi.md) - [Storyblok vs Strapi](https://www.anchorterminal.com/compare/storyblok-vs-strapi.md) - [Strapi vs Webflow](https://www.anchorterminal.com/compare/strapi-vs-webflow.md) - [Strapi vs WordPress](https://www.anchorterminal.com/compare/strapi-vs-wordpress.md)