{
  "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": 71,
        "ranked": true,
        "rankOf": 950,
        "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-10T03:53:25.012818093Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 54,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 64,
          "p95ms24h": 135,
          "samples24h": 249,
          "samples30d": 340,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 40,
              "ok": 40
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.datocms.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:50:24.314073602Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "datocms/js-rest-api-clients",
            "version": "@datocms/cma-client@6.8.0",
            "released": "2026-10-01",
            "seenAt": "2026-10-09T16:48:41.665619871Z"
          },
          {
            "registry": "npm",
            "name": "@datocms/cma-client",
            "version": "6.8.0",
            "seenAt": "2026-10-09T16:48:38.440276875Z"
          },
          {
            "registry": "npm",
            "name": "@datocms/cma-client-node",
            "version": "6.1.3",
            "seenAt": "2026-10-09T16:48:37.445825784Z"
          },
          {
            "registry": "npm",
            "name": "datocms",
            "version": "4.2.0",
            "seenAt": "2026-10-09T16:48:39.786967613Z"
          }
        ],
        "githubStars": 12,
        "npmWeekly": 116898,
        "securityTxt": {
          "url": "https://datocms.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-09T15:39:20.399475921Z"
        },
        "llmsTxt": {
          "url": "https://www.datocms.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:01:46.835412141Z"
        },
        "pages": [
          {
            "url": "https://www.datocms.com/product-updates",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:49:28.436385675Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8da1ee51b683"
          },
          {
            "url": "https://www.datocms.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:49:24.308182979Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a79e30c112db"
          },
          {
            "url": "https://www.datocms.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 0,
            "checkedAt": "2026-10-09T18:49:24.232078711Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "blockedByRobots": true
          },
          {
            "url": "https://www.datocms.com/legal/terms",
            "kind": "terms",
            "status": 0,
            "checkedAt": "2026-10-09T18:49:24.308138388Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "blockedByRobots": true
          }
        ],
        "updatedAt": "2026-10-10T03:53:25.012818093Z"
      }
    },
    "answer": "DatoCMS scores 74.4 (BB) on agent readiness against Kontent.ai's 70.5 (BB), and leads in 4 of 7 scored categories.",
    "b": {
      "slug": "kontent-ai",
      "name": "Kontent.ai",
      "vendor": "Kontent CZ s.r.o.",
      "vendorUrl": "https://kontent.ai",
      "kind": "http-api",
      "category": "cms",
      "summary": "Kontent.ai is a hosted headless CMS from Kontent CZ s.r.o. in Brno. Its Management API v2 reads and writes content items, language variants, assets, content models and workflow steps, and an open-source MCP server wraps it.",
      "url": "https://www.anchorterminal.com/tools/kontent-ai",
      "markdownUrl": "https://www.anchorterminal.com/tools/kontent-ai.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/kontent-ai.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/kontent-ai.json",
      "repo": "https://github.com/kontent-ai/mcp-server",
      "license": "Proprietary service under the Kontent.ai Terms of Service. The management SDKs for JavaScript and .NET and the MCP server on GitHub are MIT",
      "transports": [
        "http",
        "stdio",
        "streamable-http"
      ],
      "remoteUrl": "https://manage.kontent.ai/v2",
      "packages": [
        {
          "registry": "npm",
          "name": "@kontent-ai/management-sdk"
        },
        {
          "registry": "npm",
          "name": "@kontent-ai/mcp-server"
        }
      ],
      "auth": "api-key",
      "authNotes": "A Bearer API key in the `Authorization` header. A project manager creates a Management API key in the web app under Project settings, API keys, and picks its permissions (read content, edit content, read assets, edit assets, content model, environment settings), the environments it reaches and its expiry (1 minute to 2 years, 6 months by default). A Personal API key inherits its owner's role instead. Regenerating a key revokes the old one after a few minutes. No OAuth flow and no API for creating keys was found. The Management API has to be enabled per environment.",
      "pricing": "paid",
      "pricingNotes": "No public price. The pricing page shows sliders for user seats, content types and content items and a form that requests a calculation, and the terms put the price, limits and overage unit prices in an order form. A 30-day trial needs no card and includes API access. The terms mention a Developer Plan, which the pricing page does not show (checked 2026-10-09).",
      "priceSummary": "Paid",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Management API docs, the MCP server README or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 54,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 8381,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://kontent.ai/learn/docs/apis/management-api-v2",
      "llmsTxt": "https://kontent.ai/llms.txt",
      "registryName": "io.github.kontent-ai/mcp-server",
      "capabilities": [
        "cms.content",
        "cms.publish",
        "cms.assets",
        "cms.localisation",
        "cms.schema"
      ],
      "tags": [
        "official",
        "hosted",
        "closed-source",
        "api-key",
        "mcp",
        "free-trial",
        "no-card",
        "sales-led",
        "llms-txt",
        "typescript",
        "dotnet",
        "webhooks",
        "graphql",
        "status-page",
        "soc2",
        "iso27001",
        "audit-log"
      ],
      "lastRelease": "2026-10-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.5,
        "grade": "BB",
        "agentReady": true,
        "rank": 153,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 83,
          "payments": 20,
          "reliability": 82,
          "schema": 74,
          "security": 81,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "Management API keys take per-area permissions, environment limits and an expiry from one minute to two years, and changes made with a key are named in the audit log. Rate limits and Retry-After are documented. No price is published, and no OpenAPI file was found. Access starts with a 30-day trial that a person opens in a browser.",
        "bestFor": "A company already on Kontent.ai, or evaluating it on a trial, that wants an agent to draft, localise, move through workflow and publish structured content with a permission-limited key and an audit trail.",
        "strengths": [
          "Management API keys carry selectable permissions (read content, edit content, assets, content model, environment settings), environment limits and an expiry from 1 minute to 2 years",
          "Rate limits are published (10 requests a second and 400 a minute per environment), and a 429 carries a Retry-After header",
          "The audit log keeps 90 days of changes and names the API key that made each one. Content item changes were added on 2 October 2026",
          "All 54 tools in the MCP server (MIT, version 0.39.0) set readOnlyHint and destructiveHint, and its README has a section on indirect prompt injection",
          "security.txt is valid to July 2027, with a disclosure policy that pays discretionary rewards, and the trust centre lists SOC 2 Type 2 and ISO 27001, 27017, 27018 and 42001",
          "The sub-processor page names each vendor, its location and the data sent, and projects can be stored in the US, the Netherlands, Australia or Canada"
        ],
        "weaknesses": [
          "No price is published. The pricing page shows sliders for seats, content types and items and a form that requests a quote",
          "No OpenAPI file was found. The docs link a Postman collection, which we did not read",
          "Access needs a person. The 30-day trial needs no card, but sign-up, the Management API toggle and key creation happen in the web app",
          "No idempotency keys. The docs advise against parallel requests, saying they may cause inconsistencies in content",
          "The availability annex covers the administration interface and the Delivery API, not the Management API, and the guaranteed level sits in each order form",
          "The Terms of Service forbid automated access to the Service unless the procedure is described in the documentation. This matters before any probe is run",
          "The MCP server loads 54 tools, 22 of them marked destructive, and runs only on the owner's machine. No hosted endpoint was found"
        ],
        "agentNotes": [
          "Send `Authorization: Bearer \u003ckey\u003e` to `https://manage.kontent.ai/v2/projects/{environment_id}/...`. The Management API must be switched on under Environment settings, General, Enabled APIs first",
          "Ask for a Management API key with only the permissions the task needs. Read content alone gives a read-only key, and keys expire after six months by default",
          "Stay under 10 requests a second and 400 a minute per environment, send requests one at a time, and wait the seconds in Retry-After on a 429",
          "Page lists by passing the `continuation_token` from the response back in the `x-continuation` header",
          "Create items with an `external_id` and write with the upsert PUT at `/items/external-id/{id}` so a retry after a lost response does not create a duplicate",
          "With the MCP server, call `get-patch-guide` before any patch tool, and use a client that prompts on destructiveHint"
        ],
        "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": 70.5
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 83,
          "payments": 20,
          "reliability": 82,
          "schema": 74,
          "security": 81,
          "transparency": 69
        },
        "provenanceScore": 80
      },
      "connect": {
        "install": "npm i @kontent-ai/management-sdk --save",
        "http": "curl --request GET \\\n  --url https://manage.kontent.ai/v2/projects/KONTENT_AI_ENVIRONMENT_ID/items \\\n  --header 'Authorization: Bearer KONTENT_AI_MANAGEMENT_API_KEY' \\\n  --header 'Content-type: application/json'",
        "config": {
          "kontent-ai-stdio": {
            "args": [
              "@kontent-ai/mcp-server@latest",
              "stdio"
            ],
            "command": "npx",
            "env": {
              "KONTENT_API_KEY": "\u003cyour-management-api-key\u003e",
              "KONTENT_ENVIRONMENT_ID": "\u003cyour-environment-id\u003e"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/cms.content",
        "tool": "https://letme.dev/kontent-ai"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "Kontent CZ s.r.o.",
        "domain": "kontent.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://kontent.ai/terms-of-service/",
        "privacy": "https://kontent.ai/privacy/",
        "statusPage": "https://status.kontent.ai",
        "changelog": "https://kontent.ai/learn/product-updates",
        "securityTxt": "valid",
        "checked": "2026-10-09",
        "notes": [
          "The Terms of Service effective 11 September 2026 name Kontent CZ s.r.o., Nové sady 996/25, 602 00 Brno, Czech Republic, company number 173 00 576, or an affiliate named in the order form. The Data Processing Addendum and the availability and AI annexes are part of the same page.",
          "The privacy policy effective 2 June 2025 is issued by Kontent s.r.o. at the same address with Kontent CZ s.r.o. and Kontent US, LLC as joint controllers, and has a section for users of the product.",
          "The Management API answers at manage.kontent.ai, a kontent.ai subdomain.",
          "kontent.ai/.well-known/security.txt gives security@kontent.ai, a PGP key, the disclosure policy and an Open Bug Bounty page, and expires on 21 July 2027.",
          "The domain's registration date was not looked up."
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/kontent-ai.json",
      "live": {
        "slug": "kontent-ai",
        "probe": {
          "target": "https://manage.kontent.ai/v2",
          "method": "get",
          "lastAt": "2026-10-10T03:53:31.801002229Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 956,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 373,
          "p95ms24h": 588,
          "samples24h": 125,
          "samples30d": 125,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 40,
              "ok": 40
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.kontent.ai",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-10T03:58:26.623442021Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "kontent-ai/mcp-server",
            "version": "0.39.0",
            "released": "2026-08-31",
            "seenAt": "2026-10-09T17:00:51.588844437Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.kontent-ai/mcp-server",
            "version": "0.39.0",
            "seenAt": "2026-10-10T03:11:32.438759038Z"
          },
          {
            "registry": "npm",
            "name": "@kontent-ai/management-sdk",
            "version": "8.5.7",
            "seenAt": "2026-10-09T17:00:49.298560089Z"
          },
          {
            "registry": "npm",
            "name": "@kontent-ai/mcp-server",
            "version": "0.39.0",
            "seenAt": "2026-10-09T17:00:50.153755771Z"
          }
        ],
        "githubStars": 9,
        "npmWeekly": 8381,
        "pages": [
          {
            "url": "https://kontent.ai/learn/product-updates",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:40:45.195164377Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3f0ce279378b"
          },
          {
            "url": "https://kontent.ai/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:40:47.371617041Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "47ae43c907ba"
          },
          {
            "url": "https://kontent.ai/terms-of-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:40:49.654963617Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b1ef49b6e91c"
          }
        ],
        "updatedAt": "2026-10-10T03:58:26.623442021Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Dato Srl",
        "b": "Kontent CZ s.r.o.",
        "name": "Vendor"
      },
      {
        "a": "https://site-api.datocms.com",
        "b": "https://manage.kontent.ai/v2",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, stdio, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "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 the Kontent.ai Terms of Service. The management SDKs for JavaScript and .NET and the MCP server on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "9",
        "b": "54",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "io.github.kontent-ai/mcp-server",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-01",
        "b": "2026-10-02",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2026-09-11",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "2025-06-02",
        "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": "8.4k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "DatoCMS scores 74.4 (BB) on agent readiness against Kontent.ai's 70.5 (BB), and leads in 4 of 7 scored categories.",
        "question": "Which is better for AI agents, DatoCMS or Kontent.ai?"
      },
      {
        "answer": "DatoCMS takes an API key or an OAuth sign-in. Kontent.ai needs an API key.",
        "question": "Do DatoCMS and Kontent.ai need an API key?"
      },
      {
        "answer": "Yes. DatoCMS has a hosted endpoint at https://site-api.datocms.com and Kontent.ai at https://manage.kontent.ai/v2.",
        "question": "Can an agent call DatoCMS and Kontent.ai without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 85 against 74",
          "Agent ergonomics, 78 against 71",
          "Payments \u0026 pricing, 35 against 20",
          "Transparency \u0026 trust, 80 against 75"
        ],
        "also": null,
        "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": [
          "Runs on your own machine"
        ],
        "goodFor": "A company already on Kontent.ai, or evaluating it on a trial, that wants an agent to draft, localise, move through workflow and publish structured content with a permission-limited key and an audit trail.",
        "slug": "kontent-ai",
        "watchFor": "No price is published. The pricing page shows sliders for seats, content types and items and a form that requests a quote"
      }
    ],
    "job": {
      "capability": "cms.content",
      "name": "Content management"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/buttercms-vs-datocms.json",
        "title": "ButterCMS vs DatoCMS",
        "url": "https://www.anchorterminal.com/compare/buttercms-vs-datocms"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buttercms-vs-kontent-ai.json",
        "title": "ButterCMS vs Kontent.ai",
        "url": "https://www.anchorterminal.com/compare/buttercms-vs-kontent-ai"
      },
      {
        "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-kontent-ai.json",
        "title": "Contentstack vs Kontent.ai",
        "url": "https://www.anchorterminal.com/compare/contentstack-vs-kontent-ai"
      },
      {
        "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-prismic.json",
        "title": "DatoCMS vs Prismic",
        "url": "https://www.anchorterminal.com/compare/datocms-vs-prismic"
      },
      {
        "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-kontent-ai.json",
        "title": "Directus vs Kontent.ai",
        "url": "https://www.anchorterminal.com/compare/directus-vs-kontent-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ghost-vs-kontent-ai.json",
        "title": "Ghost vs Kontent.ai",
        "url": "https://www.anchorterminal.com/compare/ghost-vs-kontent-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hygraph-vs-kontent-ai.json",
        "title": "Hygraph vs Kontent.ai",
        "url": "https://www.anchorterminal.com/compare/hygraph-vs-kontent-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kontent-ai-vs-payload.json",
        "title": "Kontent.ai vs Payload",
        "url": "https://www.anchorterminal.com/compare/kontent-ai-vs-payload"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kontent-ai-vs-prismic.json",
        "title": "Kontent.ai vs Prismic",
        "url": "https://www.anchorterminal.com/compare/kontent-ai-vs-prismic"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kontent-ai-vs-sanity.json",
        "title": "Kontent.ai vs Sanity",
        "url": "https://www.anchorterminal.com/compare/kontent-ai-vs-sanity"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kontent-ai-vs-storyblok.json",
        "title": "Kontent.ai vs Storyblok",
        "url": "https://www.anchorterminal.com/compare/kontent-ai-vs-storyblok"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kontent-ai-vs-strapi.json",
        "title": "Kontent.ai vs Strapi",
        "url": "https://www.anchorterminal.com/compare/kontent-ai-vs-strapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kontent-ai-vs-webflow.json",
        "title": "Kontent.ai vs Webflow",
        "url": "https://www.anchorterminal.com/compare/kontent-ai-vs-webflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kontent-ai-vs-wordpress.json",
        "title": "Kontent.ai vs WordPress",
        "url": "https://www.anchorterminal.com/compare/kontent-ai-vs-wordpress"
      }
    ],
    "scores": [
      {
        "by": 2,
        "datocms": 80,
        "edge": "kontent-ai",
        "key": "reliability",
        "kontent-ai": 82,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "datocms": 85,
        "edge": "datocms",
        "key": "schema",
        "kontent-ai": 74,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 7,
        "datocms": 78,
        "edge": "datocms",
        "key": "ergonomics",
        "kontent-ai": 71,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 4,
        "datocms": 77,
        "edge": "kontent-ai",
        "key": "security",
        "kontent-ai": 81,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 15,
        "datocms": 35,
        "edge": "datocms",
        "key": "payments",
        "kontent-ai": 20,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "datocms": 81,
        "edge": "kontent-ai",
        "key": "maintenance",
        "kontent-ai": 83,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 5,
        "datocms": 80,
        "edge": "datocms",
        "key": "transparency",
        "kontent-ai": 75,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "DatoCMS scores 74.4 (BB) on agent readiness against Kontent.ai's 70.5 (BB), and leads in 4 of 7 scored categories. Both do content management.",
    "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.",
      "kontent-ai": "Management API keys take per-area permissions, environment limits and an expiry from one minute to two years, and changes made with a key are named in the audit log. Rate limits and Retry-After are documented. No price is published, and no OpenAPI file was found. Access starts with a 30-day trial that a person opens in a browser."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/datocms-vs-kontent-ai",
    "json": "https://www.anchorterminal.com/compare/datocms-vs-kontent-ai.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/datocms-vs-kontent-ai.md",
    "slim": "https://www.anchorterminal.com/compare/datocms-vs-kontent-ai.min.md"
  },
  "markdown": "DatoCMS scores 74.4 (BB) on agent readiness against Kontent.ai's 70.5 (BB), and leads in 4 of 7 scored categories. Both do content management.\n\n- DatoCMS: grade BB, 74.4/100, rank #71 of 950. Markdown https://www.anchorterminal.com/tools/datocms.md · JSON https://www.anchorterminal.com/api/v1/tools/datocms.json\n- Kontent.ai: grade BB, 70.5/100, rank #153 of 950. Markdown https://www.anchorterminal.com/tools/kontent-ai.md · JSON https://www.anchorterminal.com/api/v1/tools/kontent-ai.json\n- Best headless CMS and website publishing for AI agents: https://www.anchorterminal.com/best/cms/index.md\n- All 91 cms comparisons: https://www.anchorterminal.com/compare/cms/index.md\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 74\n- Agent ergonomics, 78 against 71\n- Payments \u0026 pricing, 35 against 20\n- Transparency \u0026 trust, 80 against 75\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### Kontent.ai (BB)\n\nGood for: A company already on Kontent.ai, or evaluating it on a trial, that wants an agent to draft, localise, move through workflow and publish structured content with a permission-limited key and an audit trail.\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: No price is published. The pricing page shows sliders for seats, content types and items and a form that requests a quote\n\n\n## Score by category\n\n| Category | Weight | DatoCMS | Kontent.ai | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 80 | 82 | Kontent.ai +2 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 74 | DatoCMS +11 |\n| Agent ergonomics | 13% (16.2 this run) | 78 | 71 | DatoCMS +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 77 | 81 | Kontent.ai +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 20 | DatoCMS +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 83 | Kontent.ai +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 80 | 75 | DatoCMS +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **74.4 · BB** | **70.5 · BB** | |\n\n## Facts side by side\n\n| Fact | DatoCMS | Kontent.ai |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Dato Srl | Kontent CZ s.r.o. |\n| Hosted endpoint | `https://site-api.datocms.com` | `https://manage.kontent.ai/v2` |\n| Transports | HTTP, Streamable HTTP | HTTP, stdio, Streamable HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Paid |\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 the Kontent.ai Terms of Service. The management SDKs for JavaScript and .NET and the MCP server on GitHub are MIT |\n| Tools exposed | 9 | 54 |\n| Read-only variant documented | yes | yes |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `io.github.kontent-ai/mcp-server` |\n| Last release | 2026-10-01 | 2026-10-02 |\n| Terms last updated | couldn't be read | 2026-09-11 |\n| Privacy policy last updated | couldn't be read | 2025-06-02 |\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 | 8.4k 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**Kontent.ai.** Management API keys take per-area permissions, environment limits and an expiry from one minute to two years, and changes made with a key are named in the audit log. Rate limits and Retry-After are documented. No price is published, and no OpenAPI file was found. Access starts with a 30-day trial that a person opens in a browser.\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### Kontent.ai\n\n1. Send `Authorization: Bearer \u003ckey\u003e` to `https://manage.kontent.ai/v2/projects/{environment_id}/...`. The Management API must be switched on under Environment settings, General, Enabled APIs first\n2. Ask for a Management API key with only the permissions the task needs. Read content alone gives a read-only key, and keys expire after six months by default\n3. Stay under 10 requests a second and 400 a minute per environment, send requests one at a time, and wait the seconds in Retry-After on a 429\n4. Page lists by passing the `continuation_token` from the response back in the `x-continuation` header\n5. Create items with an `external_id` and write with the upsert PUT at `/items/external-id/{id}` so a retry after a lost response does not create a duplicate\n6. With the MCP server, call `get-patch-guide` before any patch tool, and use a client that prompts on destructiveHint\n\n## Questions\n\n### Which is better for AI agents, DatoCMS or Kontent.ai?\n\nDatoCMS scores 74.4 (BB) on agent readiness against Kontent.ai's 70.5 (BB), and leads in 4 of 7 scored categories.\n\n### Do DatoCMS and Kontent.ai need an API key?\n\nDatoCMS takes an API key or an OAuth sign-in. Kontent.ai needs an API key.\n\n### Can an agent call DatoCMS and Kontent.ai without installing anything?\n\nYes. DatoCMS has a hosted endpoint at https://site-api.datocms.com and Kontent.ai at https://manage.kontent.ai/v2.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/datocms-vs-kontent-ai.json, and with the fewest tokens: https://www.anchorterminal.com/compare/datocms-vs-kontent-ai.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"datocms\", \"b\": \"kontent-ai\"}`. From a terminal: `anchor compare datocms kontent-ai`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/datocms.json and https://www.anchorterminal.com/api/v1/tools/kontent-ai.json\n\n## Other comparisons with DatoCMS or Kontent.ai\n\n- [ButterCMS vs DatoCMS](https://www.anchorterminal.com/compare/buttercms-vs-datocms.md)\n- [ButterCMS vs Kontent.ai](https://www.anchorterminal.com/compare/buttercms-vs-kontent-ai.md)\n- [Contentstack vs DatoCMS](https://www.anchorterminal.com/compare/contentstack-vs-datocms.md)\n- [Contentstack vs Kontent.ai](https://www.anchorterminal.com/compare/contentstack-vs-kontent-ai.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 Prismic](https://www.anchorterminal.com/compare/datocms-vs-prismic.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 Kontent.ai](https://www.anchorterminal.com/compare/directus-vs-kontent-ai.md)\n- [Ghost vs Kontent.ai](https://www.anchorterminal.com/compare/ghost-vs-kontent-ai.md)\n- [Hygraph vs Kontent.ai](https://www.anchorterminal.com/compare/hygraph-vs-kontent-ai.md)\n- [Kontent.ai vs Payload](https://www.anchorterminal.com/compare/kontent-ai-vs-payload.md)\n- [Kontent.ai vs Prismic](https://www.anchorterminal.com/compare/kontent-ai-vs-prismic.md)\n- [Kontent.ai vs Sanity](https://www.anchorterminal.com/compare/kontent-ai-vs-sanity.md)\n- [Kontent.ai vs Storyblok](https://www.anchorterminal.com/compare/kontent-ai-vs-storyblok.md)\n- [Kontent.ai vs Strapi](https://www.anchorterminal.com/compare/kontent-ai-vs-strapi.md)\n- [Kontent.ai vs Webflow](https://www.anchorterminal.com/compare/kontent-ai-vs-webflow.md)\n- [Kontent.ai vs WordPress](https://www.anchorterminal.com/compare/kontent-ai-vs-wordpress.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "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 Kontent.ai",
        "url": ""
      }
    ],
    "description": "DatoCMS scores 74.4 (BB) to Kontent.ai's 70.5 (BB) for content management. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "DatoCMS BB 74.4",
      "Kontent.ai BB 70.5",
      "scores"
    ],
    "h1": "DatoCMS vs Kontent.ai",
    "image": "https://www.anchorterminal.com/assets/og/compare-datocms-vs-kontent-ai.png",
    "path": "/compare/datocms-vs-kontent-ai",
    "published": "2026-10-01",
    "section": "tools",
    "title": "DatoCMS vs Kontent.ai for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/datocms-vs-kontent-ai"
  },
  "tokens": {
    "markdown": 2550,
    "slim": 780
  },
  "version": 1
}
