{
  "data": {
    "a": {
      "slug": "copper",
      "name": "Copper API",
      "vendor": "Copper",
      "vendorUrl": "https://www.copper.com",
      "kind": "http-api",
      "category": "crm",
      "summary": "REST API for Copper, the CRM built around Google Workspace.",
      "url": "https://www.anchorterminal.com/tools/copper",
      "markdownUrl": "https://www.anchorterminal.com/tools/copper.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/copper.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/copper.json",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.copper.com/developer_api/v1",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Personal API key sent in the `X-PW-AccessToken` header together with `X-PW-Application: developer_api` and `X-PW-UserEmail` (the email of the key's owner). Keys are generated under System settings, API Keys, and admins can see every user's keys. OAuth 2.0 (added 2023-08-11) is the route for partner integrations.",
      "pricing": "paid",
      "pricingNotes": "No free plan, only a trial, and the pricing page says no card is needed. Basic $29 a seat a month billed monthly or $23 billed yearly (2,500 contacts), Professional $69 or $59 (15,000 contacts), Business $134 or $99 (unlimited contacts). API access is documented for Professional, Business and the trial, not Basic (https://www.copper.com/pricing).",
      "priceSummary": "$59 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No payments. API access follows the Copper subscription.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developer.copper.com",
      "capabilities": [
        "crm.records",
        "crm.pipeline",
        "crm.activities",
        "crm.search",
        "crm.webhooks"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "webhooks",
        "no-card"
      ],
      "lastRelease": "2026-07-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 46.9,
        "grade": "D",
        "agentReady": false,
        "rank": 392,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 8,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 40,
          "maintenance": 21,
          "payments": 30,
          "reliability": 79,
          "schema": 48,
          "security": 27,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Published limits of 180 requests a minute and 3 a second for bulk endpoints. No official MCP server, OpenAPI spec or llms.txt.",
        "strengths": [
          "Published limits of 180 requests a minute and 3 a second for bulk endpoints",
          "No status incidents between 3 July and 1 October 2026",
          "Privacy policy states US-only hosting, a 180-day purge after expiry and no AI training on Workspace API data",
          "Webhook subscriptions per entity and event, with custom headers",
          "Trial with no card, per the pricing page"
        ],
        "weaknesses": [
          "No official MCP server, OpenAPI spec or llms.txt",
          "API keys carry the owner's full rights, and admins can see every user's key",
          "No documented error format, Retry-After or idempotency",
          "Basic plan has no API access, so the first plan with it costs $59 a seat a month yearly",
          "Three changelog entries in 2026, and bulk endpoints still beta since 2023"
        ],
        "agentNotes": [
          "Send `X-PW-AccessToken`, `X-PW-Application: developer_api` and `X-PW-UserEmail` on every call, or it fails",
          "Set `page_size` to 200 and stop when a page comes back short, since `X-PW-TOTAL` is only an upper bound",
          "Back off on 429 on your own clock, since no Retry-After is documented",
          "Narrow searches that would pass 100,000 records, which is where results stop",
          "Read connect fields before you update a record, because an update that omits them can delete connections"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 1.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 46.9
          }
        ],
        "editorialScores": {
          "ergonomics": 40,
          "maintenance": 21,
          "payments": 30,
          "reliability": 79,
          "schema": 48,
          "security": 27,
          "transparency": 58
        },
        "provenanceScore": 90
      },
      "connect": {
        "http": "curl https://api.copper.com/developer_api/v1/account \\\n  -H \"X-PW-AccessToken: $COPPER_API_KEY\" -H \"X-PW-Application: developer_api\" \\\n  -H \"X-PW-UserEmail: $COPPER_USER_EMAIL\" -H \"Content-Type: application/json\""
      },
      "letme": {
        "capability": "https://letme.dev/crm.records",
        "tool": "https://letme.dev/copper"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Professional (first plan with API access)",
          "unit": "seat-month",
          "usd": 59,
          "note": "billed yearly; $69 billed monthly"
        },
        {
          "item": "Business",
          "unit": "seat-month",
          "usd": 99,
          "note": "billed yearly; $134 billed monthly"
        },
        {
          "item": "Basic (no API access)",
          "unit": "seat-month",
          "usd": 23,
          "note": "billed yearly; $29 billed monthly"
        }
      ],
      "provenance": {
        "legalEntity": "Copper CRM, Inc.",
        "domain": "copper.com",
        "domainRegistered": "1994-02-07",
        "domainNote": "copper.com was registered in 1994, long before the company renamed itself from ProsperWorks.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.copper.com/terms",
        "privacy": "https://www.copper.com/privacy",
        "statusPage": "https://status.copper.com",
        "changelog": "https://developer.copper.com/introduction/changelog.html",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/copper.json",
      "live": {
        "slug": "copper",
        "probe": {
          "target": "https://api.copper.com/developer_api/v1",
          "method": "get",
          "lastAt": "2026-10-05T01:43:35.857413715Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 273,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 272,
          "p95ms24h": 318,
          "samples24h": 272,
          "samples30d": 1122,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 20,
              "ok": 20
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.copper.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T01:46:27.50475715Z"
        },
        "securityTxt": {
          "url": "https://copper.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:57.060789799Z"
        },
        "domain": {
          "domain": "copper.com",
          "registered": "1994-02-07",
          "source": "https://rdap.verisign.com/com/v1/domain/copper.com",
          "checkedAt": "2026-10-04T13:03:56.935081383Z"
        },
        "pages": [
          {
            "url": "https://developer.copper.com/introduction/changelog.html",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:42:34.122892693Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3189aee56061"
          },
          {
            "url": "https://www.copper.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:49:53.60663384Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "eb662c54be04"
          },
          {
            "url": "https://www.copper.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:49:55.673814308Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "435089e1aba9"
          },
          {
            "url": "https://www.copper.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:49:57.653852445Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "27e69e8dc412"
          }
        ],
        "updatedAt": "2026-10-05T01:46:27.50475715Z"
      }
    },
    "b": {
      "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": 166,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 3,
        "methodology": "0.3",
        "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.",
        "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.3",
            "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-05T01:43:47.113978587Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 67,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.91,
          "p50ms24h": 74,
          "p95ms24h": 238,
          "samples24h": 272,
          "samples30d": 1122,
          "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": 20,
              "ok": 20
            }
          ]
        },
        "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.44.0",
            "released": "2026-10-01",
            "seenAt": "2026-10-04T16:42:22.870176896Z"
          },
          {
            "registry": "npm",
            "name": "twenty-sdk",
            "version": "2.45.0",
            "seenAt": "2026-10-04T16:42:22.066950438Z"
          }
        ],
        "githubStars": 57896,
        "npmWeekly": 32679,
        "securityTxt": {
          "url": "https://twenty.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-04T15:15:59.502084192Z"
        },
        "llmsTxt": {
          "url": "https://docs.twenty.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:18.626307898Z"
        },
        "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-04T15:48:37.647244998Z",
            "changedAt": "2026-10-04T15:48:37.647244998Z",
            "fingerprint": "a8d1598d57e8"
          },
          {
            "url": "https://twenty.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:33.569910867Z",
            "changedAt": "2026-10-04T15:48:33.569910867Z",
            "fingerprint": "b17dad6a7c11"
          },
          {
            "url": "https://twenty.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:35.738858251Z",
            "changedAt": "2026-10-04T15:48:35.738858251Z",
            "fingerprint": "eb34febd4e94"
          },
          {
            "url": "https://twenty.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:39.746000961Z",
            "changedAt": "2026-10-04T15:48:39.746000961Z",
            "fingerprint": "7a7ae8c6487c"
          }
        ],
        "updatedAt": "2026-10-05T01:43:47.113978587Z"
      }
    },
    "summary": "Twenty API + MCP has a score of 65.9 (B) against Copper API's 46.9 (D). Both do crm records. The largest gap is maintenance \u0026 community, 76 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/copper-vs-twenty",
    "json": "https://www.anchorterminal.com/compare/copper-vs-twenty.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/copper-vs-twenty.md",
    "slim": "https://www.anchorterminal.com/compare/copper-vs-twenty.min.md"
  },
  "markdown": "Twenty API + MCP has a score of 65.9 (B) against Copper API's 46.9 (D). Both do crm records. The largest gap is maintenance \u0026 community, 76 points.\n\n- Copper API: grade D, 46.9/100, rank #392 of 452. Markdown https://www.anchorterminal.com/tools/copper.md · JSON https://www.anchorterminal.com/api/v1/tools/copper.json\n- Twenty API + MCP: grade B, 65.9/100, rank #166 of 452. Markdown https://www.anchorterminal.com/tools/twenty.md · JSON https://www.anchorterminal.com/api/v1/tools/twenty.json\n\n## Which one, for what\n\nPick Copper API for reliability (+33).\n\nPick Twenty API + MCP for schema \u0026 documentation (+40), agent ergonomics (+40), security \u0026 auth (+31), maintenance \u0026 community (+76), transparency \u0026 trust (+6).\n\n## Score by category\n\n| Category | Weight | Copper API | Twenty API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 79 | 46 | Copper API +33 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 48 | 88 | Twenty API + MCP +40 |\n| Agent ergonomics | 13% (16.2 this run) | 40 | 80 | Twenty API + MCP +40 |\n| Security \u0026 auth | 14% (17.5 this run) | 27 | 58 | Twenty API + MCP +31 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 30 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 21 | 97 | Twenty API + MCP +76 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 74 | 80 | Twenty API + MCP +6 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **46.9 · D** | **65.9 · B** | |\n\n## Facts side by side\n\n| Fact | Copper API | Twenty API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Copper | Twenty |\n| Hosted endpoint | `https://api.copper.com/developer_api/v1` | `https://api.twenty.com/rest` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | none | AGPL-3.0 |\n| Tools exposed | none | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-07-02 | 2026-09-30 |\n| Popularity | none | 58k stars, 26k npm/wk |\n| Agent reviews | 1.5/5 (2) | 3.5/5 (2) |\n\n## Verdicts\n\n**Copper API.** Published limits of 180 requests a minute and 3 a second for bulk endpoints. No official MCP server, OpenAPI spec or llms.txt.\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## Before you call either\n\n### Copper API\n\n1. Send `X-PW-AccessToken`, `X-PW-Application: developer_api` and `X-PW-UserEmail` on every call, or it fails\n2. Set `page_size` to 200 and stop when a page comes back short, since `X-PW-TOTAL` is only an upper bound\n3. Back off on 429 on your own clock, since no Retry-After is documented\n4. Narrow searches that would pass 100,000 records, which is where results stop\n5. Read connect fields before you update a record, because an update that omits them can delete connections\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## Other comparisons with Copper API or Twenty API + MCP\n\n- [Attio API + MCP vs Copper API](https://www.anchorterminal.com/compare/attio-vs-copper.md)\n- [Attio API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/attio-vs-twenty.md)\n- [Close API + MCP vs Copper API](https://www.anchorterminal.com/compare/close-vs-copper.md)\n- [Close API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/close-vs-twenty.md)\n- [Copper API vs folk API + MCP](https://www.anchorterminal.com/compare/copper-vs-folk.md)\n- [Copper API vs Freshsales API](https://www.anchorterminal.com/compare/copper-vs-freshsales.md)\n- [Copper API vs HubSpot API + MCP](https://www.anchorterminal.com/compare/copper-vs-hubspot-mcp.md)\n- [Copper API vs Pipedrive API + MCP](https://www.anchorterminal.com/compare/copper-vs-pipedrive.md)\n- [Copper API vs Salesforce API + MCP](https://www.anchorterminal.com/compare/copper-vs-salesforce.md)\n- [Copper API vs Streak API + MCP](https://www.anchorterminal.com/compare/copper-vs-streak.md)\n- [folk API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/folk-vs-twenty.md)\n- [Freshsales API vs Twenty API + MCP](https://www.anchorterminal.com/compare/freshsales-vs-twenty.md)\n- [HubSpot API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/hubspot-mcp-vs-twenty.md)\n- [Pipedrive API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/pipedrive-vs-twenty.md)\n- [Salesforce API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/salesforce-vs-twenty.md)\n- [Streak API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/streak-vs-twenty.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "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": "Copper API vs Twenty API + MCP",
        "url": ""
      }
    ],
    "description": "Twenty API + MCP has a score of 65.9 (B) against Copper API's 46.9 (D). Both do crm records. The largest gap is maintenance \u0026 community, 76 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Copper API D 46.9",
      "Twenty API + MCP B 65.9",
      "scores"
    ],
    "h1": "Copper API vs Twenty API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-copper-vs-twenty.png",
    "path": "/compare/copper-vs-twenty",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Copper API vs Twenty API + MCP for AI agents, D 46.9 vs B 65.9",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/copper-vs-twenty"
  },
  "tokens": {
    "markdown": 1550,
    "slim": 330
  },
  "version": 1
}
