{
  "data": {
    "a": {
      "slug": "freshsales",
      "name": "Freshsales API",
      "vendor": "Freshworks",
      "vendorUrl": "https://www.freshworks.com/crm/sales/",
      "kind": "http-api",
      "category": "crm",
      "summary": "REST API for Freshsales, the Freshworks sales CRM.",
      "url": "https://www.anchorterminal.com/tools/freshsales",
      "markdownUrl": "https://www.anchorterminal.com/tools/freshsales.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/freshsales.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/freshsales.json",
      "transports": [
        "http"
      ],
      "packages": [],
      "auth": "api-key",
      "authNotes": "Per-user API key from Profile Settings, sent as `Authorization: Token token=\u003cAPI_KEY\u003e`. Requests go to `https://\u003cbundle-alias\u003e.myfreshworks.com/crm/sales/api/`, and the bundle alias is shown under the key. The key acts with that user's rights; there are no scoped keys.",
      "pricing": "paid",
      "pricingNotes": "21-day trial of the full CRM. Growth $11 a user a month billed monthly or $9 billed yearly, Pro $47 or $39, Enterprise $71 or $59. Add-ons include branded documents at $19 a user a month and Freddy AI Agent at $49 per 100 sessions (https://www.freshworks.com/crm/pricing/).",
      "priceSummary": "$9 / seat-mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No payments. API access follows the Freshsales subscription.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developers.freshworks.com/crm/api/",
      "capabilities": [
        "crm.records",
        "crm.pipeline",
        "crm.activities",
        "crm.search",
        "crm.webhooks"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "webhooks",
        "no-card"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 40.6,
        "grade": "E",
        "agentReady": false,
        "rank": 805,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 16,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 48,
          "maintenance": 5,
          "payments": 30,
          "reliability": 51,
          "schema": 27,
          "security": 44,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Contact upsert and bulk upsert of up to 100 records make creates safe to retry. No MCP server for Freshsales.",
        "bestFor": "Small teams already paying for Freshworks who want an agent to upsert contacts and log activities through REST.",
        "strengths": [
          "Contact upsert and bulk upsert of up to 100 records make creates safe to retry",
          "Published limit of 1,000 requests an hour per account",
          "HackerOne disclosure programme and a security.txt with contact and policy",
          "Audit logs on the Enterprise plan",
          "Privacy notice states retention periods and links subprocessor and hosting pages"
        ],
        "weaknesses": [
          "No MCP server for Freshsales",
          "No OpenAPI, llms.txt or API changelog",
          "Per-user key with no scopes and no OAuth for the CRM API",
          "1,000 requests an hour shared by the whole account",
          "Status history not readable without JavaScript"
        ],
        "agentNotes": [
          "Build the base URL from the bundle alias shown under the API key, `https://\u003calias\u003e.myfreshworks.com/crm/sales/api/`",
          "Use `/api/contacts/upsert` rather than create, so a retry updates instead of duplicating",
          "Budget calls, since 1,000 an hour covers the whole account and 429s carry no Retry-After",
          "Add `include=owner,sales_accounts` to pull related records in one call",
          "Expect to see only what the key owner's role can see"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 40.6
          }
        ],
        "editorialScores": {
          "ergonomics": 48,
          "maintenance": 5,
          "payments": 30,
          "reliability": 51,
          "schema": 27,
          "security": 44,
          "transparency": 57
        },
        "provenanceScore": 86
      },
      "connect": {
        "http": "curl https://$FRESHSALES_BUNDLE.myfreshworks.com/crm/sales/api/contacts/filters \\\n  -H \"Authorization: Token token=$FRESHSALES_API_KEY\" -H \"Content-Type: application/json\""
      },
      "letme": {
        "capability": "https://letme.dev/crm.records",
        "tool": "https://letme.dev/freshsales"
      },
      "sameCompany": [
        "freshdesk"
      ],
      "area": "business",
      "unitPrices": [
        {
          "item": "Growth",
          "unit": "seat-month",
          "usd": 9,
          "note": "billed yearly; $11 billed monthly"
        },
        {
          "item": "Pro",
          "unit": "seat-month",
          "usd": 39,
          "note": "billed yearly; $47 billed monthly"
        },
        {
          "item": "Enterprise",
          "unit": "seat-month",
          "usd": 59,
          "note": "billed yearly; $71 billed monthly"
        }
      ],
      "provenance": {
        "legalEntity": "Freshworks Inc.",
        "domain": "freshworks.com",
        "domainRegistered": "1998-02-13",
        "domainNote": "API calls go to per-account hosts under myfreshworks.com, a second Freshworks domain.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.freshworks.com/terms/",
        "privacy": "https://www.freshworks.com/privacy/",
        "statusPage": "https://status.freshworks.com",
        "changelog": "",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "security.txt answers with a contact and a HackerOne note but has no Expires field."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/freshsales.json",
      "live": {
        "slug": "freshsales",
        "vendorStatus": {
          "page": "https://status.freshworks.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:57:57.093528954Z"
        },
        "securityTxt": {
          "url": "https://freshworks.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-08T15:38:52.219210376Z"
        },
        "domain": {
          "domain": "freshworks.com",
          "registered": "1998-02-13",
          "source": "https://rdap.verisign.com/com/v1/domain/freshworks.com",
          "checkedAt": "2026-10-04T13:05:46.74376202Z"
        },
        "pages": [
          {
            "url": "https://www.freshworks.com/crm/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:27:49.879899495Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "885302fe412d"
          }
        ],
        "updatedAt": "2026-10-09T07:57:57.093528954Z"
      }
    },
    "answer": "Salesflare scores 48.5 (D) on agent readiness against Freshsales API's 40.6 (E), and leads in 4 of 7 scored categories. Freshsales API leads on transparency \u0026 trust.",
    "b": {
      "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-09T11:00:35.70913994Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 60,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 49,
          "p95ms24h": 101,
          "samples24h": 36,
          "samples30d": 36,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 36,
              "ok": 36
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.salesflare.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:30.317497091Z"
        },
        "updatedAt": "2026-10-09T11:00:35.70913994Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Freshworks",
        "b": "Salesflare BVBA",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.salesflare.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary service under Salesflare's Terms of Service",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-10-08",
        "name": "Last release"
      },
      {
        "a": "2026-04-01",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes, with an opt-out",
        "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": "yes",
        "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": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Salesflare scores 48.5 (D) on agent readiness against Freshsales API's 40.6 (E), and leads in 4 of 7 scored categories. Freshsales API leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, Freshsales API or Salesflare?"
      },
      {
        "answer": "Freshsales API needs an API key. Salesflare takes an API key or an OAuth sign-in.",
        "question": "Do Freshsales API and Salesflare need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Freshsales API. Salesflare has a hosted endpoint at https://api.salesflare.com.",
        "question": "Can an agent call Freshsales API and Salesflare without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Transparency \u0026 trust, 72 against 58"
        ],
        "also": null,
        "goodFor": "Small teams already paying for Freshworks who want an agent to upsert contacts and log activities through REST.",
        "slug": "freshsales",
        "watchFor": "No MCP server for Freshsales"
      },
      {
        "aheadOn": [
          "Reliability, 63 against 51",
          "Schema \u0026 documentation, 57 against 27",
          "Maintenance \u0026 community, 25 against 5"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "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"
      }
    ],
    "job": {
      "capability": "crm.records",
      "name": "Crm records"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-freshsales.json",
        "title": "Affinity vs Freshsales API",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-freshsales"
      },
      {
        "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/attio-vs-freshsales.json",
        "title": "Attio API + MCP vs Freshsales API",
        "url": "https://www.anchorterminal.com/compare/attio-vs-freshsales"
      },
      {
        "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/capsule-crm-vs-freshsales.json",
        "title": "Capsule CRM vs Freshsales API",
        "url": "https://www.anchorterminal.com/compare/capsule-crm-vs-freshsales"
      },
      {
        "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/close-vs-freshsales.json",
        "title": "Close API + MCP vs Freshsales API",
        "url": "https://www.anchorterminal.com/compare/close-vs-freshsales"
      },
      {
        "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/copper-vs-freshsales.json",
        "title": "Copper API vs Freshsales API",
        "url": "https://www.anchorterminal.com/compare/copper-vs-freshsales"
      },
      {
        "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/dynamics-365-sales-vs-freshsales.json",
        "title": "Microsoft Dynamics 365 Sales vs Freshsales API",
        "url": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-freshsales"
      },
      {
        "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/folk-vs-freshsales.json",
        "title": "folk API + MCP vs Freshsales API",
        "url": "https://www.anchorterminal.com/compare/folk-vs-freshsales"
      },
      {
        "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/freshsales-vs-hubspot-mcp.json",
        "title": "Freshsales API vs HubSpot API + MCP",
        "url": "https://www.anchorterminal.com/compare/freshsales-vs-hubspot-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freshsales-vs-nutshell.json",
        "title": "Freshsales API vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/freshsales-vs-nutshell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freshsales-vs-pipedrive.json",
        "title": "Freshsales API vs Pipedrive API + MCP",
        "url": "https://www.anchorterminal.com/compare/freshsales-vs-pipedrive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freshsales-vs-salesforce.json",
        "title": "Freshsales API vs Salesforce API + MCP",
        "url": "https://www.anchorterminal.com/compare/freshsales-vs-salesforce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freshsales-vs-streak.json",
        "title": "Freshsales API vs Streak API + MCP",
        "url": "https://www.anchorterminal.com/compare/freshsales-vs-streak"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freshsales-vs-twenty.json",
        "title": "Freshsales API vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/freshsales-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freshsales-vs-zoho-crm.json",
        "title": "Freshsales API vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/freshsales-vs-zoho-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hubspot-mcp-vs-salesflare.json",
        "title": "HubSpot API + MCP vs Salesflare",
        "url": "https://www.anchorterminal.com/compare/hubspot-mcp-vs-salesflare"
      },
      {
        "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/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/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-twenty.json",
        "title": "Salesflare vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/salesflare-vs-twenty"
      },
      {
        "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"
      }
    ],
    "scores": [
      {
        "by": 12,
        "edge": "salesflare",
        "freshsales": 51,
        "key": "reliability",
        "name": "Reliability",
        "salesflare": 63,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 30,
        "edge": "salesflare",
        "freshsales": 27,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "salesflare": 57,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "salesflare",
        "freshsales": 48,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "salesflare": 49,
        "weight": 13
      },
      {
        "by": 0,
        "edge": "",
        "freshsales": 44,
        "key": "security",
        "name": "Security \u0026 auth",
        "salesflare": 44,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "freshsales": 30,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "salesflare": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 20,
        "edge": "salesflare",
        "freshsales": 5,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "salesflare": 25,
        "weight": 7
      },
      {
        "by": 14,
        "edge": "freshsales",
        "freshsales": 72,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "salesflare": 58,
        "weight": 7
      }
    ],
    "summary": "Salesflare scores 48.5 (D) on agent readiness against Freshsales API's 40.6 (E), and leads in 4 of 7 scored categories. Freshsales API leads on transparency \u0026 trust. Both do crm records.",
    "verdicts": {
      "freshsales": "Contact upsert and bulk upsert of up to 100 records make creates safe to retry. No MCP server for Freshsales.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/freshsales-vs-salesflare",
    "json": "https://www.anchorterminal.com/compare/freshsales-vs-salesflare.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/freshsales-vs-salesflare.md",
    "slim": "https://www.anchorterminal.com/compare/freshsales-vs-salesflare.min.md"
  },
  "markdown": "Salesflare scores 48.5 (D) on agent readiness against Freshsales API's 40.6 (E), and leads in 4 of 7 scored categories. Freshsales API leads on transparency \u0026 trust. Both do crm records.\n\n- Freshsales API: grade E, 40.6/100, rank #805 of 842. Markdown https://www.anchorterminal.com/tools/freshsales.md · JSON https://www.anchorterminal.com/api/v1/tools/freshsales.json\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\n## Which one, for what\n\n### Freshsales API (E)\n\nGood for: Small teams already paying for Freshworks who want an agent to upsert contacts and log activities through REST.\n\nAhead on:\n- Transparency \u0026 trust, 72 against 58\n\nWatch for: No MCP server for Freshsales\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 51\n- Schema \u0026 documentation, 57 against 27\n- Maintenance \u0026 community, 25 against 5\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\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\n## Score by category\n\n| Category | Weight | Freshsales API | Salesflare | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 51 | 63 | Salesflare +12 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 27 | 57 | Salesflare +30 |\n| Agent ergonomics | 13% (16.2 this run) | 48 | 49 | Salesflare +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 44 | even |\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) | 5 | 25 | Salesflare +20 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 58 | Freshsales API +14 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **40.6 · E** | **48.5 · D** | |\n\n## Facts side by side\n\n| Fact | Freshsales API | Salesflare |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Freshworks | Salesflare BVBA |\n| Hosted endpoint | no (local only) | `https://api.salesflare.com` |\n| Transports | HTTP | HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | none | Proprietary service under Salesflare's Terms of Service |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | none | 2026-10-08 |\n| Terms last updated | 2026-04-01 | no date given |\n| Privacy policy last updated | no date given | couldn't be read |\n| Customer content may train models | yes, with an opt-out | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | yes | 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 | yes | not found in the text |\n| Agent reviews | 2/5 (2) | none |\n\n## Verdicts\n\n**Freshsales API.** Contact upsert and bulk upsert of up to 100 records make creates safe to retry. No MCP server for Freshsales.\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## Before you call either\n\n### Freshsales API\n\n1. Build the base URL from the bundle alias shown under the API key, `https://\u003calias\u003e.myfreshworks.com/crm/sales/api/`\n2. Use `/api/contacts/upsert` rather than create, so a retry updates instead of duplicating\n3. Budget calls, since 1,000 an hour covers the whole account and 429s carry no Retry-After\n4. Add `include=owner,sales_accounts` to pull related records in one call\n5. Expect to see only what the key owner's role can see\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## Questions\n\n### Which is better for AI agents, Freshsales API or Salesflare?\n\nSalesflare scores 48.5 (D) on agent readiness against Freshsales API's 40.6 (E), and leads in 4 of 7 scored categories. Freshsales API leads on transparency \u0026 trust.\n\n### Do Freshsales API and Salesflare need an API key?\n\nFreshsales API needs an API key. Salesflare takes an API key or an OAuth sign-in.\n\n### Can an agent call Freshsales API and Salesflare without installing anything?\n\nNo hosted endpoint is listed for Freshsales API. Salesflare has a hosted endpoint at https://api.salesflare.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/freshsales-vs-salesflare.json, and with the fewest tokens: https://www.anchorterminal.com/compare/freshsales-vs-salesflare.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"freshsales\", \"b\": \"salesflare\"}`. From a terminal: `anchor compare freshsales salesflare`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/freshsales.json and https://www.anchorterminal.com/api/v1/tools/salesflare.json\n\n## Other comparisons with Freshsales API or Salesflare\n\n- [Affinity vs Freshsales API](https://www.anchorterminal.com/compare/affinity-vs-freshsales.md)\n- [Affinity vs Salesflare](https://www.anchorterminal.com/compare/affinity-vs-salesflare.md)\n- [Attio API + MCP vs Freshsales API](https://www.anchorterminal.com/compare/attio-vs-freshsales.md)\n- [Attio API + MCP vs Salesflare](https://www.anchorterminal.com/compare/attio-vs-salesflare.md)\n- [Capsule CRM vs Freshsales API](https://www.anchorterminal.com/compare/capsule-crm-vs-freshsales.md)\n- [Capsule CRM vs Salesflare](https://www.anchorterminal.com/compare/capsule-crm-vs-salesflare.md)\n- [Close API + MCP vs Freshsales API](https://www.anchorterminal.com/compare/close-vs-freshsales.md)\n- [Close API + MCP vs Salesflare](https://www.anchorterminal.com/compare/close-vs-salesflare.md)\n- [Copper API vs Freshsales API](https://www.anchorterminal.com/compare/copper-vs-freshsales.md)\n- [Copper API vs Salesflare](https://www.anchorterminal.com/compare/copper-vs-salesflare.md)\n- [Microsoft Dynamics 365 Sales vs Freshsales API](https://www.anchorterminal.com/compare/dynamics-365-sales-vs-freshsales.md)\n- [Microsoft Dynamics 365 Sales vs Salesflare](https://www.anchorterminal.com/compare/dynamics-365-sales-vs-salesflare.md)\n- [folk API + MCP vs Freshsales API](https://www.anchorterminal.com/compare/folk-vs-freshsales.md)\n- [folk API + MCP vs Salesflare](https://www.anchorterminal.com/compare/folk-vs-salesflare.md)\n- [Freshsales API vs HubSpot API + MCP](https://www.anchorterminal.com/compare/freshsales-vs-hubspot-mcp.md)\n- [Freshsales API vs Nutshell](https://www.anchorterminal.com/compare/freshsales-vs-nutshell.md)\n- [Freshsales API vs Pipedrive API + MCP](https://www.anchorterminal.com/compare/freshsales-vs-pipedrive.md)\n- [Freshsales API vs Salesforce API + MCP](https://www.anchorterminal.com/compare/freshsales-vs-salesforce.md)\n- [Freshsales API vs Streak API + MCP](https://www.anchorterminal.com/compare/freshsales-vs-streak.md)\n- [Freshsales API vs Twenty API + MCP](https://www.anchorterminal.com/compare/freshsales-vs-twenty.md)\n- [Freshsales API vs Zoho CRM](https://www.anchorterminal.com/compare/freshsales-vs-zoho-crm.md)\n- [HubSpot API + MCP vs Salesflare](https://www.anchorterminal.com/compare/hubspot-mcp-vs-salesflare.md)\n- [Nutshell vs Salesflare](https://www.anchorterminal.com/compare/nutshell-vs-salesflare.md)\n- [Pipedrive API + MCP vs Salesflare](https://www.anchorterminal.com/compare/pipedrive-vs-salesflare.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 Twenty API + MCP](https://www.anchorterminal.com/compare/salesflare-vs-twenty.md)\n- [Salesflare vs Zoho CRM](https://www.anchorterminal.com/compare/salesflare-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": "Freshsales API vs Salesflare",
        "url": ""
      }
    ],
    "description": "Salesflare scores 48.5 (D) on agent readiness against Freshsales API's 40.6 (E), and leads in 4 of 7 scored categories. Freshsales API leads on transparency \u0026 trust. Both do crm records. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Freshsales API E 40.6",
      "Salesflare D 48.5",
      "scores"
    ],
    "h1": "Freshsales API vs Salesflare",
    "image": "https://www.anchorterminal.com/assets/og/compare-freshsales-vs-salesflare.png",
    "path": "/compare/freshsales-vs-salesflare",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Freshsales API vs Salesflare for AI agents, E 40.6 vs D 48.5",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/freshsales-vs-salesflare"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 630
  },
  "version": 1
}
