# DatoCMS > 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. - Canonical: https://www.anchorterminal.com/tools/datocms - Markdown: https://www.anchorterminal.com/tools/datocms.md (~7,800 tokens) - Slim: https://www.anchorterminal.com/tools/datocms.min.md (~2,180 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/tools/datocms.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-08 ## Overview **Grade BB · 74.4/100 · rank #62 of 722 · #1 in CMS & website publishing · agent-ready · confidence medium** ## Assessment 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. ## Facts | Field | Value | | --- | --- | | Vendor | Dato Srl (https://www.datocms.com) | | Kind | HTTP API | | Category | CMS & website publishing (https://www.anchorterminal.com/categories/cms) | | Transport | HTTP, Streamable HTTP | | Endpoint | `https://site-api.datocms.com` | | Auth | OAuth or key · 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 (Freemium) · 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). | | x402 | No · No x402, MPP or L402 in the Content Management API docs, the MCP server docs or the pricing page (checked 2026-10-08). | | 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 | | Tools exposed | 9 | | Packages | npm: `@datocms/cma-client-node`; npm: `@datocms/cma-client`; npm: `datocms` | | Source | https://github.com/datocms/js-rest-api-clients | | Docs | https://www.datocms.com/docs/content-management-api | | llms.txt | https://www.datocms.com/llms.txt | | Last release | 2026-10-01 | | npm downloads / week | 152,666 | | Surfaces | Content Management API v3 (REST, JSON:API) at https://site-api.datocms.com for writes, hosted MCP server at https://mcp.datocms.com, `datocms` CLI with `cma:call`, `cma:script`, `cma:docs` and `schema:inspect`, GraphQL Content Delivery API at https://graphql.datocms.com for reads | | MCP server | Hosted, streamable HTTP, OAuth only. Tools named in the docs are `search_projects`, `list_api_resources`, `get_api_methods`, `get_schema`, `upsert_and_execute_safe_script`, `view_script`, `upsert_and_execute_unsafe_script`, `whoami` and `report_api_issue`. Single sign-on accounts are not supported | | Credentials | API tokens created in project settings, each bound to a role, sent as a Bearer header. Tokens can be rotated in the interface or by API. MCP uses OAuth through oauth.datocms.com with PKCE S256, dynamic client registration, revocation and introspection | | Roles | Admin and Editor by default, custom roles by model, action (create, update, delete, publish) and environment. Locale-specific permissions are Enterprise only | | Rate limits | 60 requests every 3 seconds on the Content Management API. Shared infrastructure can return 429 under high load even inside the limit | | Free plan | No card. Per the pricing page, 300 records, 5 locales, 100 models, 3 sandbox environments, 25,000 Content Management API calls and 100,000 Content Delivery API calls a month, 200 MB of files. No overage. A project at its limit is suspended until the next month | | Paid plans | Professional €199 a month, or €149 a month billed yearly, with 100,000 records and 100,000 Content Management API calls a month. Overage €9 per extra 100,000 Content Management API calls, €9 per extra 1M Content Delivery API calls, €19 per extra locale. Enterprise is priced through sales | | Drafts and versions | Draft and published states per model, publish and unpublish as PUT requests, bulk publish, scheduled publication, version list and restore. History kept 3 days on Free and 60 days on Professional | | Assets | Upload permission request, file upload to storage, then upload creation, wrapped by `createFromLocalFile` and `createFromUrl` in the JavaScript client. Maximum 1 GB an asset | | Localisation | Per-field localisation with all locales written in one record payload. 5 locales included on Free and Professional | | Environments | Primary and sandbox environments with fork, promote, rename and delete endpoints, and a maintenance mode that makes the primary read-only | | Pagination | Offset based, `page[limit]` and `page[offset]`, with `meta.total_count`. Records default to 30 a page, and the documented maximum varies by endpoint. Filters by ids, model, text query and field values | | Errors | JSON body with `code`, `doc_url`, `details` and an optional `transient` flag. 100 codes documented, among them `STALE_ITEM_VERSION`, `RATE_LIMIT_EXCEEDED` and `PLATFORM_SCHEDULED_MAINTENANCE` | | SDKs | @datocms/cma-client 6.8.0 (1 October 2026) with Node and browser builds, @datocms/cda-client 0.3.2, CLI `datocms` 4.2.0 (31 August 2026). JavaScript and TypeScript only, MIT | | Audit | Audit logs on Enterprise, queryable by API, default retention two months. Record versions show who saved and published | | SLA | The pricing page lists guaranteed uptime SLAs on Enterprise. No figure is published | | Certifications | ISO 27001, certificate on request. No SOC 2 report of its own or bug bounty found in the reviewed pages | | Data location | AWS eu-west-1 (Ireland), backups in eu-west-3 (France), assets in Cloudflare R2 under EU jurisdiction. The GDPR page lists 22 third-party services with the data each receives | | Open source | No. The API clients and CLI are MIT | | 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 | | JSON | https://www.anchorterminal.com/api/v1/tools/datocms.json | ## Score breakdown (methodology v0.4, October 2026 research run) Assessed 2026-10-08 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. "This run" is each category's share of the 100 points. | Category | Weight | This run | Score (0–100) | Points | | --- | --- | --- | --- | --- | | Reliability | 16% | 20 | 80 | 16.0 | | Performance | 10% | pending | pending | n/a | | Schema & documentation | 13% | 16.2 | 85 | 13.8 | | Agent ergonomics | 13% | 16.2 | 78 | 12.7 | | Security & auth | 14% | 17.5 | 77 | 13.5 | | Payments & pricing | 10% | 12.5 | 35 | 4.4 | | Task success | 10% | pending | pending | n/a | | Maintenance & community | 7% | 8.8 | 81 | 7.1 | | Transparency & trust (editorial 65, provenance 94) | 7% | 8.8 | 80 | 7.0 | | Negative events | up to −15 | up to −15 | none recorded | 0 | | **Total** | | | | **74.4 → BB** | ### Why each score - Reliability 80: Graded on the Content Management API, with the hosted MCP server noted. Public status page at status.datocms.com with the Content Management API as a named component and incident history back to 2023 (20). In the 90 days to 8 October 2026 it lists two email delivery faults (9 to 10 August, 27 to 28 September), a partial outage of the upstream image provider on 1 September, and a scheduled database upgrade on 19 September that kept every project read-only from 05:30 to about 09:43 UTC against a three-hour window, with writes returning 503. No unplanned API outage in the period, so 18 of 30. An API outage on 2 December 2025 falls outside the 90 days. Rate limit published as 60 requests every 3 seconds (15). 429 responses carry `x-ratelimit-reset`, errors carry a `transient` flag and the official client retries both. No idempotency keys, though updates take optimistic locking (12). The pricing page lists guaranteed uptime SLAs on Enterprise with no figure (5). API version 3 is generally available. The MCP docs describe their limits as those of an initial beta phase (10). - Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes. - Schema & documentation 85: A public JSON Hyper-Schema describes 53 resources and 202 operations. It is not OpenAPI, and the `.well-known/api-catalog` file links it (22 of 25). A root llms.txt, llms-full.txt and a Markdown copy of every docs page at the same URL plus .md (10). Every operation has a title, 43 of 202 have a description in the schema, and the docs say when to use the management API, the delivery API, the CLI skills or the MCP server (14). Inputs are typed with required fields and 72 enums. Record field values depend on each project's own models, checked by the validate endpoints (11). 656 examples in the schema and 100 error codes on one page, each with a recovery hint (15). `X-Api-Version` with a written rule that breaking changes come only with a new version, and a dated product changelog. The management API has no changelog of its own (13). - Agent ergonomics 78: List responses are sized with `page[limit]` and a `nested` switch for block content. No field selection was found on the management API. The MCP server names nine tools, and the vendor says its documentation tools are token intensive. The CLI's `schema:inspect` has an output format written for models (18 of 25). Offset pagination with `meta.total_count` and filters by ids, model, text and field values (20). Error bodies carry a stable code, a `doc_url` and a `transient` flag (20). No idempotency keys. Updates take optimistic locking through `meta.current_version`, `POST /items/validate` tests a payload without saving, and the MCP server splits read-only and read-write execution. We couldn't read the tool annotations (12). Every request needs the `X-Api-Version` header, and the only official client library is JavaScript and TypeScript (8). - Security & auth 77: API tokens bound to custom roles, revocable and rotatable by API, sent only as a Bearer header. The MCP server uses OAuth with PKCE S256, dynamic client registration and revocation, with projects and one of three access levels chosen on the consent screen. The OAuth metadata lists three coarse scopes (28). Every project starts with a read-only token, roles limit by model, action and environment, and the MCP read-only level is enforced by the runner and by the API through `X-Abort-If-Destructive-Request`. Read-write scripts ask the user to confirm (18). The MCP docs treat model-written code as untrusted, with restricted network egress, credential brokering and static checks. No guidance on treating stored content as untrusted input was found (11). Audit logs are Enterprise only with two months of retention by default. Record versions name the editor on every plan (8). ISO 27001, a security.txt with a PGP key and a disclosure address. No bug bounty or SOC 2 report of its own found (12). - Payments & pricing 35: No x402, MPP or L402 (0). Prices are public in euros, €199 a month for Professional or €149 billed yearly, with unit overage such as €9 per extra 100,000 management API calls. Enterprise is priced through sales (15). The Free plan needs no card and includes 25,000 management API calls a month (20). A person signs up in a browser and creates the token or approves the OAuth consent screen, and the terms bar accounts created by bots (0). - Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored. - Maintenance & community 81: @datocms/cma-client 6.8.0 was tagged on 1 October 2026 and the product changelog has an entry the same day (30). Ten changelog entries and more than ten client releases since 10 July 2026 (20). Public changelog, a community forum, a Slack community and support by email. The client repository has 14 issues in all, three open, the oldest from 2023 (11 of 15). Current official client and CLI. The official MCP registry returned no DatoCMS entry (13). The client and CLI repositories have CI and release workflows and 68 and 25 commits in 90 days. We couldn't check that CI passes (7). - Transparency & trust 80: Closed service with published terms for the Free and Professional plans, and MIT clients and CLI. The Enterprise agreement isn't published (15). The privacy policy, a GDPR page updated on 3 June 2026 and the security page state EU hosting, 14 days of database backups and deletion of content within 4 days of termination. No data processing agreement was found on the legal pages (20). A written rule that breaking changes come only with a new API version, and one dated notice (30 days for legacy upload endpoints in 2025). The terms also reserve the right to modify or discontinue API access with or without notice (12). The GDPR page lists 22 third-party services with the data each receives, and names AWS in Ireland, backups in France and Cloudflare R2 in the EU (18). Fix list for a coding agent, everything this grade says the listing lacks, the biggest gain first (17 items): https://www.anchorterminal.com/fixes/datocms.md (JSON https://www.anchorterminal.com/fixes/datocms.json) ### What we couldn't check - unchecked: MCP tool input schemas and annotations, which need a signed-in session. The tool count of nine is the number named in the docs - unchecked: GitHub star counts and whether CI passes on the default branches. The GitHub API refused us for its rate limit - unchecked: the component list and uptime figures on the status page, which are drawn by script. Incident history was read from the RSS feed - Not established what uptime the Enterprise SLA guarantees. The pricing page gives no figure and the Enterprise agreement isn't published - Not established whether a data processing agreement exists for self-serve plans. None is linked from the legal pages - Not established whether failed or rate-limited calls count towards the monthly API call quota - Prices are published in euros only, so the listing has no unit prices in dollars - The lead was right on the interfaces. It did not mention the hosted MCP server, which launched on 26 May 2026 ### Sources - Content Management API overview: (seen 2026-10-08) - JSON Hyper-Schema: (seen 2026-10-08) - authentication: (seen 2026-10-08) - error codes: (seen 2026-10-08) - technical limits and rate limits: (seen 2026-10-08) - pagination: (seen 2026-10-08) - API versioning: (seen 2026-10-08) - MCP server: (seen 2026-10-08) - MCP server card: (seen 2026-10-08) - OAuth authorisation server metadata: (seen 2026-10-08) - agent authentication note: (seen 2026-10-08) - API catalogue: (seen 2026-10-08) - llms.txt: (seen 2026-10-08) - CLI commands for AI coding agents: (seen 2026-10-08) - Agent Skills: (seen 2026-10-08) - roles and permissions: (seen 2026-10-08) - audit logs: (seen 2026-10-08) - record versioning: (seen 2026-10-08) - pricing: (seen 2026-10-08) - Free plan limits and deactivations: (seen 2026-10-08) - status page: (seen 2026-10-08) - status history feed: (seen 2026-10-08) - scheduled maintenance of 19 September 2026: (seen 2026-10-08) - product changelog: (seen 2026-10-08) - remote MCP server announcement: (seen 2026-10-08) - MCP consent and permission update: (seen 2026-10-08) - legacy upload endpoints sunset notice: (seen 2026-10-08) - security page: (seen 2026-10-08) - security.txt: (seen 2026-10-08) - terms of service: (seen 2026-10-08) - privacy policy: (seen 2026-10-08) - GDPR page: (seen 2026-10-08) - API clients repository: (seen 2026-10-08) - CLI repository: (seen 2026-10-08) - npm registry, @datocms/cma-client: (seen 2026-10-08) - official MCP registry search: (seen 2026-10-08) ## Who's behind it (provenance 94/100, checked 2026-10-08) | Check | Finding | Points | | --- | --- | --- | | Legal entity named | Dato Srl | 20/20 | | Domain age | datocms.com, registered 2016-03-18 (10 years) | 15/15 | | Endpoint on the vendor's domain | site-api.datocms.com | 15/15 | | Terms of service | published, but our reader couldn't read it | 7/10 | | Privacy policy | published, but our reader couldn't read it | 7/10 | | Status page | status.datocms.com | 10/10 | | Changelog | published | 10/10 | | security.txt | valid | 10/10 | 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. ### Terms and privacy, as read A reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice. **Terms of service** (https://www.datocms.com/legal/terms), read 2026-10-08. Our reader couldn't read it (robots.txt asks readers like ours not to fetch it). **Privacy policy** (https://www.datocms.com/legal/privacy-policy), read 2026-10-08. Our reader couldn't read it (robots.txt asks readers like ours not to fetch it). ## Live (updated 2026-10-08 22:39 UTC) - Right now: up, HTTP 404, 56 ms, checked 2026-10-08 22:39 UTC (get on `https://site-api.datocms.com`) - Uptime 24h 100.0% (36 probes) · 30 days 100.0% (36 probes) · p50 66 ms · p95 113 ms - Vendor status page: unknown, no machine-readable status found - Always current: https://www.anchorterminal.com/api/v1/live/datocms.json ## Probe metrics Not measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score. ## 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 ## Before you call it (notes for agents) 1. Send `X-Api-Version: 3` and `Accept: application/json` on every request, with `Content-Type: application/vnd.api+json` on writes 2. Records are `items`, models are `item_types` and assets are `uploads` in every path and payload 3. Save a record, then call the publish endpoint as a separate PUT. Send `meta.current_version` on updates and re-fetch on `STALE_ITEM_VERSION` 4. Stay under 60 requests every 3 seconds. On 429 wait the seconds in `x-ratelimit-reset`, and retry any error whose body has `transient` set to true 5. Fork a sandbox environment for schema changes and promote it when checked. Use `POST /items/validate` to test a payload without saving it ## Connect Install: ```bash npm install @datocms/cma-client-node ``` First request: ```bash curl \ -H 'Authorization: Bearer ' \ -H 'Accept: application/json' \ -H 'X-Api-Version: 3' \ https://site-api.datocms.com/site ``` Claude Code: ```bash claude mcp add --transport http DatoCMS https://mcp.datocms.com ``` MCP client configuration: ```json { "mcpServers": { "DatoCMS": { "type": "http", "url": "https://mcp.datocms.com" } } } ``` Through letme (picks today, calling later): https://letme.dev/datocms (letme picks it for cms.assets, the top-graded tool for the job, letme picks it for cms.content, the top-graded tool for the job, letme picks it for cms.localisation, the top-graded tool for the job, letme picks it for cms.publish, the top-graded tool for the job, letme picks it for cms.schema, the top-graded tool for the job). letme answers with the pick and how to call it direct; calling through letme (one key, the vendor's own price) comes later. How it works: https://www.anchorterminal.com/letme/index.md ## Similar tools Ranked by shared capabilities, then score. Same-category tools with no shared capability key are listed last. | Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown | | --- | --- | --- | --- | --- | --- | --- | | Sanity | BB | 73.7 | 73 | cms.content, cms.publish, cms.assets, cms.schema, cms.localisation | no | https://www.anchorterminal.com/tools/sanity.md | | Webflow | B | 69.4 | 160 | cms.content, cms.publish, cms.assets, cms.schema, cms.localisation | no | https://www.anchorterminal.com/tools/webflow.md | | Storyblok | B | 67.7 | 202 | cms.content, cms.publish, cms.assets, cms.localisation, cms.schema | no | https://www.anchorterminal.com/tools/storyblok.md | | Directus | B | 67.1 | 217 | cms.content, cms.schema, cms.assets, cms.publish, cms.localisation | no | https://www.anchorterminal.com/tools/directus.md | | Strapi | B | 65.7 | 252 | cms.content, cms.publish, cms.localisation, cms.assets, cms.schema | no | https://www.anchorterminal.com/tools/strapi.md | | Contentstack | B | 64 | 288 | cms.content, cms.publish, cms.assets, cms.localisation, cms.schema | no | https://www.anchorterminal.com/tools/contentstack.md | ## Panel reviews (0) Reviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): . Desk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md ## Notable - The Content Management API has 53 resources and 202 operations in its JSON Hyper-Schema (76 GET, 52 POST, 44 PUT, 30 DELETE), and the vendor describes it as 40+ resources and 150+ endpoints (source: ) - The rate limit is 60 requests every 3 seconds, with `x-ratelimit-limit` and `x-ratelimit-remaining` on every response and `x-ratelimit-reset` on a 429 (source: ) - The hosted MCP server at https://mcp.datocms.com launched on 26 May 2026 and runs agent-written TypeScript in an isolated runner, with separate read-only and read-write execution tools (source: ) - Since 14 September 2026 the MCP consent screen has three access levels (read only, read and edit content, anything the user can do) and names unverified client apps (source: ) - MCP script limits are 20 seconds a script and 50 minutes a month on free plans, 60 seconds and 400 minutes on paid plans, with 32 KB of output. The docs say these apply during the initial beta phase (source: ) - DatoCMS tells users with a local terminal to install its Agent Skills and CLI in place of the MCP server (source: ) - The site publishes agent discovery files, among them `/.well-known/api-catalog`, `/.well-known/mcp.json`, `/.well-known/auth.md` and an agent skills index (source: ) - The terms of service bar creating accounts with bots or automated systems, and bar using the service for benchmarking or comparative analysis without written consent (source: ) - The official MCP registry returned no entry for datocms. The vendor's own server card names the server `com.datocms/mcp` (source: ) ## Compare - [Contentstack vs DatoCMS](https://www.anchorterminal.com/compare/contentstack-vs-datocms.md): B 64 vs BB 74.4 - [DatoCMS vs Directus](https://www.anchorterminal.com/compare/datocms-vs-directus.md): BB 74.4 vs B 67.1 - [DatoCMS vs Ghost](https://www.anchorterminal.com/compare/datocms-vs-ghost.md): BB 74.4 vs C 58.3 - [DatoCMS vs Payload](https://www.anchorterminal.com/compare/datocms-vs-payload.md): BB 74.4 vs C 55.2 - [DatoCMS vs Sanity](https://www.anchorterminal.com/compare/datocms-vs-sanity.md): BB 74.4 vs BB 73.7 - [DatoCMS vs Storyblok](https://www.anchorterminal.com/compare/datocms-vs-storyblok.md): BB 74.4 vs B 67.7 - [DatoCMS vs Strapi](https://www.anchorterminal.com/compare/datocms-vs-strapi.md): BB 74.4 vs B 65.7 - [DatoCMS vs Webflow](https://www.anchorterminal.com/compare/datocms-vs-webflow.md): BB 74.4 vs B 69.4 - [DatoCMS vs WordPress](https://www.anchorterminal.com/compare/datocms-vs-wordpress.md): BB 74.4 vs B 64.8 ## Verify this listing For the vendor. The badge or a plain link to this page verifies the listing, from a page on datocms.com or one of its subdomains, or the README of github.com/datocms/js-rest-api-clients. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{"slug": "datocms", "url": "…"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify HTML badge: ```html DatoCMS on Anchor Terminal ``` Markdown badge, for a README: ```markdown [![DatoCMS on Anchor Terminal](https://www.anchorterminal.com/badges/datocms.svg)](https://www.anchorterminal.com/tools/datocms) ``` Plain link: ```html DatoCMS on Anchor Terminal ``` ## Share this listing For the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say DatoCMS is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score. - Dark: https://www.anchorterminal.com/assets/share/datocms-dark.png - Light: https://www.anchorterminal.com/assets/share/datocms-light.png