{
  "data": {
    "a": {
      "slug": "salesflare",
      "name": "Salesflare",
      "vendor": "Salesflare BVBA",
      "vendorUrl": "https://salesflare.com",
      "kind": "http-api",
      "category": "crm",
      "summary": "Salesflare is a sales CRM for small B2B teams that fills in contacts, companies and activity from email and calendars. Agents reach it through a REST API at `api.salesflare.com` and a hosted MCP server with OAuth.",
      "url": "https://www.anchorterminal.com/tools/salesflare",
      "markdownUrl": "https://www.anchorterminal.com/tools/salesflare.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/salesflare.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/salesflare.json",
      "license": "Proprietary service under Salesflare's Terms of Service",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.salesflare.com",
      "packages": [],
      "auth": "mixed",
      "authNotes": "The REST API takes an API key as `Authorization: Bearer \u003ckey\u003e`. A user creates keys in Settings, API keys, including on a trial account. No scopes, expiry or read-only key type are documented. The MCP server at `https://mcp.salesflare.com/mcp` uses OAuth authorisation code with PKCE (S256) and dynamic client registration at `api.salesflare.com/oidc/register`, with `openid` and `offline_access` as the only scopes. Access is self-serve.",
      "pricing": "paid",
      "pricingNotes": "No free plan. A 30-day trial needs no card and allows API keys. Three plans a user a month, Growth $29, Pro $49 and Enterprise $99 billed annually, or $39, $64 and $124 billed monthly, with a five-user minimum on Enterprise. API and MCP access carry no separate charge, and no API tier was found on the pricing page (https://salesflare.com/pricing, checked 2026-10-09).",
      "priceSummary": "$29 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI file, the MCP OAuth metadata or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://api.salesflare.com/docs",
      "llmsTxt": "https://salesflare.com/llms.txt",
      "openapi": "https://api.salesflare.com/openapi.json",
      "capabilities": [
        "crm.records",
        "crm.pipeline",
        "crm.activities",
        "crm.search"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "openapi",
        "llms-txt",
        "mcp",
        "oauth",
        "api-key",
        "no-card",
        "status-page",
        "eu-hosted"
      ],
      "lastRelease": "2026-10-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 48.5,
        "grade": "D",
        "agentReady": false,
        "rank": 721,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 13,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 49,
          "maintenance": 25,
          "payments": 30,
          "reliability": 63,
          "schema": 57,
          "security": 44,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "The REST API has a public Swagger 2.0 file covering 71 operations, with typed filters on every list call and a 30-day trial that needs no card. No rate limit numbers, API changelog, SDK or audit log were found in the reviewed documentation, and API keys carry no documented scopes.",
        "bestFor": "Small B2B sales teams on Salesflare who want an agent to read and update accounts, contacts, opportunities and tasks through REST or the hosted MCP server.",
        "strengths": [
          "Public Swagger 2.0 file at `api.salesflare.com/openapi.json` with 71 operations across accounts, contacts, opportunities, tasks, pipelines, notes, meetings, calls, tags and workflows",
          "List calls take `limit`, `offset`, `search`, `order_by`, typed field filters and a `q` rule builder with 33 operators",
          "Hosted MCP server at `https://mcp.salesflare.com/mcp` with OAuth authorisation code, PKCE (S256) and dynamic client registration",
          "30-day trial with no card, and an API key can be created on a trial account per the disclosure programme page",
          "No incident on status.salesflare.com in the 90 days to 9 October 2026. The last notice is dated 17 June 2026"
        ],
        "weaknesses": [
          "No rate limit numbers found. The API introduction lists 429 among its status codes with no limit, Retry-After or backoff guidance",
          "47 of 71 operations document only a `default` response typed as a string, and the file has no examples or error schema",
          "API keys have no documented scopes, read-only type or expiry, and the OAuth metadata lists only `openid` and `offline_access`",
          "No API changelog, version history, deprecation dates or official SDK found",
          "The privacy policy is hosted by Iubenda on a path its robots.txt disallows, so we could not read it, and the DPA is supplied on request"
        ],
        "agentNotes": [
          "Send `Authorization: Bearer \u003cAPI key\u003e` to `https://api.salesflare.com`. A person creates the key in Settings, API keys",
          "Set `limit` on every list call. The default is 10 on `/accounts` and 20 on `/contacts` and `/tasks`, and no maximum is documented",
          "Pass `update_if_exists=true` when creating an account, or `force=false` when creating a contact, so a retried call does not duplicate a record",
          "Write custom fields as `custom__fieldname`, and add `\"_dirty\": \"true\"` to each object in an array sent with PUT, per the help centre",
          "Expect a JSON body with `statusCode`, `error` and `message` on failure, and back off on 429 because no limit is published"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 48.5
          }
        ],
        "editorialScores": {
          "ergonomics": 49,
          "maintenance": 25,
          "payments": 30,
          "reliability": 63,
          "schema": 57,
          "security": 44,
          "transparency": 40
        },
        "provenanceScore": 75
      },
      "connect": {
        "http": "curl https://api.salesflare.com/me \\\n  --header \"Authorization: Bearer $SALESFLARE_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/crm.records",
        "tool": "https://letme.dev/salesflare"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Growth (API and MCP included)",
          "unit": "seat-month",
          "usd": 29,
          "note": "billed annually; $39 billed monthly"
        },
        {
          "item": "Pro (first plan with user permissions)",
          "unit": "seat-month",
          "usd": 49,
          "note": "billed annually; $64 billed monthly"
        },
        {
          "item": "Enterprise (five-user minimum)",
          "unit": "seat-month",
          "usd": 99,
          "note": "billed annually; $124 billed monthly"
        }
      ],
      "provenance": {
        "legalEntity": "Salesflare BVBA",
        "domain": "salesflare.com",
        "domainRegistered": "2014-05-17",
        "endpointOnVendorDomain": true,
        "terms": "https://salesflare.com/terms",
        "privacy": "https://www.iubenda.com/privacy-policy/81768705",
        "statusPage": "https://status.salesflare.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The Terms of Service name the provider as Salesflare BVBA, Rijnkaai 37 box 4, 2000 Antwerp, Belgium, and are governed by Belgian law with the courts of Antwerp. The page carries no date.",
          "salesflare.com/privacy holds only a link to the policy on Iubenda. That host's robots.txt disallows `/privacy-policy/`, so we did not read it and a reader that keeps to robots.txt cannot either.",
          "The REST API answers at api.salesflare.com and the MCP server at mcp.salesflare.com, with OAuth at api.salesflare.com/oidc.",
          "salesflare.com/.well-known/security.txt returns 404. The disclosure programme at salesflare.com/vdp asks for reports at security@salesflare.com.",
          "No API changelog or product update log was found. The blog's announcements archive holds one post, from 2016.",
          "The DPA is requested through a form, with a sample PDF dated 2018 linked from the help centre, which we did not read.",
          "RDAP for salesflare.com gives a registration date of 2014-05-17."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/salesflare.json",
      "live": {
        "slug": "salesflare",
        "probe": {
          "target": "https://api.salesflare.com",
          "method": "get",
          "lastAt": "2026-10-09T10:42:55.330269401Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 71,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 49,
          "p95ms24h": 95,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.salesflare.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:30.317497091Z"
        },
        "updatedAt": "2026-10-09T10:42:55.330269401Z"
      }
    },
    "answer": "Twenty API + MCP scores 65.9 (B) on agent readiness against Salesflare's 48.5 (D), and leads in 5 of 7 scored categories. Salesflare leads on reliability.",
    "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": 283,
        "ranked": true,
        "rankOf": 842,
        "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-09T10:42:59.902350458Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 180,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.96,
          "p50ms24h": 84,
          "p95ms24h": 182,
          "samples24h": 260,
          "samples30d": 2300,
          "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": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 114,
              "ok": 114
            }
          ]
        },
        "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-09T10:42:59.902350458Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Salesflare BVBA",
        "b": "Twenty",
        "name": "Vendor"
      },
      {
        "a": "https://api.salesflare.com",
        "b": "https://api.twenty.com/rest",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Salesflare's Terms of Service",
        "b": "AGPL-3.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-08",
        "b": "2026-09-30",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-08-07",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "2025-10-13",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "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": "not found in the text",
        "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": "none",
        "b": "58k stars, 26k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Twenty API + MCP scores 65.9 (B) on agent readiness against Salesflare's 48.5 (D), and leads in 5 of 7 scored categories. Salesflare leads on reliability.",
        "question": "Which is better for AI agents, Salesflare or Twenty API + MCP?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Salesflare and Twenty API + MCP need an API key?"
      },
      {
        "answer": "Yes. Salesflare has a hosted endpoint at https://api.salesflare.com and Twenty API + MCP at https://api.twenty.com/rest.",
        "question": "Can an agent call Salesflare and Twenty API + MCP without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Salesflare. Twenty API + MCP is open source (AGPL-3.0).",
        "question": "Are Salesflare and Twenty API + MCP open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 63 against 46"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Small B2B sales teams on Salesflare who want an agent to read and update accounts, contacts, opportunities and tasks through REST or the hosted MCP server.",
        "slug": "salesflare",
        "watchFor": "No rate limit numbers found. The API introduction lists 429 among its status codes with no limit, Retry-After or backoff guidance"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 88 against 57",
          "Agent ergonomics, 80 against 49",
          "Security \u0026 auth, 58 against 44",
          "Maintenance \u0026 community, 97 against 25",
          "Transparency \u0026 trust, 80 against 58"
        ],
        "also": [
          "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"
      }
    ],
    "job": {
      "capability": "crm.records",
      "name": "Crm records"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-salesflare.json",
        "title": "Affinity vs Salesflare",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-salesflare"
      },
      {
        "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/attio-vs-salesflare.json",
        "title": "Attio API + MCP vs Salesflare",
        "url": "https://www.anchorterminal.com/compare/attio-vs-salesflare"
      },
      {
        "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/capsule-crm-vs-salesflare.json",
        "title": "Capsule CRM vs Salesflare",
        "url": "https://www.anchorterminal.com/compare/capsule-crm-vs-salesflare"
      },
      {
        "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/close-vs-salesflare.json",
        "title": "Close API + MCP vs Salesflare",
        "url": "https://www.anchorterminal.com/compare/close-vs-salesflare"
      },
      {
        "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/copper-vs-salesflare.json",
        "title": "Copper API vs Salesflare",
        "url": "https://www.anchorterminal.com/compare/copper-vs-salesflare"
      },
      {
        "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/dynamics-365-sales-vs-salesflare.json",
        "title": "Microsoft Dynamics 365 Sales vs Salesflare",
        "url": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-salesflare"
      },
      {
        "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/folk-vs-salesflare.json",
        "title": "folk API + MCP vs Salesflare",
        "url": "https://www.anchorterminal.com/compare/folk-vs-salesflare"
      },
      {
        "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/freshsales-vs-salesflare.json",
        "title": "Freshsales API vs Salesflare",
        "url": "https://www.anchorterminal.com/compare/freshsales-vs-salesflare"
      },
      {
        "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/hubspot-mcp-vs-salesflare.json",
        "title": "HubSpot API + MCP vs Salesflare",
        "url": "https://www.anchorterminal.com/compare/hubspot-mcp-vs-salesflare"
      },
      {
        "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/nutshell-vs-salesflare.json",
        "title": "Nutshell vs Salesflare",
        "url": "https://www.anchorterminal.com/compare/nutshell-vs-salesflare"
      },
      {
        "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/pipedrive-vs-salesflare.json",
        "title": "Pipedrive API + MCP vs Salesflare",
        "url": "https://www.anchorterminal.com/compare/pipedrive-vs-salesflare"
      },
      {
        "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/salesflare-vs-salesforce.json",
        "title": "Salesflare vs Salesforce API + MCP",
        "url": "https://www.anchorterminal.com/compare/salesflare-vs-salesforce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/salesflare-vs-streak.json",
        "title": "Salesflare vs Streak API + MCP",
        "url": "https://www.anchorterminal.com/compare/salesflare-vs-streak"
      },
      {
        "json": "https://www.anchorterminal.com/compare/salesflare-vs-zoho-crm.json",
        "title": "Salesflare vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/salesflare-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/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/twenty-vs-zoho-crm.json",
        "title": "Twenty API + MCP vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/twenty-vs-zoho-crm"
      }
    ],
    "scores": [
      {
        "by": 17,
        "edge": "salesflare",
        "key": "reliability",
        "name": "Reliability",
        "salesflare": 63,
        "twenty": 46,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 31,
        "edge": "twenty",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "salesflare": 57,
        "twenty": 88,
        "weight": 13
      },
      {
        "by": 31,
        "edge": "twenty",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "salesflare": 49,
        "twenty": 80,
        "weight": 13
      },
      {
        "by": 14,
        "edge": "twenty",
        "key": "security",
        "name": "Security \u0026 auth",
        "salesflare": 44,
        "twenty": 58,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "salesflare": 30,
        "twenty": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 72,
        "edge": "twenty",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "salesflare": 25,
        "twenty": 97,
        "weight": 7
      },
      {
        "by": 22,
        "edge": "twenty",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "salesflare": 58,
        "twenty": 80,
        "weight": 7
      }
    ],
    "summary": "Twenty API + MCP scores 65.9 (B) on agent readiness against Salesflare's 48.5 (D), and leads in 5 of 7 scored categories. Salesflare leads on reliability. Both do crm records.",
    "verdicts": {
      "salesflare": "The REST API has a public Swagger 2.0 file covering 71 operations, with typed filters on every list call and a 30-day trial that needs no card. No rate limit numbers, API changelog, SDK or audit log were found in the reviewed documentation, and API keys carry no documented scopes.",
      "twenty": "Six MCP meta-tools by default with schemas loaded on demand, and `?mode=direct` for clients that load lazily. No status page found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/salesflare-vs-twenty",
    "json": "https://www.anchorterminal.com/compare/salesflare-vs-twenty.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/salesflare-vs-twenty.md",
    "slim": "https://www.anchorterminal.com/compare/salesflare-vs-twenty.min.md"
  },
  "markdown": "Twenty API + MCP scores 65.9 (B) on agent readiness against Salesflare's 48.5 (D), and leads in 5 of 7 scored categories. Salesflare leads on reliability. Both do crm records.\n\n- Salesflare: grade D, 48.5/100, rank #721 of 842. Markdown https://www.anchorterminal.com/tools/salesflare.md · JSON https://www.anchorterminal.com/api/v1/tools/salesflare.json\n- Twenty API + MCP: grade B, 65.9/100, rank #283 of 842. 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\n### Salesflare (D)\n\nGood for: Small B2B sales teams on Salesflare who want an agent to read and update accounts, contacts, opportunities and tasks through REST or the hosted MCP server.\n\nAhead on:\n- Reliability, 63 against 46\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No rate limit numbers found. The API introduction lists 429 among its status codes with no limit, Retry-After or backoff guidance\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 57\n- Agent ergonomics, 80 against 49\n- Security \u0026 auth, 58 against 44\n- Maintenance \u0026 community, 97 against 25\n- Transparency \u0026 trust, 80 against 58\n\nAlso in its favour:\n- Open source\n\nWatch for: No status page found\n\n\n## Score by category\n\n| Category | Weight | Salesflare | Twenty API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 63 | 46 | Salesflare +17 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 57 | 88 | Twenty API + MCP +31 |\n| Agent ergonomics | 13% (16.2 this run) | 49 | 80 | Twenty API + MCP +31 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 58 | Twenty API + MCP +14 |\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) | 25 | 97 | Twenty API + MCP +72 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 58 | 80 | Twenty API + MCP +22 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **48.5 · D** | **65.9 · B** | |\n\n## Facts side by side\n\n| Fact | Salesflare | Twenty API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Salesflare BVBA | Twenty |\n| Hosted endpoint | `https://api.salesflare.com` | `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 | Proprietary service under Salesflare's Terms of Service | AGPL-3.0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-08 | 2026-09-30 |\n| Terms last updated | no date given | 2026-08-07 |\n| Privacy policy last updated | couldn't be read | 2025-10-13 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\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 | none | 58k stars, 26k npm/wk |\n| Agent reviews | none | 3.5/5 (2) |\n\n## Verdicts\n\n**Salesflare.** The REST API has a public Swagger 2.0 file covering 71 operations, with typed filters on every list call and a 30-day trial that needs no card. No rate limit numbers, API changelog, SDK or audit log were found in the reviewed documentation, and API keys carry no documented scopes.\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### Salesflare\n\n1. Send `Authorization: Bearer \u003cAPI key\u003e` to `https://api.salesflare.com`. A person creates the key in Settings, API keys\n2. Set `limit` on every list call. The default is 10 on `/accounts` and 20 on `/contacts` and `/tasks`, and no maximum is documented\n3. Pass `update_if_exists=true` when creating an account, or `force=false` when creating a contact, so a retried call does not duplicate a record\n4. Write custom fields as `custom__fieldname`, and add `\"_dirty\": \"true\"` to each object in an array sent with PUT, per the help centre\n5. Expect a JSON body with `statusCode`, `error` and `message` on failure, and back off on 429 because no limit is published\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## Questions\n\n### Which is better for AI agents, Salesflare or Twenty API + MCP?\n\nTwenty API + MCP scores 65.9 (B) on agent readiness against Salesflare's 48.5 (D), and leads in 5 of 7 scored categories. Salesflare leads on reliability.\n\n### Do Salesflare and Twenty API + MCP need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Salesflare and Twenty API + MCP without installing anything?\n\nYes. Salesflare has a hosted endpoint at https://api.salesflare.com and Twenty API + MCP at https://api.twenty.com/rest.\n\n### Are Salesflare and Twenty API + MCP open source?\n\nNo open-source release is listed for Salesflare. Twenty API + MCP is open source (AGPL-3.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/salesflare-vs-twenty.json, and with the fewest tokens: https://www.anchorterminal.com/compare/salesflare-vs-twenty.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"salesflare\", \"b\": \"twenty\"}`. From a terminal: `anchor compare salesflare twenty`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/salesflare.json and https://www.anchorterminal.com/api/v1/tools/twenty.json\n\n## Other comparisons with Salesflare or Twenty API + MCP\n\n- [Affinity vs Salesflare](https://www.anchorterminal.com/compare/affinity-vs-salesflare.md)\n- [Affinity vs Twenty API + MCP](https://www.anchorterminal.com/compare/affinity-vs-twenty.md)\n- [Attio API + MCP vs Salesflare](https://www.anchorterminal.com/compare/attio-vs-salesflare.md)\n- [Attio API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/attio-vs-twenty.md)\n- [Capsule CRM vs Salesflare](https://www.anchorterminal.com/compare/capsule-crm-vs-salesflare.md)\n- [Capsule CRM vs Twenty API + MCP](https://www.anchorterminal.com/compare/capsule-crm-vs-twenty.md)\n- [Close API + MCP vs Salesflare](https://www.anchorterminal.com/compare/close-vs-salesflare.md)\n- [Close API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/close-vs-twenty.md)\n- [Copper API vs Salesflare](https://www.anchorterminal.com/compare/copper-vs-salesflare.md)\n- [Copper API vs Twenty API + MCP](https://www.anchorterminal.com/compare/copper-vs-twenty.md)\n- [Microsoft Dynamics 365 Sales vs Salesflare](https://www.anchorterminal.com/compare/dynamics-365-sales-vs-salesflare.md)\n- [Microsoft Dynamics 365 Sales vs Twenty API + MCP](https://www.anchorterminal.com/compare/dynamics-365-sales-vs-twenty.md)\n- [folk API + MCP vs Salesflare](https://www.anchorterminal.com/compare/folk-vs-salesflare.md)\n- [folk API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/folk-vs-twenty.md)\n- [Freshsales API vs Salesflare](https://www.anchorterminal.com/compare/freshsales-vs-salesflare.md)\n- [Freshsales API vs Twenty API + MCP](https://www.anchorterminal.com/compare/freshsales-vs-twenty.md)\n- [HubSpot API + MCP vs Salesflare](https://www.anchorterminal.com/compare/hubspot-mcp-vs-salesflare.md)\n- [HubSpot API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/hubspot-mcp-vs-twenty.md)\n- [Nutshell vs Salesflare](https://www.anchorterminal.com/compare/nutshell-vs-salesflare.md)\n- [Nutshell vs Twenty API + MCP](https://www.anchorterminal.com/compare/nutshell-vs-twenty.md)\n- [Pipedrive API + MCP vs Salesflare](https://www.anchorterminal.com/compare/pipedrive-vs-salesflare.md)\n- [Pipedrive API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/pipedrive-vs-twenty.md)\n- [Salesflare vs Salesforce API + MCP](https://www.anchorterminal.com/compare/salesflare-vs-salesforce.md)\n- [Salesflare vs Streak API + MCP](https://www.anchorterminal.com/compare/salesflare-vs-streak.md)\n- [Salesflare vs Zoho CRM](https://www.anchorterminal.com/compare/salesflare-vs-zoho-crm.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- [Twenty API + MCP vs Zoho CRM](https://www.anchorterminal.com/compare/twenty-vs-zoho-crm.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "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": "Salesflare vs Twenty API + MCP",
        "url": ""
      }
    ],
    "description": "Twenty API + MCP scores 65.9 (B) on agent readiness against Salesflare's 48.5 (D), and leads in 5 of 7 scored categories. Salesflare leads on reliability. Both do crm records. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Salesflare D 48.5",
      "Twenty API + MCP B 65.9",
      "scores"
    ],
    "h1": "Salesflare vs Twenty API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-salesflare-vs-twenty.png",
    "path": "/compare/salesflare-vs-twenty",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Salesflare vs Twenty API + MCP for AI agents, D 48.5 vs B 65.9",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/salesflare-vs-twenty"
  },
  "tokens": {
    "markdown": 2500,
    "slim": 630
  },
  "version": 1
}
