{
  "data": {
    "a": {
      "slug": "datocms",
      "name": "DatoCMS",
      "vendor": "Dato Srl",
      "vendorUrl": "https://www.datocms.com",
      "kind": "http-api",
      "category": "cms",
      "summary": "DatoCMS is a hosted headless CMS from Dato Srl in Milan. Agents write records, assets, locales and schema through the REST Content Management API, the `datocms` CLI or a hosted MCP server, and read through a GraphQL Content Delivery API.",
      "url": "https://www.anchorterminal.com/tools/datocms",
      "markdownUrl": "https://www.anchorterminal.com/tools/datocms.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/datocms.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/datocms.json",
      "repo": "https://github.com/datocms/js-rest-api-clients",
      "license": "Proprietary service under Dato Srl's terms of service. The API clients in datocms/js-rest-api-clients and the CLI in datocms/cli are MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://site-api.datocms.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@datocms/cma-client-node"
        },
        {
          "registry": "npm",
          "name": "@datocms/cma-client"
        },
        {
          "registry": "npm",
          "name": "datocms"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. The Content Management API takes an API token as a Bearer header. A person creates the token in the project's settings and binds it to a role, which limits it by model, action and environment. Every project starts with a read-only token, and tokens can be rotated by API. The hosted MCP server uses browser OAuth through oauth.datocms.com with PKCE and dynamic client registration, where the person picks projects and one of three access levels. Accounts on single sign-on can't use the MCP server. No app review or sales approval is needed.",
      "pricing": "freemium",
      "pricingNotes": "The Free plan needs no card and includes 25,000 Content Management API calls a month, 300 records and three sandbox environments, with no overage. Professional is €199 a month, or €149 a month billed yearly, with 100,000 management API calls and €9 per extra 100,000. Enterprise is sold through sales. Prices are in euros only (https://www.datocms.com/pricing, checked 2026-10-08).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Content Management API docs, the MCP server docs or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 9,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 152666,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.datocms.com/docs/content-management-api",
      "llmsTxt": "https://www.datocms.com/llms.txt",
      "capabilities": [
        "cms.content",
        "cms.publish",
        "cms.assets",
        "cms.localisation",
        "cms.schema"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "oauth",
        "closed-source",
        "no-card",
        "free-tier",
        "llms-txt",
        "webhooks",
        "typescript",
        "cli",
        "graphql",
        "status-page",
        "iso27001"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 74.4,
        "grade": "BB",
        "agentReady": true,
        "rank": 70,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 81,
          "payments": 35,
          "reliability": 80,
          "schema": 85,
          "security": 77,
          "transparency": 80
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Teams on DatoCMS who want an agent to create, translate and publish records, upload assets or change models, testing first in a sandbox environment.",
        "strengths": [
          "Machine-readable JSON Hyper-Schema at `https://site-api.datocms.com/docs/site-api-hyperschema.json` covering 53 resources and 202 operations, with 656 examples",
          "Error bodies carry one of 100 documented codes, a `doc_url` and a `transient` flag, and 429 responses carry `x-ratelimit-reset`",
          "API tokens bind to custom roles by model, action and environment, and every project starts with a read-only token",
          "Hosted MCP server with OAuth (PKCE, dynamic client registration, revocation), per-project selection and a read-only level enforced at the network layer",
          "Free plan with no card, 25,000 Content Management API calls a month and three sandbox environments for testing changes away from the primary"
        ],
        "weaknesses": [
          "No idempotency keys in the reviewed documentation. Safe retries rest on optimistic locking and the JavaScript client's automatic retry",
          "The only official client library is JavaScript and TypeScript. No Python, Go, PHP or Ruby client appears in the documentation index",
          "Audit logs are an Enterprise feature with a default retention of two months",
          "A database upgrade on 19 September 2026 put every project in read-only mode for about four hours, over an hour past its announced window",
          "The terms let Dato Srl modify or discontinue API access with or without notice, and free projects are suspended for the rest of the month at a quota limit"
        ],
        "agentNotes": [
          "Send `X-Api-Version: 3` and `Accept: application/json` on every request, with `Content-Type: application/vnd.api+json` on writes",
          "Records are `items`, models are `item_types` and assets are `uploads` in every path and payload",
          "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`",
          "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",
          "Fork a sandbox environment for schema changes and promote it when checked. Use `POST /items/validate` to test a payload without saving it"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 74.4
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 81,
          "payments": 35,
          "reliability": 80,
          "schema": 85,
          "security": 77,
          "transparency": 65
        },
        "provenanceScore": 94
      },
      "connect": {
        "install": "npm install @datocms/cma-client-node",
        "http": "curl \\\n  -H 'Authorization: Bearer \u003cYOUR-API-TOKEN\u003e' \\\n  -H 'Accept: application/json' \\\n  -H 'X-Api-Version: 3' \\\n  https://site-api.datocms.com/site",
        "claudeCode": "claude mcp add --transport http DatoCMS https://mcp.datocms.com",
        "config": {
          "mcpServers": {
            "DatoCMS": {
              "type": "http",
              "url": "https://mcp.datocms.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/cms.content",
        "tool": "https://letme.dev/datocms"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "Dato Srl",
        "domain": "datocms.com",
        "domainRegistered": "2016-03-18",
        "endpointOnVendorDomain": true,
        "terms": "https://www.datocms.com/legal/terms",
        "privacy": "https://www.datocms.com/legal/privacy-policy",
        "statusPage": "https://status.datocms.com",
        "changelog": "https://www.datocms.com/product-updates",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service and the privacy policy name DATO SRL, Via U. Visconti di Modrone 2, 20122 Milano, Italy. The terms cover every plan except Enterprise, which has a separate agreement we did not find published.",
          "The Content Management API answers at site-api.datocms.com, the MCP server at mcp.datocms.com and the OAuth server at oauth.datocms.com.",
          "www.datocms.com/.well-known/security.txt gives security@datocms.com, a PGP key and the security policy page, and has no Expires field.",
          "The privacy policy carries no revision date in the Markdown copy we read. The GDPR page was last updated on 3 June 2026 and the security page on 2 September 2025.",
          "RDAP for datocms.com gives a registration date of 2016-03-18.",
          "The status page is the vendor's own, with a static mirror at status2.datocms.com and RSS, Atom and JSON history feeds. No data processing agreement was found on the legal pages."
        ],
        "score": 94
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/datocms.json",
      "live": {
        "slug": "datocms",
        "probe": {
          "target": "https://site-api.datocms.com",
          "method": "get",
          "lastAt": "2026-10-09T09:26:47.827752961Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 63,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 59,
          "p95ms24h": 92,
          "samples24h": 151,
          "samples30d": 151,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 101,
              "ok": 101
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.datocms.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:57:47.034267357Z"
        },
        "updatedAt": "2026-10-09T09:26:47.827752961Z"
      }
    },
    "answer": "DatoCMS scores 74.4 (BB) on agent readiness against Prismic's 61.9 (C), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "prismic",
      "name": "Prismic",
      "vendor": "Prismic.io Inc.",
      "vendorUrl": "https://prismic.io",
      "kind": "http-api",
      "category": "cms",
      "summary": "Prismic is a hosted headless CMS and page builder. Agents write to it through the official hosted MCP server (16 tools that stage changes in releases) or the Migration, Asset and Types APIs with a write token.",
      "url": "https://www.anchorterminal.com/tools/prismic",
      "markdownUrl": "https://www.anchorterminal.com/tools/prismic.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/prismic.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/prismic.json",
      "repo": "https://github.com/prismicio/prismic-client",
      "license": "Proprietary service under Prismic's Master Services Agreement. The JavaScript clients, the CLI and the agent skill on GitHub are Apache-2.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.prismic.io/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@prismicio/client"
        },
        {
          "registry": "npm",
          "name": "@prismicio/migrate"
        },
        {
          "registry": "npm",
          "name": "prismic"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. The MCP server signs a person in through browser OAuth (authorisation code with PKCE and dynamic client registration) and works with that person's repository role. A repository Administrator or Owner must activate Prismic MCP first. Sign-ins expire after 90 days. The Migration, Asset and Types APIs take a repository write token as a Bearer header with a `repository` header. A person creates the token in Settings, API \u0026 Security, Write APIs, or with `npx prismic token create --write`. No scopes or expiry for write tokens were found in the reviewed documentation. No app review or sales approval is needed.",
      "pricing": "freemium",
      "pricingNotes": "Free is $0 per repository and includes the Migration API, 1 user, 2 locales and 4 million API calls a month, with no card on file needed. Starter is $10, Small $25, Medium $150 and Platinum $675 a month per repository, billed annually. Enterprise is sold through sales. The launch note says Prismic MCP is currently free on every plan (https://prismic.io/pricing, checked 2026-10-09).",
      "priceSummary": "$10 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the MCP docs, the write API references or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 16,
      "popularity": {
        "githubStars": 177,
        "npmWeekly": 236949,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://prismic.io/docs/mcp",
      "llmsTxt": "https://prismic.io/docs/llms.txt",
      "capabilities": [
        "cms.content",
        "cms.publish",
        "cms.assets",
        "cms.localisation",
        "cms.schema"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "oauth",
        "closed-source",
        "no-card",
        "free-tier",
        "llms-txt",
        "webhooks",
        "typescript",
        "cli",
        "graphql",
        "status-page"
      ],
      "lastRelease": "2026-10-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.9,
        "grade": "C",
        "agentReady": false,
        "rank": 410,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 63,
          "maintenance": 79,
          "payments": 35,
          "reliability": 78,
          "schema": 60,
          "security": 50,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "The hosted MCP server stages every write as a draft in a release, cannot delete, and publishes only when a user with the Publisher role asks. Write tokens for the Migration, Asset and Types APIs have no scopes, no OpenAPI file was found, writes are limited to one request a second, and the acceptable use policy forbids access by scripts.",
        "bestFor": "Teams already on Prismic who want an agent to bulk-edit, localise or migrate pages into releases for human review.",
        "strengths": [
          "Official hosted MCP server at `https://mcp.prismic.io/mcp` with 16 tools, free on every plan per the 8 June 2026 launch note",
          "MCP writes land as drafts in a release, the server has no delete tool, and `publish_release` needs the Publisher role",
          "OAuth on the MCP server with PKCE S256, dynamic client registration, refresh tokens and a revocation endpoint",
          "Free plan at $0 with the Migration API, 4 million API calls a month and unlimited documents, types and assets",
          "Root and docs `llms.txt`, and every docs page served as Markdown at the same URL plus `.md`"
        ],
        "weaknesses": [
          "No OpenAPI file for the Migration, Asset or Types APIs in the reviewed documentation. The Types API links a Postman collection",
          "Write tokens cover the whole repository with no scopes or expiry in the reviewed documentation, and the docs say they carry many privileges",
          "The Migration and Asset APIs each take one item a request at one request a second, with no idempotency keys",
          "The acceptable use policy forbids accessing the Solution by bots, programs or scripts, and the terms bar benchmarking without written consent",
          "Writer and Publisher roles start on the Medium plan ($150 a month). On Starter and Small every user is an Administrator"
        ],
        "agentNotes": [
          "Ask a repository Administrator to activate Prismic MCP in Settings first. Activation can take several minutes, and each environment has its own setting",
          "Call `list_repositories`, then `get_custom_type` or `get_shared_slice` for the empty content template before `create_document`",
          "Create a release with `create_release` and write into it. Call `publish_release` only on an explicit request, because a publish cannot be undone through MCP",
          "For the Migration API send `Authorization: Bearer \u003cwrite token\u003e` and a `repository` header, one page a request, one request a second, and keep each returned `id` for later PUT calls",
          "Upload media first (`upload_asset` or POST to `https://asset-api.prismic.io/assets`) and reference the asset `id` in image and media link fields"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 61.9
          }
        ],
        "editorialScores": {
          "ergonomics": 63,
          "maintenance": 79,
          "payments": 35,
          "reliability": 78,
          "schema": 60,
          "security": 50,
          "transparency": 59
        },
        "provenanceScore": 85
      },
      "connect": {
        "install": "npm install @prismicio/client @prismicio/migrate",
        "http": "curl --location --request GET 'https://customtypes.prismic.io/customtypes' \\\n  --header 'repository: your-repo-name' \\\n  --header 'Authorization: Bearer \u003ctoken\u003e'",
        "config": {
          "mcpServers": {
            "Prismic": {
              "url": "https://mcp.prismic.io/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/cms.content",
        "tool": "https://letme.dev/prismic"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Starter",
          "unit": "month",
          "usd": 10,
          "note": "per repository, billed annually, 3 users and 3 locales"
        },
        {
          "item": "Small",
          "unit": "month",
          "usd": 25,
          "note": "per repository, billed annually, 7 users and 4 locales"
        },
        {
          "item": "Medium",
          "unit": "month",
          "usd": 150,
          "note": "per repository, billed annually, 25 users, 5 million API calls, user roles"
        },
        {
          "item": "Platinum",
          "unit": "month",
          "usd": 675,
          "note": "per repository, billed annually, unlimited users, 10 million API calls"
        },
        {
          "item": "CDN bandwidth overage",
          "unit": "gb",
          "usd": 0.3,
          "note": "Starter, Small and Medium. $0.25 on Platinum"
        }
      ],
      "provenance": {
        "legalEntity": "Prismic.io Inc.",
        "domain": "prismic.io",
        "domainRegistered": "2013-06-05",
        "endpointOnVendorDomain": true,
        "terms": "https://prismic.io/legal/terms-of-service",
        "privacy": "https://prismic.io/legal/privacy",
        "statusPage": "https://status.prismic.io",
        "changelog": "https://prismic.io/updates",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The terms page is a Master Services Agreement, last updated 1 December 2025, between the customer and Prismic.io Inc., with notices to 185 Alewife Brook Parkway, Suite 210, Cambridge, Massachusetts 02138, USA. The legal page gives 9 rue de la Pierre Levée, 75011 Paris, France.",
          "The privacy policy, last updated 8 April 2026, covers the website and the Prismic Services, has a section on Prismic MCP, and links a self-service DPA and a sub-processor list, both PDFs we did not read.",
          "The AI Terms of Service (4 February 2026) name Prismic, Inc. and apply to AI functions.",
          "The MCP server answers at mcp.prismic.io and the write APIs at migration.prismic.io, asset-api.prismic.io and customtypes.prismic.io. The MCP docs name prismic-auth.eu.auth0.com as the sign-in server.",
          "prismic.io/.well-known/security.txt and prismic.io/security.txt return 404. The security page gives security@prismic.io.",
          "RDAP for prismic.io gives a registration date of 2013-06-05.",
          "robots.txt on prismic.io carries Content-Signal ai-train=no, search=yes, ai-input=yes."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/prismic.json",
      "live": {
        "slug": "prismic",
        "probe": {
          "target": "https://mcp.prismic.io/mcp",
          "method": "get",
          "lastAt": "2026-10-09T09:27:01.665001745Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 342,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 336,
          "p95ms24h": 358,
          "samples24h": 20,
          "samples30d": 20,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 20,
              "ok": 20
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.prismic.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T09:25:30.212474962Z"
        },
        "updatedAt": "2026-10-09T09:27:01.665001745Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Dato Srl",
        "b": "Prismic.io Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://site-api.datocms.com",
        "b": "https://mcp.prismic.io/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Dato Srl's terms of service. The API clients in datocms/js-rest-api-clients and the CLI in datocms/cli are MIT",
        "b": "Proprietary service under Prismic's Master Services Agreement. The JavaScript clients, the CLI and the agent skill on GitHub are Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "9",
        "b": "16",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-01",
        "b": "2026-10-08",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2025-12-01",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "2026-04-08",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "153k npm/wk",
        "b": "177 stars, 237k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "DatoCMS scores 74.4 (BB) on agent readiness against Prismic's 61.9 (C), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, DatoCMS or Prismic?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do DatoCMS and Prismic need an API key?"
      },
      {
        "answer": "Yes. DatoCMS has a hosted endpoint at https://site-api.datocms.com and Prismic at https://mcp.prismic.io/mcp.",
        "question": "Can an agent call DatoCMS and Prismic without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 85 against 60",
          "Agent ergonomics, 78 against 63",
          "Security \u0026 auth, 77 against 50",
          "Transparency \u0026 trust, 80 against 72"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "Teams on DatoCMS who want an agent to create, translate and publish records, upload assets or change models, testing first in a sandbox environment.",
        "slug": "datocms",
        "watchFor": "No idempotency keys in the reviewed documentation. Safe retries rest on optimistic locking and the JavaScript client's automatic retry"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Teams already on Prismic who want an agent to bulk-edit, localise or migrate pages into releases for human review.",
        "slug": "prismic",
        "watchFor": "No OpenAPI file for the Migration, Asset or Types APIs in the reviewed documentation. The Types API links a Postman collection"
      }
    ],
    "job": {
      "capability": "cms.content",
      "name": "Cms content"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/contentstack-vs-datocms.json",
        "title": "Contentstack vs DatoCMS",
        "url": "https://www.anchorterminal.com/compare/contentstack-vs-datocms"
      },
      {
        "json": "https://www.anchorterminal.com/compare/contentstack-vs-prismic.json",
        "title": "Contentstack vs Prismic",
        "url": "https://www.anchorterminal.com/compare/contentstack-vs-prismic"
      },
      {
        "json": "https://www.anchorterminal.com/compare/datocms-vs-directus.json",
        "title": "DatoCMS vs Directus",
        "url": "https://www.anchorterminal.com/compare/datocms-vs-directus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/datocms-vs-ghost.json",
        "title": "DatoCMS vs Ghost",
        "url": "https://www.anchorterminal.com/compare/datocms-vs-ghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/datocms-vs-hygraph.json",
        "title": "DatoCMS vs Hygraph",
        "url": "https://www.anchorterminal.com/compare/datocms-vs-hygraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/datocms-vs-payload.json",
        "title": "DatoCMS vs Payload",
        "url": "https://www.anchorterminal.com/compare/datocms-vs-payload"
      },
      {
        "json": "https://www.anchorterminal.com/compare/datocms-vs-sanity.json",
        "title": "DatoCMS vs Sanity",
        "url": "https://www.anchorterminal.com/compare/datocms-vs-sanity"
      },
      {
        "json": "https://www.anchorterminal.com/compare/datocms-vs-storyblok.json",
        "title": "DatoCMS vs Storyblok",
        "url": "https://www.anchorterminal.com/compare/datocms-vs-storyblok"
      },
      {
        "json": "https://www.anchorterminal.com/compare/datocms-vs-strapi.json",
        "title": "DatoCMS vs Strapi",
        "url": "https://www.anchorterminal.com/compare/datocms-vs-strapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/datocms-vs-webflow.json",
        "title": "DatoCMS vs Webflow",
        "url": "https://www.anchorterminal.com/compare/datocms-vs-webflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/datocms-vs-wordpress.json",
        "title": "DatoCMS vs WordPress",
        "url": "https://www.anchorterminal.com/compare/datocms-vs-wordpress"
      },
      {
        "json": "https://www.anchorterminal.com/compare/directus-vs-prismic.json",
        "title": "Directus vs Prismic",
        "url": "https://www.anchorterminal.com/compare/directus-vs-prismic"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ghost-vs-prismic.json",
        "title": "Ghost vs Prismic",
        "url": "https://www.anchorterminal.com/compare/ghost-vs-prismic"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hygraph-vs-prismic.json",
        "title": "Hygraph vs Prismic",
        "url": "https://www.anchorterminal.com/compare/hygraph-vs-prismic"
      },
      {
        "json": "https://www.anchorterminal.com/compare/payload-vs-prismic.json",
        "title": "Payload vs Prismic",
        "url": "https://www.anchorterminal.com/compare/payload-vs-prismic"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prismic-vs-sanity.json",
        "title": "Prismic vs Sanity",
        "url": "https://www.anchorterminal.com/compare/prismic-vs-sanity"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prismic-vs-storyblok.json",
        "title": "Prismic vs Storyblok",
        "url": "https://www.anchorterminal.com/compare/prismic-vs-storyblok"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prismic-vs-strapi.json",
        "title": "Prismic vs Strapi",
        "url": "https://www.anchorterminal.com/compare/prismic-vs-strapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prismic-vs-webflow.json",
        "title": "Prismic vs Webflow",
        "url": "https://www.anchorterminal.com/compare/prismic-vs-webflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prismic-vs-wordpress.json",
        "title": "Prismic vs WordPress",
        "url": "https://www.anchorterminal.com/compare/prismic-vs-wordpress"
      }
    ],
    "scores": [
      {
        "by": 2,
        "datocms": 80,
        "edge": "datocms",
        "key": "reliability",
        "name": "Reliability",
        "prismic": 78,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 25,
        "datocms": 85,
        "edge": "datocms",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "prismic": 60,
        "weight": 13
      },
      {
        "by": 15,
        "datocms": 78,
        "edge": "datocms",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "prismic": 63,
        "weight": 13
      },
      {
        "by": 27,
        "datocms": 77,
        "edge": "datocms",
        "key": "security",
        "name": "Security \u0026 auth",
        "prismic": 50,
        "weight": 14
      },
      {
        "by": 0,
        "datocms": 35,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "prismic": 35,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "datocms": 81,
        "edge": "datocms",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "prismic": 79,
        "weight": 7
      },
      {
        "by": 8,
        "datocms": 80,
        "edge": "datocms",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "prismic": 72,
        "weight": 7
      }
    ],
    "summary": "DatoCMS scores 74.4 (BB) on agent readiness against Prismic's 61.9 (C), and leads in 6 of 7 scored categories. Both do cms content.",
    "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.",
      "prismic": "The hosted MCP server stages every write as a draft in a release, cannot delete, and publishes only when a user with the Publisher role asks. Write tokens for the Migration, Asset and Types APIs have no scopes, no OpenAPI file was found, writes are limited to one request a second, and the acceptable use policy forbids access by scripts."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/datocms-vs-prismic",
    "json": "https://www.anchorterminal.com/compare/datocms-vs-prismic.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/datocms-vs-prismic.md",
    "slim": "https://www.anchorterminal.com/compare/datocms-vs-prismic.min.md"
  },
  "markdown": "DatoCMS scores 74.4 (BB) on agent readiness against Prismic's 61.9 (C), and leads in 6 of 7 scored categories. Both do cms content.\n\n- DatoCMS: grade BB, 74.4/100, rank #70 of 842. Markdown https://www.anchorterminal.com/tools/datocms.md · JSON https://www.anchorterminal.com/api/v1/tools/datocms.json\n- Prismic: grade C, 61.9/100, rank #410 of 842. Markdown https://www.anchorterminal.com/tools/prismic.md · JSON https://www.anchorterminal.com/api/v1/tools/prismic.json\n\n## Which one, for what\n\n### DatoCMS (BB)\n\nGood 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.\n\nAhead on:\n- Schema \u0026 documentation, 85 against 60\n- Agent ergonomics, 78 against 63\n- Security \u0026 auth, 77 against 50\n- Transparency \u0026 trust, 80 against 72\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: No idempotency keys in the reviewed documentation. Safe retries rest on optimistic locking and the JavaScript client's automatic retry\n\n### Prismic (C)\n\nGood for: Teams already on Prismic who want an agent to bulk-edit, localise or migrate pages into releases for human review.\n\nWatch for: No OpenAPI file for the Migration, Asset or Types APIs in the reviewed documentation. The Types API links a Postman collection\n\n\n## Score by category\n\n| Category | Weight | DatoCMS | Prismic | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 80 | 78 | DatoCMS +2 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 60 | DatoCMS +25 |\n| Agent ergonomics | 13% (16.2 this run) | 78 | 63 | DatoCMS +15 |\n| Security \u0026 auth | 14% (17.5 this run) | 77 | 50 | DatoCMS +27 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 35 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 79 | DatoCMS +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 80 | 72 | DatoCMS +8 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **74.4 · BB** | **61.9 · C** | |\n\n## Facts side by side\n\n| Fact | DatoCMS | Prismic |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Dato Srl | Prismic.io Inc. |\n| Hosted endpoint | `https://site-api.datocms.com` | `https://mcp.prismic.io/mcp` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under Dato Srl's terms of service. The API clients in datocms/js-rest-api-clients and the CLI in datocms/cli are MIT | Proprietary service under Prismic's Master Services Agreement. The JavaScript clients, the CLI and the agent skill on GitHub are Apache-2.0 |\n| Tools exposed | 9 | 16 |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-01 | 2026-10-08 |\n| Terms last updated | couldn't be read | 2025-12-01 |\n| Privacy policy last updated | couldn't be read | 2026-04-08 |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | yes |\n| Terms restrict benchmarking | couldn't be read | yes |\n| Terms or service can change without notice | couldn't be read | not found in the text |\n| Arbitration or class-action waiver | couldn't be read | not found in the text |\n| Popularity | 153k npm/wk | 177 stars, 237k npm/wk |\n\n## Verdicts\n\n**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.\n\n**Prismic.** The hosted MCP server stages every write as a draft in a release, cannot delete, and publishes only when a user with the Publisher role asks. Write tokens for the Migration, Asset and Types APIs have no scopes, no OpenAPI file was found, writes are limited to one request a second, and the acceptable use policy forbids access by scripts.\n\n## Before you call either\n\n### DatoCMS\n\n1. Send `X-Api-Version: 3` and `Accept: application/json` on every request, with `Content-Type: application/vnd.api+json` on writes\n2. Records are `items`, models are `item_types` and assets are `uploads` in every path and payload\n3. 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`\n4. 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\n5. Fork a sandbox environment for schema changes and promote it when checked. Use `POST /items/validate` to test a payload without saving it\n\n### Prismic\n\n1. Ask a repository Administrator to activate Prismic MCP in Settings first. Activation can take several minutes, and each environment has its own setting\n2. Call `list_repositories`, then `get_custom_type` or `get_shared_slice` for the empty content template before `create_document`\n3. Create a release with `create_release` and write into it. Call `publish_release` only on an explicit request, because a publish cannot be undone through MCP\n4. For the Migration API send `Authorization: Bearer \u003cwrite token\u003e` and a `repository` header, one page a request, one request a second, and keep each returned `id` for later PUT calls\n5. Upload media first (`upload_asset` or POST to `https://asset-api.prismic.io/assets`) and reference the asset `id` in image and media link fields\n\n## Questions\n\n### Which is better for AI agents, DatoCMS or Prismic?\n\nDatoCMS scores 74.4 (BB) on agent readiness against Prismic's 61.9 (C), and leads in 6 of 7 scored categories.\n\n### Do DatoCMS and Prismic need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call DatoCMS and Prismic without installing anything?\n\nYes. DatoCMS has a hosted endpoint at https://site-api.datocms.com and Prismic at https://mcp.prismic.io/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/datocms-vs-prismic.json, and with the fewest tokens: https://www.anchorterminal.com/compare/datocms-vs-prismic.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"datocms\", \"b\": \"prismic\"}`. From a terminal: `anchor compare datocms prismic`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/datocms.json and https://www.anchorterminal.com/api/v1/tools/prismic.json\n\n## Other comparisons with DatoCMS or Prismic\n\n- [Contentstack vs DatoCMS](https://www.anchorterminal.com/compare/contentstack-vs-datocms.md)\n- [Contentstack vs Prismic](https://www.anchorterminal.com/compare/contentstack-vs-prismic.md)\n- [DatoCMS vs Directus](https://www.anchorterminal.com/compare/datocms-vs-directus.md)\n- [DatoCMS vs Ghost](https://www.anchorterminal.com/compare/datocms-vs-ghost.md)\n- [DatoCMS vs Hygraph](https://www.anchorterminal.com/compare/datocms-vs-hygraph.md)\n- [DatoCMS vs Payload](https://www.anchorterminal.com/compare/datocms-vs-payload.md)\n- [DatoCMS vs Sanity](https://www.anchorterminal.com/compare/datocms-vs-sanity.md)\n- [DatoCMS vs Storyblok](https://www.anchorterminal.com/compare/datocms-vs-storyblok.md)\n- [DatoCMS vs Strapi](https://www.anchorterminal.com/compare/datocms-vs-strapi.md)\n- [DatoCMS vs Webflow](https://www.anchorterminal.com/compare/datocms-vs-webflow.md)\n- [DatoCMS vs WordPress](https://www.anchorterminal.com/compare/datocms-vs-wordpress.md)\n- [Directus vs Prismic](https://www.anchorterminal.com/compare/directus-vs-prismic.md)\n- [Ghost vs Prismic](https://www.anchorterminal.com/compare/ghost-vs-prismic.md)\n- [Hygraph vs Prismic](https://www.anchorterminal.com/compare/hygraph-vs-prismic.md)\n- [Payload vs Prismic](https://www.anchorterminal.com/compare/payload-vs-prismic.md)\n- [Prismic vs Sanity](https://www.anchorterminal.com/compare/prismic-vs-sanity.md)\n- [Prismic vs Storyblok](https://www.anchorterminal.com/compare/prismic-vs-storyblok.md)\n- [Prismic vs Strapi](https://www.anchorterminal.com/compare/prismic-vs-strapi.md)\n- [Prismic vs Webflow](https://www.anchorterminal.com/compare/prismic-vs-webflow.md)\n- [Prismic vs WordPress](https://www.anchorterminal.com/compare/prismic-vs-wordpress.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "DatoCMS vs Prismic",
        "url": ""
      }
    ],
    "description": "DatoCMS scores 74.4 (BB) on agent readiness against Prismic's 61.9 (C), and leads in 6 of 7 scored categories. Both do cms content. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "DatoCMS BB 74.4",
      "Prismic C 61.9",
      "scores"
    ],
    "h1": "DatoCMS vs Prismic",
    "image": "https://www.anchorterminal.com/assets/og/compare-datocms-vs-prismic.png",
    "path": "/compare/datocms-vs-prismic",
    "published": "2026-10-01",
    "section": "tools",
    "title": "DatoCMS vs Prismic for AI agents, BB 74.4 vs C 61.9 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/datocms-vs-prismic"
  },
  "tokens": {
    "markdown": 2300,
    "slim": 680
  },
  "version": 1
}
