{
  "data": {
    "a": {
      "slug": "microsoft-excel-graph",
      "name": "Microsoft Excel (Microsoft Graph workbook API)",
      "vendor": "Microsoft",
      "vendorUrl": "https://learn.microsoft.com/en-us/graph/excel-concept-overview",
      "kind": "http-api",
      "category": "spreadsheets",
      "summary": "Workbook endpoints of Microsoft Graph for Excel files stored in OneDrive for work or school and SharePoint. Calls read and write ranges, tables, charts and named items, and run Excel worksheet functions on a file in place.",
      "url": "https://www.anchorterminal.com/tools/microsoft-excel-graph",
      "markdownUrl": "https://www.anchorterminal.com/tools/microsoft-excel-graph.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/microsoft-excel-graph.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/microsoft-excel-graph.json",
      "repo": "https://github.com/microsoftgraph/msgraph-sdk-javascript",
      "license": "MIT (SDKs)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://graph.microsoft.com/v1.0",
      "packages": [
        {
          "registry": "npm",
          "name": "@microsoft/microsoft-graph-client"
        },
        {
          "registry": "pypi",
          "name": "msgraph-sdk"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 tokens from Microsoft Entra ID, after a person registers an app. Registration is self-serve, with no partner or sales approval. The workbook reference pages list delegated permissions only, with Files.ReadWrite as least privileged, and mark application permissions as not supported. The overview page names Files.Read for read actions. A delegated token reaches every file its user can open.",
      "pricing": "byo-plan",
      "pricingNotes": "Workbook calls carry no per-call charge. Microsoft's list of metered Graph APIs names only SharePoint and OneDrive `assignSensitivityLabel`, at $0.00185 a call (https://learn.microsoft.com/en-us/graph/metered-api-list). Files must sit in OneDrive for work or school or SharePoint, which need a Microsoft 365 licence. The Microsoft 365 plan price page refused our reader on 2026-10-08. A free Microsoft 365 E5 developer sandbox is limited to Visual Studio subscribers and members of named partner programmes (https://learn.microsoft.com/en-us/office/developer-program/microsoft-365-developer-program-faq).",
      "priceSummary": "Your plan",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the workbook documentation or the metered API list (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 835,
        "npmWeekly": 2882852,
        "pypiWeekly": 1578201,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/graph/api/resources/excel",
      "openapi": "https://raw.githubusercontent.com/microsoftgraph/msgraph-metadata/master/openapi/v1.0/openapi.yaml",
      "capabilities": [
        "sheets.read",
        "sheets.write",
        "sheets.tables",
        "sheets.formulas"
      ],
      "tags": [
        "hosted",
        "official",
        "oauth",
        "openapi",
        "typescript",
        "python",
        "enterprise"
      ],
      "lastRelease": "2025-09-19",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.5,
        "grade": "C",
        "agentReady": false,
        "rank": 399,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 53,
          "payments": 15,
          "reliability": 62,
          "schema": 85,
          "security": 65,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-06-16: a fix for a token leak through URL userinfo host confusion was merged into msgraph-sdk-javascript and the version set to 3.0.8, but npm still served 3.0.7 on 8 October 2026 and the repository lists no published advisory. Exploiting it needs an attacker-influenced URL passed to the client, and it affects agents that call the workbook API through that client (https://github.com/microsoftgraph/msgraph-sdk-javascript/commit/5438ae90f50ef15d3656f0cf9c5485deee351f19, https://registry.npmjs.org/@microsoft/microsoft-graph-client/latest)"
        ],
        "verdict": "Ranges, tables, charts and 366 worksheet function endpoints are reachable over REST with a public OpenAPI, and a non-persistent session lets an agent test changes without saving them. The reference pages list delegated permissions only, with Files.ReadWrite as the least privileged scope, and writes take no idempotency key.",
        "bestFor": "Agents working on .xlsx files that already live in a Microsoft 365 tenant, and for using Excel's calculation engine through function endpoints.",
        "strengths": [
          "Non-persistent sessions (`persistChanges: false`) keep changes in a temporary copy, so an agent can calculate or test edits without saving",
          "The OpenAPI for Graph v1.0 holds 1,442 workbook paths and 1,765 operations, 366 of the paths for worksheet functions",
          "Error handling guide gives a retry instruction for each of 22 required second-level error codes",
          "Throttling limits are published at 5,000 requests per 10 seconds per app and 1,500 per app per tenant, with `Retry-After` on throttled responses",
          "Microsoft's policy is at least 24 months' notice before a generally available Graph API is removed"
        ],
        "weaknesses": [
          "Reference pages list delegated permissions only and mark application permissions as not supported",
          "Files.ReadWrite is the least privileged permission on the reference pages, even for reading a range or listing rows",
          "No idempotency key on writes. The row-add page says to repeat the request on a 504",
          "Cell values, formulas and number formats are untyped JSON in the OpenAPI",
          "The last Workbooks and charts changelog entry is dated 19 September 2025, and the overview page is dated March 2024"
        ],
        "agentNotes": [
          "Create a session with POST /workbook/createSession and send `workbook-session-id` on every call. Persistent sessions expire after about 5 minutes idle",
          "Set `persistChanges` to false when you only need a calculation or a chart image, so nothing is saved to the file",
          "Send one request at a time per workbook and wait for each response. Microsoft warns that parallel writes cause throttling, timeouts and merge conflicts",
          "Add rows in one call with a two-dimensional `values` array, and check the table before repeating a row add that returned 504",
          "Read bounded addresses such as A1:D500. A whole-column range such as C:C returns null for values, and writes to it are refused"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.5
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 53,
          "payments": 15,
          "reliability": 62,
          "schema": 85,
          "security": 65,
          "transparency": 65
        },
        "provenanceScore": 85
      },
      "connect": {
        "http": "curl https://graph.microsoft.com/v1.0/me/drive/items/{id}/workbook/worksheets \\\n  -H \"Authorization: Bearer $MS_GRAPH_TOKEN\" \\\n  -H \"workbook-session-id: $SESSION_ID\""
      },
      "letme": {
        "capability": "https://letme.dev/sheets.read",
        "tool": "https://letme.dev/microsoft-excel-graph"
      },
      "sameCompany": [
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "playwright-mcp",
        "azure-mcp",
        "azure-translator",
        "microsoft-graph-calendar",
        "dynamics-365-sales",
        "microsoft-advertising-api",
        "outlook-mail-graph"
      ],
      "area": "business",
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "domainNote": "The endpoint is on graph.microsoft.com. microsoft.com publishes a security.txt, but it passed its Expires date on 2026-09-23.",
        "endpointOnVendorDomain": true,
        "terms": "https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use",
        "privacy": "https://privacy.microsoft.com/en-us/privacystatement",
        "statusPage": "https://status.cloud.microsoft",
        "changelog": "https://developer.microsoft.com/en-us/graph/changelog",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "www.microsoft.com/.well-known/security.txt still carries Expires 2026-09-23T16:00:00.000Z when read on 2026-10-08.",
          "The Microsoft service health page at status.cloud.microsoft needs JavaScript to show anything.",
          "The Microsoft APIs terms of use name Microsoft Corporation and were last updated in October 2025.",
          "The Microsoft privacy statement was last updated in September 2026.",
          "RDAP for microsoft.com gives a registration date of 1991-05-02."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/microsoft-excel-graph.json",
      "live": {
        "slug": "microsoft-excel-graph",
        "probe": {
          "target": "https://graph.microsoft.com/v1.0",
          "method": "get",
          "lastAt": "2026-10-08T18:20:34.888847521Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 3,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 30,
          "p95ms24h": 57,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.cloud.microsoft",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T15:36:56.168932402Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "microsoftgraph/msgraph-sdk-javascript",
            "version": "3.0.7",
            "released": "2023-09-19",
            "seenAt": "2026-10-08T16:20:40.005701271Z"
          },
          {
            "registry": "npm",
            "name": "@microsoft/microsoft-graph-client",
            "version": "3.0.7",
            "seenAt": "2026-10-08T16:20:38.997085198Z"
          },
          {
            "registry": "pypi",
            "name": "msgraph-sdk",
            "version": "1.64.0",
            "released": "2026-10-06",
            "seenAt": "2026-10-08T16:20:39.875494563Z"
          }
        ],
        "githubStars": 835,
        "npmWeekly": 2882852,
        "pypiWeekly": 1578201,
        "securityTxt": {
          "url": "https://microsoft.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2026-09-23T16:00:00.000Z",
          "checkedAt": "2026-10-08T15:39:08.216544687Z"
        },
        "pages": [
          {
            "url": "https://developer.microsoft.com/en-us/graph/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:14.635541799Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7bb1f9551c94"
          }
        ],
        "updatedAt": "2026-10-08T18:20:34.888847521Z"
      }
    },
    "answer": "Smartsheet API + MCP scores 67.6 (B) on agent readiness against Microsoft Excel (Microsoft Graph workbook API)'s 58.5 (C), and leads in every scored category.",
    "b": {
      "slug": "smartsheet",
      "name": "Smartsheet API + MCP",
      "vendor": "Smartsheet Inc.",
      "vendorUrl": "https://www.smartsheet.com",
      "kind": "http-api",
      "category": "spreadsheets",
      "summary": "Smartsheet is a hosted work management product built on sheets with typed columns, rows, formulas, reports and dashboards. Agents reach it through a REST API (187 operations) and a hosted MCP server, both limited to Business plans and above.",
      "url": "https://www.anchorterminal.com/tools/smartsheet",
      "markdownUrl": "https://www.anchorterminal.com/tools/smartsheet.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/smartsheet.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/smartsheet.json",
      "repo": "https://github.com/smartsheet/smartsheet-python-sdk",
      "license": "Proprietary service under Smartsheet's User Agreement and Developer Agreement. The SDKs on GitHub are Apache-2.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.smartsheet.com/2.0",
      "packages": [
        {
          "registry": "pypi",
          "name": "smartsheet-python-sdk"
        },
        {
          "registry": "npm",
          "name": "smartsheet"
        }
      ],
      "auth": "mixed",
      "authNotes": "Access needs a licensed user on a Business plan or higher. A user makes a raw API token in Personal Settings and sends it as a Bearer token. It has no scopes and carries all of that user's access. Apps acting for other users register in Developer Tools (Smartsheet approves the registration request) and use the OAuth 2.0 authorisation code grant with any of 17 scopes such as READ_SHEETS and WRITE_SHEETS. Access tokens last about 7 days and refresh. Scopes can't exceed the user's sharing level on a sheet. The MCP server takes OAuth from ChatGPT, Claude, Gemini Enterprise Plus and Microsoft 365 Copilot, and a Bearer API token from other clients. A System Admin's token can act as any user through the `Assume-User` header.",
      "pricing": "paid",
      "pricingNotes": "API and MCP access start at the Business plan, $24 a member a month billed monthly or $19 billed yearly, with a minimum of three members. Pro ($12, or $9 yearly) has no API calls. Enterprise and Advanced Work Management are priced through sales. API calls carry no separate charge. A 30-day trial needs no card, but we couldn't confirm that a trial account can make API tokens. No developer sandbox was found in the reviewed documentation (https://www.smartsheet.com/pricing, checked 2026-10-08).",
      "priceSummary": "$19 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OpenAPI spec or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 83,
      "popularity": {
        "githubStars": 82,
        "npmWeekly": 47484,
        "pypiWeekly": 311787,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.smartsheet.com",
      "llmsTxt": "https://developers.smartsheet.com/llms.txt",
      "openapi": "https://developers.smartsheet.com/_bundle/api/smartsheet/openapi.yaml",
      "capabilities": [
        "sheets.read",
        "sheets.write",
        "sheets.records",
        "sheets.formulas",
        "automation.workflows"
      ],
      "tags": [
        "official",
        "hosted",
        "closed-source",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "python",
        "typescript",
        "java",
        "csharp",
        "status-page",
        "soc2",
        "sla"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.6,
        "grade": "B",
        "agentReady": false,
        "rank": 190,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 74,
          "maintenance": 80,
          "payments": 20,
          "reliability": 65,
          "schema": 88,
          "security": 66,
          "transparency": 82
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The REST API has a public OpenAPI 3.0.3 spec with 187 operations, Markdown docs and llms.txt, and the hosted MCP server loads its 83 documented tools by toolset. API access needs a Business plan or higher, and the status page lists eight incidents marked major or critical between 15 July and 21 September 2026.",
        "bestFor": "An agent working inside a company that already runs projects in Smartsheet on a Business plan or above, especially row-level reads and batched writes, workflows and dashboards.",
        "strengths": [
          "Public OpenAPI 3.0.3 spec with 187 operations, code samples on 180 of them, plus llms.txt and a Markdown copy of every docs page",
          "Hosted MCP server in three regions (US, EU, Australia) with toolsets, so a client loads tools by domain through `search_tools`",
          "OAuth 2.0 with 17 scopes, including READ_SHEETS for a read-only grant, and sheet sharing levels that scopes can't override",
          "Bulk row writes of up to 500 rows a call with optional partial success and per-row failure details",
          "Dated API changelog (latest 6 October 2026) with DEPRECATION and SUNSET entries and migration guides"
        ],
        "weaknesses": [
          "API and MCP access need a Business plan or higher, from $19 a member a month billed yearly with a three-member minimum",
          "Eight status incidents marked major or critical between 15 July and 21 September 2026, four of them stopping sheets from loading in the US region",
          "A raw API token carries all of its user's access with no scopes, and it's the credential the docs give for Claude Code, Cursor, Codex and Gemini CLI",
          "No idempotency keys, and 429 responses carry no documented Retry-After header",
          "security.txt expired on 1 July 2026, and no prompt-injection guidance was found in the MCP docs"
        ],
        "agentNotes": [
          "Send writes to one sheet one at a time. Parallel updates with the same token return error 4004",
          "Batch row changes, up to 500 rows a call, and add `allowPartialSuccess=true` to get per-row failures instead of a failed batch",
          "On error 4003 (HTTP 429) wait at least 60 seconds before retrying. The limit is 300 requests a minute per token, 30 for attachments and cell history",
          "Through MCP, call `get_columns` before filtering or writing. Column names are case-sensitive and guesses fail validation",
          "Use the regional host that matches the account (api.smartsheet.com, .eu or .au). Tokens don't work across regions"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.6
          }
        ],
        "editorialScores": {
          "ergonomics": 74,
          "maintenance": 80,
          "payments": 20,
          "reliability": 65,
          "schema": 88,
          "security": 66,
          "transparency": 72
        },
        "provenanceScore": 92
      },
      "connect": {
        "install": "pip install smartsheet-python-sdk",
        "http": "curl \"https://api.smartsheet.com/2.0/workspaces?maxItems=100\" \\\n  -H \"Authorization: Bearer $SMARTSHEET_API_TOKEN\"",
        "claudeCode": "claude mcp add --transport http smartsheet-mcp https://mcp.smartsheet.com -H \"Authorization:Bearer ${SMARTSHEET_API_TOKEN}\"",
        "config": {
          "mcpServers": {
            "smartsheet-mcp": {
              "headers": {
                "Authorization": "Bearer ${SMARTSHEET_API_TOKEN}"
              },
              "httpUrl": "https://mcp.smartsheet.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/sheets.read",
        "tool": "https://letme.dev/smartsheet"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Business plan (lowest plan with API and MCP access)",
          "unit": "seat-month",
          "usd": 19,
          "note": "billed yearly, $24 monthly, 3 members minimum"
        },
        {
          "item": "Pro plan (no API calls)",
          "unit": "seat-month",
          "usd": 9,
          "note": "billed yearly, $12 monthly, up to 10 members"
        }
      ],
      "provenance": {
        "legalEntity": "Smartsheet Inc.",
        "domain": "smartsheet.com",
        "domainRegistered": "2001-04-15",
        "endpointOnVendorDomain": true,
        "terms": "https://www.smartsheet.com/legal/developer-program-agreement",
        "privacy": "https://www.smartsheet.com/legal/privacy",
        "statusPage": "https://status.smartsheet.com",
        "changelog": "https://developers.smartsheet.com/api/smartsheet/changelog",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "The User Agreement (last updated 3 April 2026) and the privacy notice (20 May 2026) give Smartsheet Inc., 500 108th Ave NE, Suite 200, Bellevue, WA 98004.",
          "The Developer Agreement governing the API and SDKs was last updated 1 July 2021. Revisions take effect 15 days after posting.",
          "www.smartsheet.com/.well-known/security.txt names security@smartsheet.com and the bug bounty page, with Expires 2026-07-01, three months before this check.",
          "The API answers at api.smartsheet.com and the MCP server at mcp.smartsheet.com, with regional hosts on smartsheet.eu and smartsheet.au.",
          "RDAP for smartsheet.com gives a registration date of 2001-04-15."
        ],
        "score": 92
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/smartsheet.json",
      "live": {
        "slug": "smartsheet",
        "probe": {
          "target": "https://api.smartsheet.com/2.0",
          "method": "get",
          "lastAt": "2026-10-08T18:20:40.395486799Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 334,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 410,
          "p95ms24h": 453,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.smartsheet.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T18:22:19.979445843Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "smartsheet/smartsheet-python-sdk",
            "version": "v4.4.0",
            "released": "2026-08-12",
            "seenAt": "2026-10-08T16:29:43.071236352Z"
          },
          {
            "registry": "npm",
            "name": "smartsheet",
            "version": "5.3.0",
            "seenAt": "2026-10-08T16:29:42.658666425Z"
          },
          {
            "registry": "pypi",
            "name": "smartsheet-python-sdk",
            "version": "4.4.0",
            "released": "2026-08-12",
            "seenAt": "2026-10-08T16:29:42.474478981Z"
          }
        ],
        "githubStars": 82,
        "npmWeekly": 47484,
        "pypiWeekly": 311787,
        "securityTxt": {
          "url": "https://smartsheet.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2026-07-01T04:00:00.000Z",
          "checkedAt": "2026-10-08T15:38:51.088332618Z"
        },
        "pages": [
          {
            "url": "https://developers.smartsheet.com/api/smartsheet/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:18:00.810328989Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "295f068fdad5"
          }
        ],
        "updatedAt": "2026-10-08T18:22:19.979445843Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Microsoft",
        "b": "Smartsheet Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://graph.microsoft.com/v1.0",
        "b": "https://api.smartsheet.com/2.0",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Your plan",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (SDKs)",
        "b": "Proprietary service under Smartsheet's User Agreement and Developer Agreement. The SDKs on GitHub are Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "83",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2025-09-19",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "2025-10-01",
        "b": "2021-07-01",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-01",
        "b": "2026-05-20",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "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": "835 stars, 2.9M npm/wk, 1.6M PyPI/wk",
        "b": "82 stars, 47k npm/wk, 312k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Smartsheet API + MCP scores 67.6 (B) on agent readiness against Microsoft Excel (Microsoft Graph workbook API)'s 58.5 (C), and leads in every scored category.",
        "question": "Which is better for AI agents, Microsoft Excel (Microsoft Graph workbook API) or Smartsheet API + MCP?"
      },
      {
        "answer": "Microsoft Excel (Microsoft Graph workbook API) uses an OAuth sign-in. Smartsheet API + MCP takes an API key or an OAuth sign-in.",
        "question": "Do Microsoft Excel (Microsoft Graph workbook API) and Smartsheet API + MCP need an API key?"
      },
      {
        "answer": "Yes. Microsoft Excel (Microsoft Graph workbook API) has a hosted endpoint at https://graph.microsoft.com/v1.0 and Smartsheet API + MCP at https://api.smartsheet.com/2.0.",
        "question": "Can an agent call Microsoft Excel (Microsoft Graph workbook API) and Smartsheet API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Agents working on .xlsx files that already live in a Microsoft 365 tenant, and for using Excel's calculation engine through function endpoints.",
        "slug": "microsoft-excel-graph",
        "watchFor": "Reference pages list delegated permissions only and mark application permissions as not supported"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 20 against 15",
          "Maintenance \u0026 community, 80 against 53",
          "Transparency \u0026 trust, 82 against 75"
        ],
        "also": [
          "No incidents deducted, where Microsoft Excel (Microsoft Graph workbook API) loses 4 points for them"
        ],
        "goodFor": "An agent working inside a company that already runs projects in Smartsheet on a Business plan or above, especially row-level reads and batched writes, workflows and dashboards.",
        "slug": "smartsheet",
        "watchFor": "API and MCP access need a Business plan or higher, from $19 a member a month billed yearly with a three-member minimum"
      }
    ],
    "job": {
      "capability": "sheets.read",
      "name": "Sheets read"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/airtable-vs-microsoft-excel-graph.json",
        "title": "Airtable vs Microsoft Excel (Microsoft Graph workbook API)",
        "url": "https://www.anchorterminal.com/compare/airtable-vs-microsoft-excel-graph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/baserow-vs-microsoft-excel-graph.json",
        "title": "Baserow vs Microsoft Excel (Microsoft Graph workbook API)",
        "url": "https://www.anchorterminal.com/compare/baserow-vs-microsoft-excel-graph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coda-vs-microsoft-excel-graph.json",
        "title": "Coda (Superhuman Docs) vs Microsoft Excel (Microsoft Graph workbook API)",
        "url": "https://www.anchorterminal.com/compare/coda-vs-microsoft-excel-graph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coda-vs-smartsheet.json",
        "title": "Coda (Superhuman Docs) vs Smartsheet API + MCP",
        "url": "https://www.anchorterminal.com/compare/coda-vs-smartsheet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-sheets-api-vs-microsoft-excel-graph.json",
        "title": "Google Sheets API vs Microsoft Excel (Microsoft Graph workbook API)",
        "url": "https://www.anchorterminal.com/compare/google-sheets-api-vs-microsoft-excel-graph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-sheets-api-vs-smartsheet.json",
        "title": "Google Sheets API vs Smartsheet API + MCP",
        "url": "https://www.anchorterminal.com/compare/google-sheets-api-vs-smartsheet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-nocodb.json",
        "title": "Microsoft Excel (Microsoft Graph workbook API) vs NocoDB",
        "url": "https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-nocodb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtable-vs-smartsheet.json",
        "title": "Airtable vs Smartsheet API + MCP",
        "url": "https://www.anchorterminal.com/compare/airtable-vs-smartsheet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/baserow-vs-smartsheet.json",
        "title": "Baserow vs Smartsheet API + MCP",
        "url": "https://www.anchorterminal.com/compare/baserow-vs-smartsheet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nocodb-vs-smartsheet.json",
        "title": "NocoDB vs Smartsheet API + MCP",
        "url": "https://www.anchorterminal.com/compare/nocodb-vs-smartsheet"
      }
    ],
    "scores": [
      {
        "by": 3,
        "edge": "smartsheet",
        "key": "reliability",
        "microsoft-excel-graph": 62,
        "name": "Reliability",
        "smartsheet": 65,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 3,
        "edge": "smartsheet",
        "key": "schema",
        "microsoft-excel-graph": 85,
        "name": "Schema \u0026 documentation",
        "smartsheet": 88,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "smartsheet",
        "key": "ergonomics",
        "microsoft-excel-graph": 73,
        "name": "Agent ergonomics",
        "smartsheet": 74,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "smartsheet",
        "key": "security",
        "microsoft-excel-graph": 65,
        "name": "Security \u0026 auth",
        "smartsheet": 66,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "smartsheet",
        "key": "payments",
        "microsoft-excel-graph": 15,
        "name": "Payments \u0026 pricing",
        "smartsheet": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 27,
        "edge": "smartsheet",
        "key": "maintenance",
        "microsoft-excel-graph": 53,
        "name": "Maintenance \u0026 community",
        "smartsheet": 80,
        "weight": 7
      },
      {
        "by": 7,
        "edge": "smartsheet",
        "key": "transparency",
        "microsoft-excel-graph": 75,
        "name": "Transparency \u0026 trust",
        "smartsheet": 82,
        "weight": 7
      }
    ],
    "summary": "Smartsheet API + MCP scores 67.6 (B) on agent readiness against Microsoft Excel (Microsoft Graph workbook API)'s 58.5 (C), and leads in every scored category. Both do sheets read.",
    "verdicts": {
      "microsoft-excel-graph": "Ranges, tables, charts and 366 worksheet function endpoints are reachable over REST with a public OpenAPI, and a non-persistent session lets an agent test changes without saving them. The reference pages list delegated permissions only, with Files.ReadWrite as the least privileged scope, and writes take no idempotency key.",
      "smartsheet": "The REST API has a public OpenAPI 3.0.3 spec with 187 operations, Markdown docs and llms.txt, and the hosted MCP server loads its 83 documented tools by toolset. API access needs a Business plan or higher, and the status page lists eight incidents marked major or critical between 15 July and 21 September 2026."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-smartsheet",
    "json": "https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-smartsheet.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-smartsheet.md",
    "slim": "https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-smartsheet.min.md"
  },
  "markdown": "Smartsheet API + MCP scores 67.6 (B) on agent readiness against Microsoft Excel (Microsoft Graph workbook API)'s 58.5 (C), and leads in every scored category. Both do sheets read.\n\n- Microsoft Excel (Microsoft Graph workbook API): grade C, 58.5/100, rank #399 of 629. Markdown https://www.anchorterminal.com/tools/microsoft-excel-graph.md · JSON https://www.anchorterminal.com/api/v1/tools/microsoft-excel-graph.json\n- Smartsheet API + MCP: grade B, 67.6/100, rank #190 of 629. Markdown https://www.anchorterminal.com/tools/smartsheet.md · JSON https://www.anchorterminal.com/api/v1/tools/smartsheet.json\n\n## Which one, for what\n\n### Microsoft Excel (Microsoft Graph workbook API) (C)\n\nGood for: Agents working on .xlsx files that already live in a Microsoft 365 tenant, and for using Excel's calculation engine through function endpoints.\n\nWatch for: Reference pages list delegated permissions only and mark application permissions as not supported\n\n### Smartsheet API + MCP (B)\n\nGood for: An agent working inside a company that already runs projects in Smartsheet on a Business plan or above, especially row-level reads and batched writes, workflows and dashboards.\n\nAhead on:\n- Payments \u0026 pricing, 20 against 15\n- Maintenance \u0026 community, 80 against 53\n- Transparency \u0026 trust, 82 against 75\n\nAlso in its favour:\n- No incidents deducted, where Microsoft Excel (Microsoft Graph workbook API) loses 4 points for them\n\nWatch for: API and MCP access need a Business plan or higher, from $19 a member a month billed yearly with a three-member minimum\n\n\n## Score by category\n\n| Category | Weight | Microsoft Excel (Microsoft Graph workbook API) | Smartsheet API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 62 | 65 | Smartsheet API + MCP +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 88 | Smartsheet API + MCP +3 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 74 | Smartsheet API + MCP +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 65 | 66 | Smartsheet API + MCP +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 20 | Smartsheet API + MCP +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 53 | 80 | Smartsheet API + MCP +27 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 75 | 82 | Smartsheet API + MCP +7 |\n| Negative events | ≤15 | -4 | 0 | |\n| **Total** | | **58.5 · C** | **67.6 · B** | |\n\n## Facts side by side\n\n| Fact | Microsoft Excel (Microsoft Graph workbook API) | Smartsheet API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Microsoft | Smartsheet Inc. |\n| Hosted endpoint | `https://graph.microsoft.com/v1.0` | `https://api.smartsheet.com/2.0` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth | OAuth or key |\n| Pricing | Your plan | Paid |\n| x402 | no | no |\n| Licence | MIT (SDKs) | Proprietary service under Smartsheet's User Agreement and Developer Agreement. The SDKs on GitHub are Apache-2.0 |\n| Tools exposed | none | 83 |\n| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\n| Last release | 2025-09-19 | 2026-10-06 |\n| Terms last updated | 2025-10-01 | 2021-07-01 |\n| Privacy policy last updated | 2026-09-01 | 2026-05-20 |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 835 stars, 2.9M npm/wk, 1.6M PyPI/wk | 82 stars, 47k npm/wk, 312k PyPI/wk |\n\n## Verdicts\n\n**Microsoft Excel (Microsoft Graph workbook API).** Ranges, tables, charts and 366 worksheet function endpoints are reachable over REST with a public OpenAPI, and a non-persistent session lets an agent test changes without saving them. The reference pages list delegated permissions only, with Files.ReadWrite as the least privileged scope, and writes take no idempotency key.\n\n**Smartsheet API + MCP.** The REST API has a public OpenAPI 3.0.3 spec with 187 operations, Markdown docs and llms.txt, and the hosted MCP server loads its 83 documented tools by toolset. API access needs a Business plan or higher, and the status page lists eight incidents marked major or critical between 15 July and 21 September 2026.\n\n## Before you call either\n\n### Microsoft Excel (Microsoft Graph workbook API)\n\n1. Create a session with POST /workbook/createSession and send `workbook-session-id` on every call. Persistent sessions expire after about 5 minutes idle\n2. Set `persistChanges` to false when you only need a calculation or a chart image, so nothing is saved to the file\n3. Send one request at a time per workbook and wait for each response. Microsoft warns that parallel writes cause throttling, timeouts and merge conflicts\n4. Add rows in one call with a two-dimensional `values` array, and check the table before repeating a row add that returned 504\n5. Read bounded addresses such as A1:D500. A whole-column range such as C:C returns null for values, and writes to it are refused\n\n### Smartsheet API + MCP\n\n1. Send writes to one sheet one at a time. Parallel updates with the same token return error 4004\n2. Batch row changes, up to 500 rows a call, and add `allowPartialSuccess=true` to get per-row failures instead of a failed batch\n3. On error 4003 (HTTP 429) wait at least 60 seconds before retrying. The limit is 300 requests a minute per token, 30 for attachments and cell history\n4. Through MCP, call `get_columns` before filtering or writing. Column names are case-sensitive and guesses fail validation\n5. Use the regional host that matches the account (api.smartsheet.com, .eu or .au). Tokens don't work across regions\n\n## Questions\n\n### Which is better for AI agents, Microsoft Excel (Microsoft Graph workbook API) or Smartsheet API + MCP?\n\nSmartsheet API + MCP scores 67.6 (B) on agent readiness against Microsoft Excel (Microsoft Graph workbook API)'s 58.5 (C), and leads in every scored category.\n\n### Do Microsoft Excel (Microsoft Graph workbook API) and Smartsheet API + MCP need an API key?\n\nMicrosoft Excel (Microsoft Graph workbook API) uses an OAuth sign-in. Smartsheet API + MCP takes an API key or an OAuth sign-in.\n\n### Can an agent call Microsoft Excel (Microsoft Graph workbook API) and Smartsheet API + MCP without installing anything?\n\nYes. Microsoft Excel (Microsoft Graph workbook API) has a hosted endpoint at https://graph.microsoft.com/v1.0 and Smartsheet API + MCP at https://api.smartsheet.com/2.0.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-smartsheet.json, and with the fewest tokens: https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-smartsheet.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"microsoft-excel-graph\", \"b\": \"smartsheet\"}`. From a terminal: `anchor compare microsoft-excel-graph smartsheet`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/microsoft-excel-graph.json and https://www.anchorterminal.com/api/v1/tools/smartsheet.json\n\n## Other comparisons with Microsoft Excel (Microsoft Graph workbook API) or Smartsheet API + MCP\n\n- [Airtable vs Microsoft Excel (Microsoft Graph workbook API)](https://www.anchorterminal.com/compare/airtable-vs-microsoft-excel-graph.md)\n- [Baserow vs Microsoft Excel (Microsoft Graph workbook API)](https://www.anchorterminal.com/compare/baserow-vs-microsoft-excel-graph.md)\n- [Coda (Superhuman Docs) vs Microsoft Excel (Microsoft Graph workbook API)](https://www.anchorterminal.com/compare/coda-vs-microsoft-excel-graph.md)\n- [Coda (Superhuman Docs) vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/coda-vs-smartsheet.md)\n- [Google Sheets API vs Microsoft Excel (Microsoft Graph workbook API)](https://www.anchorterminal.com/compare/google-sheets-api-vs-microsoft-excel-graph.md)\n- [Google Sheets API vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/google-sheets-api-vs-smartsheet.md)\n- [Microsoft Excel (Microsoft Graph workbook API) vs NocoDB](https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-nocodb.md)\n- [Airtable vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/airtable-vs-smartsheet.md)\n- [Baserow vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/baserow-vs-smartsheet.md)\n- [NocoDB vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/nocodb-vs-smartsheet.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": "Microsoft Excel (Microsoft Graph workbook API) vs Smartsheet API + MCP",
        "url": ""
      }
    ],
    "description": "Smartsheet API + MCP scores 67.6 (B) on agent readiness against Microsoft Excel (Microsoft Graph workbook API)'s 58.5 (C), and leads in every scored category. Both do sheets read. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Microsoft Excel (Microsoft Graph workbook API) C 58.5",
      "Smartsheet API + MCP B 67.6",
      "scores"
    ],
    "h1": "Microsoft Excel (Microsoft Graph workbook API) vs Smartsheet API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-microsoft-excel-graph-vs-smartsheet.png",
    "path": "/compare/microsoft-excel-graph-vs-smartsheet",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Microsoft Excel (Microsoft Graph workbook API) vs Smartsheet API + MCP",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-smartsheet"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 730
  },
  "version": 1
}
