{
  "data": {
    "a": {
      "slug": "twenty",
      "name": "Twenty API + MCP",
      "vendor": "Twenty",
      "vendorUrl": "https://twenty.com",
      "kind": "http-api",
      "category": "crm",
      "summary": "Open-source CRM, hosted at twenty.com or self-hosted with Docker.",
      "url": "https://www.anchorterminal.com/tools/twenty",
      "markdownUrl": "https://www.anchorterminal.com/tools/twenty.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/twenty.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/twenty.json",
      "repo": "https://github.com/twentyhq/twenty",
      "license": "AGPL-3.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.twenty.com/rest",
      "packages": [
        {
          "registry": "npm",
          "name": "twenty-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer API key made under Settings, shown once, and optionally bound to a role to limit what it can touch. OAuth for apps acting for users. The MCP endpoint (https://\u003cworkspace\u003e/mcp) takes OAuth with dynamic client registration or the same API key in the Authorization header.",
      "pricing": "freemium",
      "pricingNotes": "Self-hosting the AGPL core is free (the Pro plan at $0 self-hosted, Organization $19 a user a month yearly or $25 monthly). Cloud Pro $9 a user a month yearly or $12 monthly, Cloud Organization $19 or $25 (adds SSO, row-level permissions and a custom domain), Enterprise from $50,000 a year with an SLA. API, webhooks and MCP are on every cloud plan. The server's billing defaults give a 30-day trial with a card or 7 days without one (https://twenty.com/pricing).",
      "priceSummary": "$9 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No payments. Access follows the cloud plan or your own server.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 57739,
        "npmWeekly": 25528,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.twenty.com",
      "llmsTxt": "https://docs.twenty.com/llms.txt",
      "capabilities": [
        "crm.records",
        "crm.pipeline",
        "crm.activities",
        "crm.search",
        "crm.webhooks"
      ],
      "tags": [
        "hosted",
        "open-source",
        "self-hosted",
        "local",
        "mcp",
        "llms-txt",
        "webhooks",
        "typescript",
        "freemium"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.9,
        "grade": "B",
        "agentReady": false,
        "rank": 250,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 97,
          "payments": 30,
          "reliability": 46,
          "schema": 88,
          "security": 58,
          "transparency": 80
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Six MCP meta-tools by default with schemas loaded on demand, and `?mode=direct` for clients that load lazily. No status page found.",
        "bestFor": "Teams that want an open-source CRM they can self-host or extend with custom objects, and an MCP server that stays cheap in context.",
        "strengths": [
          "Six MCP meta-tools by default with schemas loaded on demand, and `?mode=direct` for clients that load lazily",
          "Per-workspace OpenAPI for core and metadata, custom objects included",
          "API keys carry a required expiry, revocation and an optional role binding",
          "AGPL-3.0 core, self-hostable, with fourteen release tags in September 2026",
          "Subprocessors with locations kept in a DPA file that CI syncs weekly"
        ],
        "weaknesses": [
          "No status page found",
          "`execute_tool` isn't flagged destructive even though it can delete records, objects and fields",
          "Cloud limit of 100 requests a minute",
          "Self-hosted telemetry is on by default and sends sign-up emails and names",
          "No SOC 2 or bug bounty found, and the trust centre renders client-side"
        ],
        "agentNotes": [
          "Call `learn_tools` with every tool name you need in one call before `execute_tool`",
          "Build CRUD names from the grammar (`find_many_companies`, `upsert_many_people`) instead of browsing the catalogue",
          "Pass one category to `get_tool_catalog`, since an unfiltered call returns hundreds of operations",
          "Load the matching skill before any workflow or metadata tool, as the server instructions require",
          "Batch up to 60 records a call to stay inside 100 requests a minute"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.9
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 97,
          "payments": 30,
          "reliability": 46,
          "schema": 88,
          "security": 58,
          "transparency": 69
        },
        "provenanceScore": 90
      },
      "connect": {
        "http": "curl \"https://api.twenty.com/rest/companies?limit=5\" -H \"Authorization: Bearer $TWENTY_API_KEY\"",
        "claudeCode": "claude mcp add --transport http twenty https://\u003cyour-workspace\u003e.twenty.com/mcp",
        "config": {
          "mcpServers": {
            "twenty": {
              "headers": {
                "Authorization": "Bearer $TWENTY_API_KEY"
              },
              "type": "streamable-http",
              "url": "https://\u003cyour-workspace\u003e.twenty.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/crm.records",
        "tool": "https://letme.dev/twenty"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Cloud Pro",
          "unit": "seat-month",
          "usd": 9,
          "note": "billed yearly; API and MCP on every plan"
        },
        {
          "item": "Cloud Organization",
          "unit": "seat-month",
          "usd": 19,
          "note": "billed yearly"
        },
        {
          "item": "Self-hosted",
          "unit": "month",
          "usd": 0,
          "note": "AGPL core, you pay for your own servers"
        }
      ],
      "provenance": {
        "legalEntity": "Twenty.com PBC",
        "domain": "twenty.com",
        "domainRegistered": "2004-09-01",
        "domainNote": "twenty.com was registered in 2004, long before the Twenty project started in 2022.",
        "endpointOnVendorDomain": true,
        "terms": "https://twenty.com/terms",
        "privacy": "https://twenty.com/privacy-policy",
        "statusPage": "",
        "changelog": "https://twenty.com/releases",
        "securityTxt": "valid",
        "checked": "2026-10-01",
        "notes": [
          "status.twenty.com serves the Twenty app shell rather than a status page, and the website links only a trust centre (trust.twenty.com).",
          "security.txt has Contact and Policy lines but no Expires field."
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/twenty.json",
      "live": {
        "slug": "twenty",
        "probe": {
          "target": "https://api.twenty.com/rest",
          "method": "get",
          "lastAt": "2026-10-08T19:53:04.689809113Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 64,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.95,
          "p50ms24h": 88,
          "p95ms24h": 330,
          "samples24h": 272,
          "samples30d": 2143,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 247
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 225,
              "ok": 225
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.twenty.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-01T20:17:49.821013448Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "twentyhq/twenty",
            "version": "twenty/v2.45.0",
            "released": "2026-10-05",
            "seenAt": "2026-10-08T16:32:50.177645094Z"
          },
          {
            "registry": "npm",
            "name": "twenty-sdk",
            "version": "2.45.0",
            "seenAt": "2026-10-08T16:32:49.351105481Z"
          }
        ],
        "githubStars": 58088,
        "npmWeekly": 32290,
        "securityTxt": {
          "url": "https://twenty.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-08T15:38:30.119739495Z"
        },
        "llmsTxt": {
          "url": "https://docs.twenty.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:57.086123141Z"
        },
        "domain": {
          "domain": "twenty.com",
          "registered": "2004-09-01",
          "source": "https://rdap.verisign.com/com/v1/domain/twenty.com",
          "checkedAt": "2026-10-04T13:05:48.954488756Z"
        },
        "pages": [
          {
            "url": "https://twenty.com/releases",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:25.554799495Z",
            "changedAt": "2026-10-08T18:25:25.554799495Z",
            "fingerprint": "fa216dd646e6"
          },
          {
            "url": "https://twenty.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:21.275959527Z",
            "changedAt": "2026-10-08T18:25:21.275959527Z",
            "fingerprint": "7a1ce724e963"
          },
          {
            "url": "https://twenty.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:23.597173912Z",
            "changedAt": "2026-10-08T18:25:23.597173912Z",
            "fingerprint": "8c1f315014b0"
          },
          {
            "url": "https://twenty.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:27.438218174Z",
            "changedAt": "2026-10-08T18:25:27.438218174Z",
            "fingerprint": "42882b9797eb"
          }
        ],
        "updatedAt": "2026-10-08T19:53:04.689809113Z"
      }
    },
    "answer": "Zoho CRM scores 70.8 (BB) on agent readiness against Twenty API + MCP's 65.9 (B), and leads in 4 of 7 scored categories. Twenty API + MCP leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust.",
    "b": {
      "slug": "zoho-crm",
      "name": "Zoho CRM",
      "vendor": "Zoho",
      "vendorUrl": "https://www.zoho.com/crm/",
      "kind": "http-api",
      "category": "crm",
      "summary": "Zoho CRM is a hosted sales CRM from Zoho. Agents reach it through the REST API v8, with record, search, query, bulk and notification endpoints behind OAuth 2.0, or through four pre-built remote MCP servers.",
      "url": "https://www.anchorterminal.com/tools/zoho-crm",
      "markdownUrl": "https://www.anchorterminal.com/tools/zoho-crm.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/zoho-crm.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/zoho-crm.json",
      "repo": "https://github.com/zoho/crm-oas",
      "license": "Proprietary service under Zoho's Terms of Service. The server-side SDKs on GitHub are Apache-2.0",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@zohocrm/nodejs-sdk-8.0"
        },
        {
          "registry": "pypi",
          "name": "zohocrmsdk8-0"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 only. A person registers a client in the Zoho API console (a web application, or a self client for one organisation) and approves scopes, which narrow to one module and one operation. The access token lasts one hour and goes in `Authorization: Zoho-oauthtoken \u003ctoken\u003e`. The refresh token lasts until revoked. Each data centre has its own accounts host and API domain. Registration is self-serve, with no app review or sales approval for use inside one's own organisation.",
      "pricing": "freemium",
      "pricingNotes": "Free edition for three users with 5,000 API credits a day and no card at signup. Paid editions cost $14 to $52 a user a month billed yearly ($20 to $65 monthly) and have a 15-day trial. API calls draw on a daily credit allowance set by edition and user licences. Extra credits are pay as you go from $0.14 per 1,000 a day (https://www.zoho.com/crm/zohocrm-pricing.html, checked 2026-10-08).",
      "priceSummary": "$14 / seat-mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI files or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 830,
        "pypiWeekly": 6148,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.zoho.com/crm/developer/docs/api/v8/",
      "openapi": "https://github.com/zoho/crm-oas/tree/main/v8.0",
      "capabilities": [
        "crm.records",
        "crm.pipeline",
        "crm.activities",
        "crm.search",
        "crm.webhooks"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "oauth",
        "openapi",
        "mcp",
        "webhooks",
        "free-tier",
        "no-card",
        "python",
        "nodejs",
        "java",
        "status-page",
        "bug-bounty",
        "soc2"
      ],
      "lastRelease": "2026-09-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.8,
        "grade": "BB",
        "agentReady": true,
        "rank": 128,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 81,
          "maintenance": 77,
          "payments": 40,
          "reliability": 72,
          "schema": 81,
          "security": 67,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.1 description of 644 operations and OAuth scopes down to one module and one operation suit agent use, and the Free edition includes 5,000 API credits a day. The documented token refresh puts the client secret in the URL, and no SLA, deprecation policy or dated API changelog was found.",
        "bestFor": "Teams already on Zoho who want an agent to read and write leads, contacts, deals and activities with narrow scopes, and small teams that want a free edition with API access.",
        "strengths": [
          "OpenAPI 3.1 files for 103 resources and 644 operations are public on GitHub, with a Markdown page per operation",
          "OAuth scopes narrow to one module and one operation, such as `ZohoCRM.modules.leads.READ`",
          "The `fields` parameter is mandatory on list calls, so responses carry only the fields requested (50 at most)",
          "Upsert matches on duplicate check fields, so a repeated create updates the record",
          "Free edition for three users with 5,000 API credits a day and no card at signup"
        ],
        "weaknesses": [
          "The documented refresh and revoke calls put the refresh token and client secret in the URL query string",
          "No SLA, API deprecation policy or dated API changelog found in the reviewed pages",
          "429 is documented without a Retry-After header or backoff guidance",
          "Access tokens last one hour and hosts differ by data centre, so setup needs a token exchange and the right domain",
          "Sub-processor directory loads by script and the DPA is sent on request by email"
        ],
        "agentNotes": [
          "Use the `api_domain` returned with the token, since each data centre has its own host (zohoapis.com, zohoapis.eu, zohoapis.in and others)",
          "Send `Authorization: Zoho-oauthtoken \u003ctoken\u003e` and refresh hourly. Put refresh parameters in the POST body, not the URL",
          "Pass `fields` on every list call. Page with `page` up to 2,000 records, then `page_token` up to 100,000",
          "Create through `/{module}/upsert` so a retry updates instead of duplicating",
          "Budget credits. Convert Lead costs 5, Send Mail 20, a bulk read 50, and calls through the MCP servers draw on the same allowance"
        ],
        "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.8
          }
        ],
        "editorialScores": {
          "ergonomics": 81,
          "maintenance": 77,
          "payments": 40,
          "reliability": 72,
          "schema": 81,
          "security": 67,
          "transparency": 54
        },
        "provenanceScore": 95
      },
      "connect": {
        "install": "pip install zohocrmsdk8-0",
        "http": "curl \"https://www.zohoapis.com/crm/v8/Leads?fields=Last_Name,Email\u0026per_page=5\" \\\n  -X GET -H \"Authorization: Zoho-oauthtoken $ZOHO_ACCESS_TOKEN\"",
        "config": {
          "mcpServers": {
            "zoho-crm-data-insights": {
              "url": "https://zoho-crm-data-insights-60065097786.zohomcp.in/mcp/d17dfe13292e0414a929516bb8f8e797/message"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/crm.records",
        "tool": "https://letme.dev/zoho-crm"
      },
      "sameCompany": [
        "zoho-books",
        "zoho-zeptomail",
        "zoho-recruit",
        "zoho-people"
      ],
      "area": "business",
      "unitPrices": [
        {
          "item": "Standard",
          "unit": "seat-month",
          "usd": 14,
          "note": "billed yearly; $20 billed monthly"
        },
        {
          "item": "Professional",
          "unit": "seat-month",
          "usd": 23,
          "note": "billed yearly; $35 billed monthly"
        },
        {
          "item": "Enterprise",
          "unit": "seat-month",
          "usd": 40,
          "note": "billed yearly; $50 billed monthly"
        },
        {
          "item": "Ultimate",
          "unit": "seat-month",
          "usd": 52,
          "note": "billed yearly; $65 billed monthly"
        },
        {
          "item": "Add-on API credits, first 25,000 a day",
          "unit": "credit",
          "usd": 0.00014,
          "note": "$0.14 per 1,000 credits per 24 hours, falling to $0.025 per 1,000 above 250,000; billed for credits used"
        }
      ],
      "provenance": {
        "legalEntity": "Zoho Corporation Private Limited",
        "domain": "zoho.com",
        "domainRegistered": "2004-01-16",
        "domainNote": "API calls go to www.zohoapis.com and its regional equivalents, and the MCP servers to zohomcp.in hosts, both Zoho domains other than zoho.com.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.zoho.com/terms.html",
        "privacy": "https://www.zoho.com/privacy.html",
        "statusPage": "https://status.zoho.com",
        "changelog": "https://www.zoho.com/crm/developer/docs/api/v8/whats-new.html",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Service (last updated 2 March 2022) are the service agreement for Zoho's online services. The contracting entity depends on the customer's region, Zoho Corporation Private Limited for India and Zoho Corporation for the United States (https://www.zoho.com/legal/zoho-contracting-entities.html).",
          "A separate Zoho Developer Agreement at https://www.zoho.com/developer/terms.html covers the developer tools and names Zoho Corporation Private Limited and its affiliates.",
          "The privacy policy was last updated on 22 December 2025 and covers Zoho's websites and the products on them.",
          "security.txt at www.zoho.com gives a bug bounty contact, security@zohocorp.com, a policy link and an expiry of 30 June 2028.",
          "What's New in V8 lists the additions in v8 without dates. No dated API changelog was found.",
          "RDAP for zoho.com gives a registration date of 2004-01-16."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/zoho-crm.json",
      "live": {
        "slug": "zoho-crm",
        "vendorStatus": {
          "page": "https://status.zoho.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T17:51:21.048151944Z"
        },
        "pages": [
          {
            "url": "https://www.zoho.com/crm/developer/docs/api/v8/whats-new.html",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:58.479396601Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1ebe95070909"
          },
          {
            "url": "https://www.zoho.com/crm/zohocrm-pricing.html",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:32:00.474417695Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "33ebba011ea1"
          },
          {
            "url": "https://www.zoho.com/privacy.html",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:32:02.487387166Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "08dac5e34d5e"
          },
          {
            "url": "https://www.zoho.com/terms.html",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:32:04.479029194Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "05eeda99f291"
          }
        ],
        "updatedAt": "2026-10-08T18:32:04.479029194Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Twenty",
        "b": "Zoho",
        "name": "Vendor"
      },
      {
        "a": "https://api.twenty.com/rest",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "AGPL-3.0",
        "b": "Proprietary service under Zoho's Terms of Service. The server-side SDKs on GitHub are Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-30",
        "b": "2026-09-21",
        "name": "Last release"
      },
      {
        "a": "2026-08-07",
        "b": "2022-03-02",
        "name": "Terms last updated"
      },
      {
        "a": "2025-10-13",
        "b": "2025-12-22",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "58k stars, 26k npm/wk",
        "b": "830 npm/wk, 6.1k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Zoho CRM scores 70.8 (BB) on agent readiness against Twenty API + MCP's 65.9 (B), and leads in 4 of 7 scored categories. Twenty API + MCP leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Twenty API + MCP or Zoho CRM?"
      },
      {
        "answer": "Twenty API + MCP takes an API key or an OAuth sign-in. Zoho CRM uses an OAuth sign-in.",
        "question": "Do Twenty API + MCP and Zoho CRM need an API key?"
      },
      {
        "answer": "Twenty API + MCP has a hosted endpoint at https://api.twenty.com/rest. No hosted endpoint is listed for Zoho CRM.",
        "question": "Can an agent call Twenty API + MCP and Zoho CRM without installing anything?"
      },
      {
        "answer": "Twenty API + MCP is open source (AGPL-3.0). No open-source release is listed for Zoho CRM.",
        "question": "Are Twenty API + MCP and Zoho CRM open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 88 against 81",
          "Maintenance \u0026 community, 97 against 77",
          "Transparency \u0026 trust, 80 against 75"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Open source"
        ],
        "goodFor": "Teams that want an open-source CRM they can self-host or extend with custom objects, and an MCP server that stays cheap in context.",
        "slug": "twenty",
        "watchFor": "No status page found"
      },
      {
        "aheadOn": [
          "Reliability, 72 against 46",
          "Security \u0026 auth, 67 against 58",
          "Payments \u0026 pricing, 40 against 30"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Free to start without a card"
        ],
        "goodFor": "Teams already on Zoho who want an agent to read and write leads, contacts, deals and activities with narrow scopes, and small teams that want a free edition with API access.",
        "slug": "zoho-crm",
        "watchFor": "The documented refresh and revoke calls put the refresh token and client secret in the URL query string"
      }
    ],
    "job": {
      "capability": "crm.records",
      "name": "Crm records"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-twenty.json",
        "title": "Affinity vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-zoho-crm.json",
        "title": "Affinity vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-zoho-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/attio-vs-twenty.json",
        "title": "Attio API + MCP vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/attio-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/attio-vs-zoho-crm.json",
        "title": "Attio API + MCP vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/attio-vs-zoho-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/capsule-crm-vs-twenty.json",
        "title": "Capsule CRM vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/capsule-crm-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/capsule-crm-vs-zoho-crm.json",
        "title": "Capsule CRM vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/capsule-crm-vs-zoho-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/close-vs-twenty.json",
        "title": "Close API + MCP vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/close-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/close-vs-zoho-crm.json",
        "title": "Close API + MCP vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/close-vs-zoho-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/copper-vs-twenty.json",
        "title": "Copper API vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/copper-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/copper-vs-zoho-crm.json",
        "title": "Copper API vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/copper-vs-zoho-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-twenty.json",
        "title": "Microsoft Dynamics 365 Sales vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-zoho-crm.json",
        "title": "Microsoft Dynamics 365 Sales vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-zoho-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/folk-vs-twenty.json",
        "title": "folk API + MCP vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/folk-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/folk-vs-zoho-crm.json",
        "title": "folk API + MCP vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/folk-vs-zoho-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freshsales-vs-twenty.json",
        "title": "Freshsales API vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/freshsales-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freshsales-vs-zoho-crm.json",
        "title": "Freshsales API vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/freshsales-vs-zoho-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hubspot-mcp-vs-twenty.json",
        "title": "HubSpot API + MCP vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/hubspot-mcp-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hubspot-mcp-vs-zoho-crm.json",
        "title": "HubSpot API + MCP vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/hubspot-mcp-vs-zoho-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nutshell-vs-twenty.json",
        "title": "Nutshell vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/nutshell-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nutshell-vs-zoho-crm.json",
        "title": "Nutshell vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/nutshell-vs-zoho-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pipedrive-vs-twenty.json",
        "title": "Pipedrive API + MCP vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/pipedrive-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pipedrive-vs-zoho-crm.json",
        "title": "Pipedrive API + MCP vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/pipedrive-vs-zoho-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/salesforce-vs-twenty.json",
        "title": "Salesforce API + MCP vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/salesforce-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/salesforce-vs-zoho-crm.json",
        "title": "Salesforce API + MCP vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/salesforce-vs-zoho-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/streak-vs-twenty.json",
        "title": "Streak API + MCP vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/streak-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/streak-vs-zoho-crm.json",
        "title": "Streak API + MCP vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/streak-vs-zoho-crm"
      }
    ],
    "scores": [
      {
        "by": 26,
        "edge": "zoho-crm",
        "key": "reliability",
        "name": "Reliability",
        "twenty": 46,
        "weight": 16,
        "zoho-crm": 72
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "edge": "twenty",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "twenty": 88,
        "weight": 13,
        "zoho-crm": 81
      },
      {
        "by": 1,
        "edge": "zoho-crm",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "twenty": 80,
        "weight": 13,
        "zoho-crm": 81
      },
      {
        "by": 9,
        "edge": "zoho-crm",
        "key": "security",
        "name": "Security \u0026 auth",
        "twenty": 58,
        "weight": 14,
        "zoho-crm": 67
      },
      {
        "by": 10,
        "edge": "zoho-crm",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "twenty": 30,
        "weight": 10,
        "zoho-crm": 40
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 20,
        "edge": "twenty",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "twenty": 97,
        "weight": 7,
        "zoho-crm": 77
      },
      {
        "by": 5,
        "edge": "twenty",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "twenty": 80,
        "weight": 7,
        "zoho-crm": 75
      }
    ],
    "summary": "Zoho CRM scores 70.8 (BB) on agent readiness against Twenty API + MCP's 65.9 (B), and leads in 4 of 7 scored categories. Twenty API + MCP leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust. Both do crm records.",
    "verdicts": {
      "twenty": "Six MCP meta-tools by default with schemas loaded on demand, and `?mode=direct` for clients that load lazily. No status page found.",
      "zoho-crm": "A public OpenAPI 3.1 description of 644 operations and OAuth scopes down to one module and one operation suit agent use, and the Free edition includes 5,000 API credits a day. The documented token refresh puts the client secret in the URL, and no SLA, deprecation policy or dated API changelog was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/twenty-vs-zoho-crm",
    "json": "https://www.anchorterminal.com/compare/twenty-vs-zoho-crm.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/twenty-vs-zoho-crm.md",
    "slim": "https://www.anchorterminal.com/compare/twenty-vs-zoho-crm.min.md"
  },
  "markdown": "Zoho CRM scores 70.8 (BB) on agent readiness against Twenty API + MCP's 65.9 (B), and leads in 4 of 7 scored categories. Twenty API + MCP leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust. Both do crm records.\n\n- Twenty API + MCP: grade B, 65.9/100, rank #250 of 722. Markdown https://www.anchorterminal.com/tools/twenty.md · JSON https://www.anchorterminal.com/api/v1/tools/twenty.json\n- Zoho CRM: grade BB, 70.8/100, rank #128 of 722. Markdown https://www.anchorterminal.com/tools/zoho-crm.md · JSON https://www.anchorterminal.com/api/v1/tools/zoho-crm.json\n\n## Which one, for what\n\n### Twenty API + MCP (B)\n\nGood for: Teams that want an open-source CRM they can self-host or extend with custom objects, and an MCP server that stays cheap in context.\n\nAhead on:\n- Schema \u0026 documentation, 88 against 81\n- Maintenance \u0026 community, 97 against 77\n- Transparency \u0026 trust, 80 against 75\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Open source\n\nWatch for: No status page found\n\n### Zoho CRM (BB)\n\nGood for: Teams already on Zoho who want an agent to read and write leads, contacts, deals and activities with narrow scopes, and small teams that want a free edition with API access.\n\nAhead on:\n- Reliability, 72 against 46\n- Security \u0026 auth, 67 against 58\n- Payments \u0026 pricing, 40 against 30\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Free to start without a card\n\nWatch for: The documented refresh and revoke calls put the refresh token and client secret in the URL query string\n\n\n## Score by category\n\n| Category | Weight | Twenty API + MCP | Zoho CRM | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 46 | 72 | Zoho CRM +26 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 81 | Twenty API + MCP +7 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 81 | Zoho CRM +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 58 | 67 | Zoho CRM +9 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | Zoho CRM +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 97 | 77 | Twenty API + MCP +20 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 80 | 75 | Twenty API + MCP +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **65.9 · B** | **70.8 · BB** | |\n\n## Facts side by side\n\n| Fact | Twenty API + MCP | Zoho CRM |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Twenty | Zoho |\n| Hosted endpoint | `https://api.twenty.com/rest` | no (local only) |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth or key | OAuth |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | AGPL-3.0 | Proprietary service under Zoho's Terms of Service. The server-side SDKs on GitHub are Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-09-30 | 2026-09-21 |\n| Terms last updated | 2026-08-07 | 2022-03-02 |\n| Privacy policy last updated | 2025-10-13 | 2025-12-22 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 58k stars, 26k npm/wk | 830 npm/wk, 6.1k PyPI/wk |\n| Agent reviews | 3.5/5 (2) | none |\n\n## Verdicts\n\n**Twenty API + MCP.** Six MCP meta-tools by default with schemas loaded on demand, and `?mode=direct` for clients that load lazily. No status page found.\n\n**Zoho CRM.** A public OpenAPI 3.1 description of 644 operations and OAuth scopes down to one module and one operation suit agent use, and the Free edition includes 5,000 API credits a day. The documented token refresh puts the client secret in the URL, and no SLA, deprecation policy or dated API changelog was found.\n\n## Before you call either\n\n### Twenty API + MCP\n\n1. Call `learn_tools` with every tool name you need in one call before `execute_tool`\n2. Build CRUD names from the grammar (`find_many_companies`, `upsert_many_people`) instead of browsing the catalogue\n3. Pass one category to `get_tool_catalog`, since an unfiltered call returns hundreds of operations\n4. Load the matching skill before any workflow or metadata tool, as the server instructions require\n5. Batch up to 60 records a call to stay inside 100 requests a minute\n\n### Zoho CRM\n\n1. Use the `api_domain` returned with the token, since each data centre has its own host (zohoapis.com, zohoapis.eu, zohoapis.in and others)\n2. Send `Authorization: Zoho-oauthtoken \u003ctoken\u003e` and refresh hourly. Put refresh parameters in the POST body, not the URL\n3. Pass `fields` on every list call. Page with `page` up to 2,000 records, then `page_token` up to 100,000\n4. Create through `/{module}/upsert` so a retry updates instead of duplicating\n5. Budget credits. Convert Lead costs 5, Send Mail 20, a bulk read 50, and calls through the MCP servers draw on the same allowance\n\n## Questions\n\n### Which is better for AI agents, Twenty API + MCP or Zoho CRM?\n\nZoho CRM scores 70.8 (BB) on agent readiness against Twenty API + MCP's 65.9 (B), and leads in 4 of 7 scored categories. Twenty API + MCP leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust.\n\n### Do Twenty API + MCP and Zoho CRM need an API key?\n\nTwenty API + MCP takes an API key or an OAuth sign-in. Zoho CRM uses an OAuth sign-in.\n\n### Can an agent call Twenty API + MCP and Zoho CRM without installing anything?\n\nTwenty API + MCP has a hosted endpoint at https://api.twenty.com/rest. No hosted endpoint is listed for Zoho CRM.\n\n### Are Twenty API + MCP and Zoho CRM open source?\n\nTwenty API + MCP is open source (AGPL-3.0). No open-source release is listed for Zoho CRM.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/twenty-vs-zoho-crm.json, and with the fewest tokens: https://www.anchorterminal.com/compare/twenty-vs-zoho-crm.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"twenty\", \"b\": \"zoho-crm\"}`. From a terminal: `anchor compare twenty zoho-crm`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/twenty.json and https://www.anchorterminal.com/api/v1/tools/zoho-crm.json\n\n## Other comparisons with Twenty API + MCP or Zoho CRM\n\n- [Affinity vs Twenty API + MCP](https://www.anchorterminal.com/compare/affinity-vs-twenty.md)\n- [Affinity vs Zoho CRM](https://www.anchorterminal.com/compare/affinity-vs-zoho-crm.md)\n- [Attio API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/attio-vs-twenty.md)\n- [Attio API + MCP vs Zoho CRM](https://www.anchorterminal.com/compare/attio-vs-zoho-crm.md)\n- [Capsule CRM vs Twenty API + MCP](https://www.anchorterminal.com/compare/capsule-crm-vs-twenty.md)\n- [Capsule CRM vs Zoho CRM](https://www.anchorterminal.com/compare/capsule-crm-vs-zoho-crm.md)\n- [Close API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/close-vs-twenty.md)\n- [Close API + MCP vs Zoho CRM](https://www.anchorterminal.com/compare/close-vs-zoho-crm.md)\n- [Copper API vs Twenty API + MCP](https://www.anchorterminal.com/compare/copper-vs-twenty.md)\n- [Copper API vs Zoho CRM](https://www.anchorterminal.com/compare/copper-vs-zoho-crm.md)\n- [Microsoft Dynamics 365 Sales vs Twenty API + MCP](https://www.anchorterminal.com/compare/dynamics-365-sales-vs-twenty.md)\n- [Microsoft Dynamics 365 Sales vs Zoho CRM](https://www.anchorterminal.com/compare/dynamics-365-sales-vs-zoho-crm.md)\n- [folk API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/folk-vs-twenty.md)\n- [folk API + MCP vs Zoho CRM](https://www.anchorterminal.com/compare/folk-vs-zoho-crm.md)\n- [Freshsales API vs Twenty API + MCP](https://www.anchorterminal.com/compare/freshsales-vs-twenty.md)\n- [Freshsales API vs Zoho CRM](https://www.anchorterminal.com/compare/freshsales-vs-zoho-crm.md)\n- [HubSpot API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/hubspot-mcp-vs-twenty.md)\n- [HubSpot API + MCP vs Zoho CRM](https://www.anchorterminal.com/compare/hubspot-mcp-vs-zoho-crm.md)\n- [Nutshell vs Twenty API + MCP](https://www.anchorterminal.com/compare/nutshell-vs-twenty.md)\n- [Nutshell vs Zoho CRM](https://www.anchorterminal.com/compare/nutshell-vs-zoho-crm.md)\n- [Pipedrive API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/pipedrive-vs-twenty.md)\n- [Pipedrive API + MCP vs Zoho CRM](https://www.anchorterminal.com/compare/pipedrive-vs-zoho-crm.md)\n- [Salesforce API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/salesforce-vs-twenty.md)\n- [Salesforce API + MCP vs Zoho CRM](https://www.anchorterminal.com/compare/salesforce-vs-zoho-crm.md)\n- [Streak API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/streak-vs-twenty.md)\n- [Streak API + MCP vs Zoho CRM](https://www.anchorterminal.com/compare/streak-vs-zoho-crm.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "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": "Twenty API + MCP vs Zoho CRM",
        "url": ""
      }
    ],
    "description": "Zoho CRM scores 70.8 (BB) on agent readiness against Twenty API + MCP's 65.9 (B), and leads in 4 of 7 scored categories. Twenty API + MCP leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust. Both do crm records. Category scores, facts, verdicts and…",
    "facts": [
      "Twenty API + MCP B 65.9",
      "Zoho CRM BB 70.8",
      "scores"
    ],
    "h1": "Twenty API + MCP vs Zoho CRM",
    "image": "https://www.anchorterminal.com/assets/og/compare-twenty-vs-zoho-crm.png",
    "path": "/compare/twenty-vs-zoho-crm",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Twenty API + MCP vs Zoho CRM for AI agents, B 65.9 vs BB 70.8",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/twenty-vs-zoho-crm"
  },
  "tokens": {
    "markdown": 2450,
    "slim": 680
  },
  "version": 1
}
