{
  "data": {
    "a": {
      "slug": "folk",
      "name": "folk API + MCP",
      "vendor": "folk",
      "vendorUrl": "https://www.folk.app",
      "kind": "http-api",
      "category": "crm",
      "summary": "REST API and hosted MCP server for folk, a relationship CRM for small teams.",
      "url": "https://www.anchorterminal.com/tools/folk",
      "markdownUrl": "https://www.anchorterminal.com/tools/folk.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/folk.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/folk.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.folk.app/v1",
      "packages": [],
      "auth": "mixed",
      "authNotes": "REST calls take a workspace API key as a Bearer token; keys have no scopes and share one rate limit per user. The hosted MCP server at https://mcp.folk.app/mcp uses OAuth and acts with the signed-in user's permissions.",
      "pricing": "paid",
      "pricingNotes": "No free plan, a 14-day trial with no card. Standard $24 a member a month billed yearly or $30 monthly (MCP, no REST API), Premium $48 yearly or $60 monthly (adds REST API, custom objects and deals), Enterprise from $80 yearly or $100 monthly (https://www.folk.app/pricing).",
      "priceSummary": "$24 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No payments. Access follows the folk subscription.",
        "endpoints": []
      },
      "toolCount": 38,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developer.folk.app",
      "llmsTxt": "https://developer.folk.app/llms.txt",
      "openapi": "https://developer.folk.app/schemas/2025-06-09.json",
      "capabilities": [
        "crm.records",
        "crm.pipeline",
        "crm.activities",
        "crm.search",
        "crm.webhooks",
        "crm.email"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "openapi",
        "webhooks",
        "closed-source",
        "no-card"
      ],
      "lastRelease": "2026-09-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61,
        "grade": "C",
        "agentReady": false,
        "rank": 235,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 5,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 60,
          "payments": 30,
          "reliability": 55,
          "schema": 91,
          "security": 43,
          "transparency": 83
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Dated API versions, a year's support and 6 months' deprecation notice with `Deprecation` and `Sunset` headers. MCP server in open beta since 1 July 2026.",
        "strengths": [
          "Dated API versions, a year's support and 6 months' deprecation notice with `Deprecation` and `Sunset` headers",
          "`Idempotency-Key` on writes and a 429 body with `retryAfter`",
          "Errors carry `code`, `message`, `documentationUrl` and `requestId`",
          "MCP tools badged read-only, destructive or idempotent, and none delete records",
          "Privacy policy lists 24 processors, hosting in AWS Ireland and retention periods"
        ],
        "weaknesses": [
          "MCP server in open beta since 1 July 2026",
          "REST API keys have no scopes and MCP gets the user's full access",
          "REST API only on Premium and Enterprise",
          "Status page history didn't load, so the incident record is unknown",
          "No SOC 2 or ISO 27001 found, and no security.txt"
        ],
        "agentNotes": [
          "Send `X-API-Version: 2025-06-09` on every REST call",
          "Set an `Idempotency-Key` on creates, and treat a 409 `IDEMPOTENCY_REQUEST_IN_PROGRESS` as wait and retry",
          "On a 429, wait until `details.retryAfter`, and remember all your keys share one 600-a-minute budget",
          "Move off the reminder endpoints to tasks before their removal on 2027-02-13",
          "Expect some interaction content to be hidden by the workspace's privacy rules"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 61
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 60,
          "payments": 30,
          "reliability": 55,
          "schema": 91,
          "security": 43,
          "transparency": 80
        },
        "provenanceScore": 86
      },
      "connect": {
        "http": "curl https://api.folk.app/v1/users/me -H \"Authorization: Bearer $FOLK_API_KEY\" -H \"X-API-Version: 2025-06-09\"",
        "claudeCode": "claude mcp add --transport http folk https://mcp.folk.app/mcp",
        "config": {
          "mcpServers": {
            "folk": {
              "url": "https://mcp.folk.app/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/crm.records",
        "tool": "https://letme.dev/folk"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Standard",
          "unit": "seat-month",
          "usd": 24,
          "note": "billed yearly, $30 monthly; MCP but no REST API"
        },
        {
          "item": "Premium (first plan with REST API)",
          "unit": "seat-month",
          "usd": 48,
          "note": "billed yearly, $60 monthly"
        },
        {
          "item": "Enterprise",
          "unit": "seat-month",
          "usd": 80,
          "note": "from, billed yearly, $100 monthly"
        }
      ],
      "provenance": {
        "legalEntity": "Folk Inc.",
        "domain": "folk.app",
        "domainRegistered": "2018-05-08",
        "endpointOnVendorDomain": true,
        "terms": "https://www.folk.app/terms-of-use",
        "privacy": "https://www.folk.app/privacy-policy",
        "statusPage": "https://status.folk.app",
        "changelog": "https://developer.folk.app/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The terms of use don't name the company; Folk Inc. (Delaware) is named as data controller in the privacy policy."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/folk.json",
      "live": {
        "slug": "folk",
        "probe": {
          "target": "https://api.folk.app/v1",
          "method": "get",
          "lastAt": "2026-10-05T02:29:56.006642066Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 80,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 76,
          "p95ms24h": 128,
          "samples24h": 273,
          "samples30d": 1131,
          "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": 29,
              "ok": 29
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.folk.app",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:02.014225421Z"
        },
        "securityTxt": {
          "url": "https://folk.app/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:03.944112115Z"
        },
        "llmsTxt": {
          "url": "https://developer.folk.app/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:47.339375936Z"
        },
        "domain": {
          "domain": "folk.app",
          "registered": "2018-05-08",
          "source": "https://pubapi.registry.google/rdap/domain/folk.app",
          "checkedAt": "2026-10-04T13:09:20.283969053Z"
        },
        "pages": [
          {
            "url": "https://developer.folk.app/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-04T15:42:36.406769816Z",
            "changedAt": "2026-10-02T15:18:59.206496801Z",
            "fingerprint": "fb15873da25f"
          },
          {
            "url": "https://www.folk.app/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:50:18.043002651Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e580c0699079"
          },
          {
            "url": "https://www.folk.app/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:50:20.168877794Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6cf32f8d3f3f"
          },
          {
            "url": "https://www.folk.app/terms-of-use",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:50:22.10091351Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0087fb9b9d0d"
          }
        ],
        "updatedAt": "2026-10-05T02:29:56.006642066Z"
      }
    },
    "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-05T02:30:03.993048181Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 90,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.91,
          "p50ms24h": 74,
          "p95ms24h": 209,
          "samples24h": 273,
          "samples30d": 1131,
          "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": 29,
              "ok": 29
            }
          ]
        },
        "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-05T02:30:03.993048181Z"
      }
    },
    "summary": "Twenty API + MCP has a score of 65.9 (B) against folk API + MCP's 61 (C). Both do crm records. The largest gap is maintenance \u0026 community, 37 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/folk-vs-twenty",
    "json": "https://www.anchorterminal.com/compare/folk-vs-twenty.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/folk-vs-twenty.md",
    "slim": "https://www.anchorterminal.com/compare/folk-vs-twenty.min.md"
  },
  "markdown": "Twenty API + MCP has a score of 65.9 (B) against folk API + MCP's 61 (C). Both do crm records. The largest gap is maintenance \u0026 community, 37 points.\n\n- folk API + MCP: grade C, 61/100, rank #235 of 452. Markdown https://www.anchorterminal.com/tools/folk.md · JSON https://www.anchorterminal.com/api/v1/tools/folk.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 folk API + MCP for reliability (+9).\n\nPick Twenty API + MCP for agent ergonomics (+10), security \u0026 auth (+15), maintenance \u0026 community (+37).\n\n## Score by category\n\n| Category | Weight | folk API + MCP | Twenty API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 55 | 46 | folk API + MCP +9 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 91 | 88 | folk API + MCP +3 |\n| Agent ergonomics | 13% (16.2 this run) | 70 | 80 | Twenty API + MCP +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 43 | 58 | Twenty API + MCP +15 |\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) | 60 | 97 | Twenty API + MCP +37 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 83 | 80 | folk API + MCP +3 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **61 · C** | **65.9 · B** | |\n\n## Facts side by side\n\n| Fact | folk API + MCP | Twenty API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | folk | Twenty |\n| Hosted endpoint | `https://api.folk.app/v1` | `https://api.twenty.com/rest` |\n| Transports | HTTP, Streamable 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 | 38 | 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 | yes | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-15 | 2026-09-30 |\n| Popularity | none | 58k stars, 26k npm/wk |\n| Agent reviews | 3.5/5 (2) | 3.5/5 (2) |\n\n## Verdicts\n\n**folk API + MCP.** Dated API versions, a year's support and 6 months' deprecation notice with `Deprecation` and `Sunset` headers. MCP server in open beta since 1 July 2026.\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### folk API + MCP\n\n1. Send `X-API-Version: 2025-06-09` on every REST call\n2. Set an `Idempotency-Key` on creates, and treat a 409 `IDEMPOTENCY_REQUEST_IN_PROGRESS` as wait and retry\n3. On a 429, wait until `details.retryAfter`, and remember all your keys share one 600-a-minute budget\n4. Move off the reminder endpoints to tasks before their removal on 2027-02-13\n5. Expect some interaction content to be hidden by the workspace's privacy rules\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 folk API + MCP or Twenty API + MCP\n\n- [Attio API + MCP vs folk API + MCP](https://www.anchorterminal.com/compare/attio-vs-folk.md)\n- [Attio API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/attio-vs-twenty.md)\n- [Close API + MCP vs folk API + MCP](https://www.anchorterminal.com/compare/close-vs-folk.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 Twenty API + MCP](https://www.anchorterminal.com/compare/copper-vs-twenty.md)\n- [folk API + MCP vs Freshsales API](https://www.anchorterminal.com/compare/folk-vs-freshsales.md)\n- [folk API + MCP vs HubSpot API + MCP](https://www.anchorterminal.com/compare/folk-vs-hubspot-mcp.md)\n- [folk API + MCP vs Pipedrive API + MCP](https://www.anchorterminal.com/compare/folk-vs-pipedrive.md)\n- [folk API + MCP vs Salesforce API + MCP](https://www.anchorterminal.com/compare/folk-vs-salesforce.md)\n- [folk API + MCP vs Streak API + MCP](https://www.anchorterminal.com/compare/folk-vs-streak.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": "folk API + MCP vs Twenty API + MCP",
        "url": ""
      }
    ],
    "description": "Twenty API + MCP has a score of 65.9 (B) against folk API + MCP's 61 (C). Both do crm records. The largest gap is maintenance \u0026 community, 37 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "folk API + MCP C 61",
      "Twenty API + MCP B 65.9",
      "scores"
    ],
    "h1": "folk API + MCP vs Twenty API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-folk-vs-twenty.png",
    "path": "/compare/folk-vs-twenty",
    "published": "2026-10-01",
    "section": "tools",
    "title": "folk API + MCP vs Twenty API + MCP for AI agents, C 61 vs B 65.9",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/folk-vs-twenty"
  },
  "tokens": {
    "markdown": 1500,
    "slim": 330
  },
  "version": 1
}
