{
  "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": 688,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 15,
        "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-08T19:38:34.637516372Z"
        },
        "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-08T19:38:34.637516372Z"
      }
    },
    "answer": "Nutshell scores 49.6 (D) on agent readiness against Freshsales API's 40.6 (E), and leads in 4 of 7 scored categories. Freshsales API leads on reliability.",
    "b": {
      "slug": "nutshell",
      "name": "Nutshell",
      "vendor": "Nutshell, Inc.",
      "vendorUrl": "https://www.nutshell.com",
      "kind": "http-api",
      "category": "crm",
      "summary": "Nutshell is a sales CRM for small teams, with email marketing and quoting built in. Agents reach it through a REST API at `app.nutshell.com/rest`, a legacy JSON-RPC API, webhooks and a hosted read-only MCP server.",
      "url": "https://www.anchorterminal.com/tools/nutshell",
      "markdownUrl": "https://www.anchorterminal.com/tools/nutshell.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/nutshell.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nutshell.json",
      "license": "Proprietary service under Nutshell's Terms of Service",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://app.nutshell.com/rest",
      "packages": [],
      "auth": "mixed",
      "authNotes": "REST and JSON-RPC use HTTP Basic over HTTPS, with a Nutshell user's email as the username and an API key as the password. An admin creates keys under Setup, API keys, and chooses a permission type, one of which allows impersonating any user. Keys have no scopes. The MCP server at `https://app.nutshell.com/mcp` uses OAuth authorisation code with PKCE (S256), dynamic client registration at `/oauth/register`, a revocation endpoint and two scopes, `read` and `write`. Access is self-serve on every plan and the trial.",
      "pricing": "paid",
      "pricingNotes": "No free plan. A 14-day trial needs no card, and the API and MCP server are included on every plan. Five plans a seat a month billed yearly, Foundation $13, Growth $25, Pro $42, Business $59 and Enterprise $79, or $19, $32, $49, $67 and $89 billed monthly. API calls are not billed separately. The docs publish sandbox credentials for a demo account (https://www.nutshell.com/pricing, checked 2026-10-08).",
      "priceSummary": "$13 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OAuth metadata or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.nutshell.com/",
      "llmsTxt": "https://developers.nutshell.com/llms.txt",
      "capabilities": [
        "crm.records",
        "crm.pipeline",
        "crm.activities",
        "crm.search",
        "crm.webhooks"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "mcp",
        "oauth",
        "llms-txt",
        "webhooks",
        "no-card",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-08-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.6,
        "grade": "D",
        "agentReady": false,
        "rank": 607,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 12,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 44,
          "maintenance": 46,
          "payments": 35,
          "reliability": 42,
          "schema": 57,
          "security": 58,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The REST reference is served as Markdown with an OpenAPI fragment per operation, and the hosted MCP server uses OAuth with PKCE and can only read. No rate limit numbers, error format or API changelog were found in the reviewed documentation, and API keys carry no scopes.",
        "bestFor": "Small sales teams already on Nutshell who want an agent to read pipeline data over MCP or write records over REST at a low seat price.",
        "strengths": [
          "API access and the MCP server are included on every plan, from Foundation at $13 a seat a month billed yearly",
          "`developers.nutshell.com/llms.txt` indexes 114 REST operations, each served as Markdown with its OpenAPI 3.0 definition",
          "Hosted MCP server at `https://app.nutshell.com/mcp` with OAuth, PKCE, dynamic client registration, a revocation endpoint and read-only tools",
          "Terms and privacy policy of 2 June 2026 both state that customer data is not used to train generalised AI models",
          "14-day trial with no card, and the docs publish sandbox credentials for a demo account"
        ],
        "weaknesses": [
          "No rate limit numbers, 429 handling or Retry-After found for the REST API",
          "Error responses are documented on 9 of 114 operations, with no error body schema, and an unauthenticated REST call returns an HTML page",
          "API keys have no scopes or read-only type, and the key travels as an HTTP Basic password with a user's email",
          "No dated API changelog, no official SDK for REST and whole-spec OpenAPI download is disabled",
          "A database fault on 28 September 2026 left the application unavailable for some customers, marked major on the status page"
        ],
        "agentNotes": [
          "Authenticate REST calls with HTTP Basic, a Nutshell user's email as username and the API key as password, against `https://app.nutshell.com/rest`",
          "Use IDs in the `\u003cnumber\u003e-\u003ctype\u003e` form, such as `3-accounts`, and send updates as JSON Patch with `content-type: application/json-patch+json`",
          "Page lists with `page[limit]` and `page[page]`, which is 0-based, and call `/accounts/list/fields` or the lead and contact equivalents for valid filter keys",
          "Use the REST API for writes. The MCP server only reads, and OAuth tokens need the `read` scope",
          "Filter webhook events yourself, because every webhook receives all events and subscriptions are created in Setup, not through the API"
        ],
        "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": 49.6
          }
        ],
        "editorialScores": {
          "ergonomics": 44,
          "maintenance": 46,
          "payments": 35,
          "reliability": 42,
          "schema": 57,
          "security": 58,
          "transparency": 56
        },
        "provenanceScore": 86
      },
      "connect": {
        "http": "curl -u \"$NUTSHELL_USER_EMAIL:$NUTSHELL_API_KEY\" \\\n  --url https://app.nutshell.com/rest/accounts \\\n  --header 'accept: */*'"
      },
      "letme": {
        "capability": "https://letme.dev/crm.records",
        "tool": "https://letme.dev/nutshell"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Foundation (API and MCP included, 100 open leads)",
          "unit": "seat-month",
          "usd": 13,
          "note": "billed yearly; $19 billed monthly"
        },
        {
          "item": "Growth",
          "unit": "seat-month",
          "usd": 25,
          "note": "billed yearly; $32 billed monthly"
        },
        {
          "item": "Pro",
          "unit": "seat-month",
          "usd": 42,
          "note": "billed yearly; $49 billed monthly"
        },
        {
          "item": "Business (first plan with the audit log)",
          "unit": "seat-month",
          "usd": 59,
          "note": "billed yearly; $67 billed monthly"
        },
        {
          "item": "Enterprise (SSO and SQL access)",
          "unit": "seat-month",
          "usd": 79,
          "note": "billed yearly; $89 billed monthly"
        }
      ],
      "provenance": {
        "legalEntity": "Nutshell, Inc.",
        "domain": "nutshell.com",
        "domainRegistered": "1995-05-02",
        "endpointOnVendorDomain": true,
        "terms": "https://www.nutshell.com/legal/terms",
        "privacy": "https://www.nutshell.com/legal/privacy",
        "statusPage": "https://status.nutshell.com",
        "changelog": "https://www.nutshell.com/product-updates",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Service (last updated 2 June 2026) name Nutshell, Inc., 1705 North Front Street, Harrisburg, PA 17102, cover the applications and APIs, and are governed by Pennsylvania law. The site footer says Nutshell is brought to you by WebFX.",
          "The REST API, the JSON-RPC API and the MCP server all answer at app.nutshell.com.",
          "www.nutshell.com/.well-known/security.txt returns 404. The security page asks for reports at security@nutshell.com and says there is no bug bounty.",
          "The product updates page lists launches without dates and is not an API changelog. No dated API changelog was found.",
          "The subprocessor list is at trust.nutshell.com/subprocessors, a page drawn by script that we could not read.",
          "RDAP for nutshell.com gives a registration date of 1995-05-02."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/nutshell.json",
      "live": {
        "slug": "nutshell",
        "probe": {
          "target": "https://app.nutshell.com/rest",
          "method": "get",
          "lastAt": "2026-10-08T21:12:17.00492712Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 254,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 270,
          "p95ms24h": 310,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 21
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.nutshell.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:06:13.221021272Z"
        },
        "updatedAt": "2026-10-08T21:12:17.00492712Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Freshworks",
        "b": "Nutshell, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://app.nutshell.com/rest",
        "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 Nutshell's Terms of Service",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-08-21",
        "name": "Last release"
      },
      {
        "a": "2026-04-01",
        "b": "2026-06-02",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-06-02",
        "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": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Nutshell scores 49.6 (D) on agent readiness against Freshsales API's 40.6 (E), and leads in 4 of 7 scored categories. Freshsales API leads on reliability.",
        "question": "Which is better for AI agents, Freshsales API or Nutshell?"
      },
      {
        "answer": "Freshsales API needs an API key. Nutshell takes an API key or an OAuth sign-in.",
        "question": "Do Freshsales API and Nutshell need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Freshsales API. Nutshell has a hosted endpoint at https://app.nutshell.com/rest.",
        "question": "Can an agent call Freshsales API and Nutshell without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 51 against 42"
        ],
        "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": [
          "Schema \u0026 documentation, 57 against 27",
          "Security \u0026 auth, 58 against 44",
          "Payments \u0026 pricing, 35 against 30",
          "Maintenance \u0026 community, 46 against 5"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Small sales teams already on Nutshell who want an agent to read pipeline data over MCP or write records over REST at a low seat price.",
        "slug": "nutshell",
        "watchFor": "No rate limit numbers, 429 handling or Retry-After found for the REST API"
      }
    ],
    "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-nutshell.json",
        "title": "Affinity vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-nutshell"
      },
      {
        "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-nutshell.json",
        "title": "Attio API + MCP vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/attio-vs-nutshell"
      },
      {
        "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-nutshell.json",
        "title": "Capsule CRM vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/capsule-crm-vs-nutshell"
      },
      {
        "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-nutshell.json",
        "title": "Close API + MCP vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/close-vs-nutshell"
      },
      {
        "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-nutshell.json",
        "title": "Copper API vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/copper-vs-nutshell"
      },
      {
        "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-nutshell.json",
        "title": "Microsoft Dynamics 365 Sales vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-nutshell"
      },
      {
        "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-nutshell.json",
        "title": "folk API + MCP vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/folk-vs-nutshell"
      },
      {
        "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-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-nutshell.json",
        "title": "HubSpot API + MCP vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/hubspot-mcp-vs-nutshell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nutshell-vs-pipedrive.json",
        "title": "Nutshell vs Pipedrive API + MCP",
        "url": "https://www.anchorterminal.com/compare/nutshell-vs-pipedrive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nutshell-vs-salesforce.json",
        "title": "Nutshell vs Salesforce API + MCP",
        "url": "https://www.anchorterminal.com/compare/nutshell-vs-salesforce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nutshell-vs-streak.json",
        "title": "Nutshell vs Streak API + MCP",
        "url": "https://www.anchorterminal.com/compare/nutshell-vs-streak"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nutshell-vs-twenty.json",
        "title": "Nutshell vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/nutshell-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nutshell-vs-zoho-crm.json",
        "title": "Nutshell vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/nutshell-vs-zoho-crm"
      }
    ],
    "scores": [
      {
        "by": 9,
        "edge": "freshsales",
        "freshsales": 51,
        "key": "reliability",
        "name": "Reliability",
        "nutshell": 42,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 30,
        "edge": "nutshell",
        "freshsales": 27,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "nutshell": 57,
        "weight": 13
      },
      {
        "by": 4,
        "edge": "freshsales",
        "freshsales": 48,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "nutshell": 44,
        "weight": 13
      },
      {
        "by": 14,
        "edge": "nutshell",
        "freshsales": 44,
        "key": "security",
        "name": "Security \u0026 auth",
        "nutshell": 58,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "nutshell",
        "freshsales": 30,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "nutshell": 35,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 41,
        "edge": "nutshell",
        "freshsales": 5,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "nutshell": 46,
        "weight": 7
      },
      {
        "by": 1,
        "edge": "freshsales",
        "freshsales": 72,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "nutshell": 71,
        "weight": 7
      }
    ],
    "summary": "Nutshell scores 49.6 (D) on agent readiness against Freshsales API's 40.6 (E), and leads in 4 of 7 scored categories. Freshsales API leads on reliability. 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.",
      "nutshell": "The REST reference is served as Markdown with an OpenAPI fragment per operation, and the hosted MCP server uses OAuth with PKCE and can only read. No rate limit numbers, error format or API changelog were found in the reviewed documentation, and API keys carry no scopes."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/freshsales-vs-nutshell",
    "json": "https://www.anchorterminal.com/compare/freshsales-vs-nutshell.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/freshsales-vs-nutshell.md",
    "slim": "https://www.anchorterminal.com/compare/freshsales-vs-nutshell.min.md"
  },
  "markdown": "Nutshell scores 49.6 (D) on agent readiness against Freshsales API's 40.6 (E), and leads in 4 of 7 scored categories. Freshsales API leads on reliability. Both do crm records.\n\n- Freshsales API: grade E, 40.6/100, rank #688 of 722. Markdown https://www.anchorterminal.com/tools/freshsales.md · JSON https://www.anchorterminal.com/api/v1/tools/freshsales.json\n- Nutshell: grade D, 49.6/100, rank #607 of 722. Markdown https://www.anchorterminal.com/tools/nutshell.md · JSON https://www.anchorterminal.com/api/v1/tools/nutshell.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- Reliability, 51 against 42\n\nWatch for: No MCP server for Freshsales\n\n### Nutshell (D)\n\nGood for: Small sales teams already on Nutshell who want an agent to read pipeline data over MCP or write records over REST at a low seat price.\n\nAhead on:\n- Schema \u0026 documentation, 57 against 27\n- Security \u0026 auth, 58 against 44\n- Payments \u0026 pricing, 35 against 30\n- Maintenance \u0026 community, 46 against 5\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: No rate limit numbers, 429 handling or Retry-After found for the REST API\n\n\n## Score by category\n\n| Category | Weight | Freshsales API | Nutshell | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 51 | 42 | Freshsales API +9 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 27 | 57 | Nutshell +30 |\n| Agent ergonomics | 13% (16.2 this run) | 48 | 44 | Freshsales API +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 58 | Nutshell +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 35 | Nutshell +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 5 | 46 | Nutshell +41 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 71 | Freshsales API +1 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **40.6 · E** | **49.6 · D** | |\n\n## Facts side by side\n\n| Fact | Freshsales API | Nutshell |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Freshworks | Nutshell, Inc. |\n| Hosted endpoint | no (local only) | `https://app.nutshell.com/rest` |\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 Nutshell's Terms of Service |\n| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\n| Last release | none | 2026-08-21 |\n| Terms last updated | 2026-04-01 | 2026-06-02 |\n| Privacy policy last updated | no date given | 2026-06-02 |\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 | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | yes | yes |\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**Nutshell.** The REST reference is served as Markdown with an OpenAPI fragment per operation, and the hosted MCP server uses OAuth with PKCE and can only read. No rate limit numbers, error format or API changelog were found in the reviewed documentation, and API keys carry no 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### Nutshell\n\n1. Authenticate REST calls with HTTP Basic, a Nutshell user's email as username and the API key as password, against `https://app.nutshell.com/rest`\n2. Use IDs in the `\u003cnumber\u003e-\u003ctype\u003e` form, such as `3-accounts`, and send updates as JSON Patch with `content-type: application/json-patch+json`\n3. Page lists with `page[limit]` and `page[page]`, which is 0-based, and call `/accounts/list/fields` or the lead and contact equivalents for valid filter keys\n4. Use the REST API for writes. The MCP server only reads, and OAuth tokens need the `read` scope\n5. Filter webhook events yourself, because every webhook receives all events and subscriptions are created in Setup, not through the API\n\n## Questions\n\n### Which is better for AI agents, Freshsales API or Nutshell?\n\nNutshell scores 49.6 (D) on agent readiness against Freshsales API's 40.6 (E), and leads in 4 of 7 scored categories. Freshsales API leads on reliability.\n\n### Do Freshsales API and Nutshell need an API key?\n\nFreshsales API needs an API key. Nutshell takes an API key or an OAuth sign-in.\n\n### Can an agent call Freshsales API and Nutshell without installing anything?\n\nNo hosted endpoint is listed for Freshsales API. Nutshell has a hosted endpoint at https://app.nutshell.com/rest.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/freshsales-vs-nutshell.json, and with the fewest tokens: https://www.anchorterminal.com/compare/freshsales-vs-nutshell.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"freshsales\", \"b\": \"nutshell\"}`. From a terminal: `anchor compare freshsales nutshell`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/freshsales.json and https://www.anchorterminal.com/api/v1/tools/nutshell.json\n\n## Other comparisons with Freshsales API or Nutshell\n\n- [Affinity vs Freshsales API](https://www.anchorterminal.com/compare/affinity-vs-freshsales.md)\n- [Affinity vs Nutshell](https://www.anchorterminal.com/compare/affinity-vs-nutshell.md)\n- [Attio API + MCP vs Freshsales API](https://www.anchorterminal.com/compare/attio-vs-freshsales.md)\n- [Attio API + MCP vs Nutshell](https://www.anchorterminal.com/compare/attio-vs-nutshell.md)\n- [Capsule CRM vs Freshsales API](https://www.anchorterminal.com/compare/capsule-crm-vs-freshsales.md)\n- [Capsule CRM vs Nutshell](https://www.anchorterminal.com/compare/capsule-crm-vs-nutshell.md)\n- [Close API + MCP vs Freshsales API](https://www.anchorterminal.com/compare/close-vs-freshsales.md)\n- [Close API + MCP vs Nutshell](https://www.anchorterminal.com/compare/close-vs-nutshell.md)\n- [Copper API vs Freshsales API](https://www.anchorterminal.com/compare/copper-vs-freshsales.md)\n- [Copper API vs Nutshell](https://www.anchorterminal.com/compare/copper-vs-nutshell.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 Nutshell](https://www.anchorterminal.com/compare/dynamics-365-sales-vs-nutshell.md)\n- [folk API + MCP vs Freshsales API](https://www.anchorterminal.com/compare/folk-vs-freshsales.md)\n- [folk API + MCP vs Nutshell](https://www.anchorterminal.com/compare/folk-vs-nutshell.md)\n- [Freshsales API vs HubSpot API + MCP](https://www.anchorterminal.com/compare/freshsales-vs-hubspot-mcp.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 Nutshell](https://www.anchorterminal.com/compare/hubspot-mcp-vs-nutshell.md)\n- [Nutshell vs Pipedrive API + MCP](https://www.anchorterminal.com/compare/nutshell-vs-pipedrive.md)\n- [Nutshell vs Salesforce API + MCP](https://www.anchorterminal.com/compare/nutshell-vs-salesforce.md)\n- [Nutshell vs Streak API + MCP](https://www.anchorterminal.com/compare/nutshell-vs-streak.md)\n- [Nutshell vs Twenty API + MCP](https://www.anchorterminal.com/compare/nutshell-vs-twenty.md)\n- [Nutshell vs Zoho CRM](https://www.anchorterminal.com/compare/nutshell-vs-zoho-crm.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Freshsales API vs Nutshell",
        "url": ""
      }
    ],
    "description": "Nutshell scores 49.6 (D) on agent readiness against Freshsales API's 40.6 (E), and leads in 4 of 7 scored categories. Freshsales API leads on reliability. Both do crm records. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Freshsales API E 40.6",
      "Nutshell D 49.6",
      "scores"
    ],
    "h1": "Freshsales API vs Nutshell",
    "image": "https://www.anchorterminal.com/assets/og/compare-freshsales-vs-nutshell.png",
    "path": "/compare/freshsales-vs-nutshell",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Freshsales API vs Nutshell for AI agents, E 40.6 vs D 49.6",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/freshsales-vs-nutshell"
  },
  "tokens": {
    "markdown": 2300,
    "slim": 630
  },
  "version": 1
}
