Head to head · Cms content · October 2026 research run

DatoCMS vs Storyblok

DatoCMS scores 74.4 (BB) on agent readiness against Storyblok's 67.7 (B), and leads in 4 of 7 scored categories. Both do cms content.

Which one, for what

DatoCMS BB

Good for Teams on DatoCMS who want an agent to create, translate and publish records, upload assets or change models, testing first in a sandbox environment.

Ahead on

  • Schema & documentation, 85 against 68

Also in its favour

  • Agent-ready, a grade of BB or better
  • No incidents deducted, where Storyblok loses 3 points for them

Watch for

No idempotency keys in the reviewed documentation. Safe retries rest on optimistic locking and the JavaScript client's automatic retry

Storyblok B

Good for Teams already on Storyblok who want an agent to draft, translate and publish stories or change component schemas under scoped, per-space permissions.

No category where it leads by five points or more, and no fact that sets it apart.

Watch for

The Management API's OpenAPI spec sits in a private repository. Only the Content Delivery API has a public spec (OpenAPI 3.1, 14 operations)

Score by category

CategoryWeight this runDatoCMSStoryblokEdge
Reliability16%208079DatoCMS +1
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28568DatoCMS +17
Agent ergonomics13%16.27878even
Security & auth14%17.57773DatoCMS +4
Payments & pricing10%12.53535even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88180DatoCMS +1
Transparency & trust7%8.88080even
Negative events≤150-3
Total74.4 · BB67.7 · B

Facts side by side

FactDatoCMSStoryblok
KindHTTP APIHTTP API
VendorDato SrlStoryblok GmbH
Hosted endpointhttps://site-api.datocms.comhttps://mapi.storyblok.com/v1
TransportsHTTP, Streamable HTTPHTTP, Streamable HTTP
AuthOAuth or keyOAuth or key
PricingFreemiumFreemium
x402nono
LicenceProprietary service under Dato Srl's terms of service. The API clients in datocms/js-rest-api-clients and the CLI in datocms/cli are MITProprietary service under Storyblok's terms. The SDKs, API clients and CLI in storyblok/monoblok are MIT
Tools exposed97
Read-only variant documentedyesno
llms.txtyesyes
Last release2026-10-012026-10-02
Terms last updatedcouldn't be readcouldn't be read
Privacy policy last updatedcouldn't be read2025-10-06
Customer content may train modelscouldn't be readcouldn't be read
Terms restrict automated accesscouldn't be readcouldn't be read
Terms restrict benchmarkingcouldn't be readcouldn't be read
Terms or service can change without noticecouldn't be readcouldn't be read
Arbitration or class-action waivercouldn't be readcouldn't be read
Popularity153k npm/wk68 stars, 433k npm/wk

Verdicts

DatoCMS

The Content Management API publishes a JSON Hyper-Schema for 202 operations, 100 documented error codes and rate-limit headers, and the hosted MCP server adds OAuth with three access levels. There are no idempotency keys, the only official client library is JavaScript, audit logs are Enterprise only, and prices are in euros with no machine payment route.

Storyblok

The hosted MCP server covers the whole Management API with seven tools, OAuth scopes split into read, write and publish per space, and a confirmation step on deletes. The Management API has no public OpenAPI spec, no idempotency keys and no monitor on the public status page, and publishing is a GET request.

Before you call either

DatoCMS

  1. Send X-Api-Version: 3 and Accept: application/json on every request, with Content-Type: application/vnd.api+json on writes
  2. Records are items, models are item_types and assets are uploads in every path and payload
  3. Save a record, then call the publish endpoint as a separate PUT. Send meta.current_version on updates and re-fetch on STALE_ITEM_VERSION
  4. Stay under 60 requests every 3 seconds. On 429 wait the seconds in x-ratelimit-reset, and retry any error whose body has transient set to true
  5. Fork a sandbox environment for schema changes and promote it when checked. Use POST /items/validate to test a payload without saving it

Storyblok

  1. Pick the base URL by the space's region (mapi.storyblok.com for the EU, api-us, api-ca or api-ap otherwise). A token sent to the wrong region fails
  2. Create stories without publish to keep them as drafts, then call the publish endpoint. It is a GET, so never prefetch or blindly retry it
  3. Write translations as field__i18n__<code> keys inside the same content object, and set the component field to translatable first
  4. Upload an asset in three steps (signed response, POST to S3, finish upload). Through MCP the S3 step needs shell access for curl
  5. Stay under 3 calls a second on Starter and 6 on paid plans, and back off exponentially on 429. Saves that break a field's max_length return 422

Questions

Which is better for AI agents, DatoCMS or Storyblok?

DatoCMS scores 74.4 (BB) on agent readiness against Storyblok's 67.7 (B), and leads in 4 of 7 scored categories.

Do DatoCMS and Storyblok need an API key?

Both take an API key or an OAuth sign-in.

Can an agent call DatoCMS and Storyblok without installing anything?

Yes. DatoCMS has a hosted endpoint at https://site-api.datocms.com and Storyblok at https://mapi.storyblok.com/v1.

Other comparisons with DatoCMS or Storyblok

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.