{
  "data": {
    "a": {
      "slug": "google-sheets-api",
      "name": "Google Sheets API",
      "vendor": "Google",
      "vendorUrl": "https://developers.google.com/workspace/sheets",
      "kind": "http-api",
      "category": "spreadsheets",
      "summary": "REST API from Google for reading and writing Google Sheets spreadsheets, covering cell values, ranges, formulas, formatting, tables and comments. Access is by OAuth 2.0, and a six-tool MCP server is in Developer Preview.",
      "url": "https://www.anchorterminal.com/tools/google-sheets-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/google-sheets-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/google-sheets-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/google-sheets-api.json",
      "repo": "https://github.com/googleapis/google-api-nodejs-client",
      "license": "Proprietary service under the Google APIs Terms of Service. The client libraries are Apache-2.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://sheets.googleapis.com/v4",
      "packages": [
        {
          "registry": "npm",
          "name": "@googleapis/sheets"
        },
        {
          "registry": "pypi",
          "name": "google-api-python-client"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0, set up by a person in a Google Cloud project with a consent screen. No partner or sales approval. drive.file is non-sensitive and covers only files the user opens with the app. spreadsheets and spreadsheets.readonly are sensitive and need extra verification for a public app, and drive and drive.readonly are restricted. Scopes apply to a whole spreadsheet file, not one sheet. Service accounts work, and their calls count as one user for quota. An API key reads only files shared with anyone who has the link. The MCP server also needs sheetsmcp.googleapis.com enabled, your own OAuth client and Developer Preview Programme membership.",
      "pricing": "free",
      "pricingNotes": "Standard use of the Sheets API has no additional cost, and a free Google account can start without a card or contract. Quotas are 300 reads and 300 writes a minute per project and 60 each per user, with no daily limit. Google says exceeding the quota request limits is planned to incur charges to the Cloud billing account later in 2026, with no price published and 90 days' notice promised. There is no separate sandbox; a test spreadsheet in any account does that job (https://developers.google.com/workspace/sheets/api/limits; https://developers.google.com/workspace/tools-safety).",
      "priceSummary": "Free",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Sheets API docs, the limits page or the discovery document (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 6,
      "popularity": {
        "githubStars": 12262,
        "npmWeekly": 1859932,
        "pypiWeekly": 31750331,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.google.com/workspace/sheets/api/guides/concepts",
      "capabilities": [
        "sheets.read",
        "sheets.write",
        "sheets.formulas",
        "sheets.tables"
      ],
      "tags": [
        "hosted",
        "official",
        "free-tier",
        "mcp",
        "oauth",
        "typescript",
        "python",
        "enterprise",
        "status-page"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 76.3,
        "grade": "BB",
        "agentReady": true,
        "rank": 33,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 74,
          "maintenance": 85,
          "payments": 35,
          "reliability": 90,
          "schema": 83,
          "security": 80,
          "transparency": 80
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Batch updates apply atomically and count as one request, and the drive.file scope limits an app to files the user picks. Quotas are 300 reads and 300 writes a minute per project, reads are by range with no row filter or paging, and a person must complete OAuth consent first.",
        "bestFor": "Agents reading and writing cells, formulas and formatting in spreadsheets people already keep in Google Sheets.",
        "strengths": [
          "spreadsheets.batchUpdate takes 74 request kinds, applies them atomically and counts as one request against quota",
          "Public discovery document for v4 (revision 20260930, 17 methods, 273 schemas) and Markdown copies of doc pages at .md.txt URLs",
          "drive.file is a non-sensitive scope that limits an app to the files a user opens with it, and spreadsheets.readonly exists for reading",
          "No Sheets incident on the Workspace status dashboard since 12 November 2025, read on 8 October 2026",
          "Standard use costs nothing, with no daily request cap inside the per-minute quotas"
        ],
        "weaknesses": [
          "Quotas are 300 reads and 300 writes a minute per project and 60 each per user per project",
          "No row filter, query or paging on reads. An agent asks for A1 ranges and trims with a fields mask",
          "No idempotency key, so a values.append retried after the 180-second timeout can add the rows twice",
          "The MCP server is Developer Preview, and its update_spreadsheet tool carries destructiveHint false although it can delete sheets, rows and ranges",
          "Scopes apply to a whole spreadsheet file, not one sheet, and overage charges planned for later in 2026 have no published price"
        ],
        "agentNotes": [
          "Ask for drive.file where the user picks the files. spreadsheets and spreadsheets.readonly are sensitive scopes and need extra verification for a public app",
          "Send valueInputOption=USER_ENTERED to write formulas. With RAW the string =1+2 is stored as text",
          "Put related changes in one spreadsheets.batchUpdate. It counts as one write request and none of it applies if any request is invalid",
          "Pass ranges and a fields mask on spreadsheets.get and leave includeGridData off for large files",
          "Back off exponentially on 429 and 503, and keep to one request a second per spreadsheet. After a timeout on values.append, read the range before retrying"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 76.3
          }
        ],
        "editorialScores": {
          "ergonomics": 74,
          "maintenance": 85,
          "payments": 35,
          "reliability": 90,
          "schema": 83,
          "security": 80,
          "transparency": 65
        },
        "provenanceScore": 94
      },
      "connect": {
        "install": "npm install @googleapis/sheets",
        "http": "curl \"https://sheets.googleapis.com/v4/spreadsheets/$SPREADSHEET_ID/values/Sheet1!A1:D10\" \\\n  -H \"Authorization: Bearer $GOOGLE_ACCESS_TOKEN\"",
        "config": {
          "mcpServers": {
            "sheets": {
              "url": "https://sheetsmcp.googleapis.com/mcp/v1"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/sheets.read",
        "tool": "https://letme.dev/google-sheets-api"
      },
      "sameCompany": [
        "gemini-api",
        "gemini-embedding",
        "vertex-ai-tuning",
        "google-model-armor",
        "google-imagen",
        "google-veo",
        "google-lyria",
        "google-speech-to-text",
        "google-adk",
        "google-secret-manager",
        "google-weather-api",
        "chrome-devtools-mcp",
        "google-maps-platform",
        "google-cloud-translation",
        "google-calendar-api",
        "google-drive-api",
        "gemini-cli",
        "google-ads-api",
        "gmail-api"
      ],
      "area": "business",
      "provenance": {
        "legalEntity": "Google LLC",
        "domain": "google.com",
        "domainRegistered": "1997-09-15",
        "domainNote": "The endpoint is on googleapis.com, Google's API domain. google.com was registered in 1997.",
        "endpointOnVendorDomain": true,
        "terms": "https://developers.google.com/terms",
        "privacy": "https://policies.google.com/privacy",
        "statusPage": "https://www.google.com/appsstatus/dashboard/",
        "changelog": "https://developers.google.com/workspace/sheets/release-notes",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Google APIs Terms of Service (last modified 9 November 2021) name Google LLC, 1600 Amphitheatre Parkway, Mountain View.",
          "RDAP for google.com gives a registration date of 1997-09-15.",
          "www.google.com/.well-known/security.txt expires on 1 April 2030 and names g.co/vulnz, security@google.com and the vulnerability reward programme.",
          "Google publishes a discovery document for the API, not an OpenAPI spec.",
          "The MCP server is part of the Workspace Developer Preview Programme and can change.",
          "The Google privacy policy read on 8 October 2026 is the version effective 1 October 2026."
        ],
        "score": 94
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/google-sheets-api.json",
      "live": {
        "slug": "google-sheets-api",
        "probe": {
          "target": "https://sheets.googleapis.com/v4",
          "method": "get",
          "lastAt": "2026-10-08T18:20:30.961273656Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 155,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 186,
          "p95ms24h": 700,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "googleapis/google-api-nodejs-client",
            "version": "agentidentity-v3.2.0",
            "released": "2026-10-07",
            "seenAt": "2026-10-08T16:14:25.225453746Z"
          },
          {
            "registry": "npm",
            "name": "@googleapis/sheets",
            "version": "18.1.1",
            "seenAt": "2026-10-08T16:14:21.513613578Z"
          },
          {
            "registry": "pypi",
            "name": "google-api-python-client",
            "version": "2.201.0",
            "released": "2026-09-30",
            "seenAt": "2026-10-08T16:14:25.103740958Z"
          }
        ],
        "githubStars": 12263,
        "npmWeekly": 1859932,
        "pypiWeekly": 31750331,
        "securityTxt": {
          "url": "https://google.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2030-04-01T00:00:00z",
          "checkedAt": "2026-10-08T15:38:39.75078566Z"
        },
        "pages": [
          {
            "url": "https://developers.google.com/workspace/sheets/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:57.991043636Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e2880ec22d35"
          }
        ],
        "updatedAt": "2026-10-08T18:20:30.961273656Z"
      }
    },
    "answer": "Google Sheets API scores 76.3 (BB) on agent readiness against Smartsheet API + MCP's 67.6 (B), and leads in 4 of 7 scored categories. Smartsheet API + MCP leads on schema \u0026 documentation.",
    "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": "Google",
        "b": "Smartsheet Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://sheets.googleapis.com/v4",
        "b": "https://api.smartsheet.com/2.0",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Google APIs Terms of Service. The client libraries are Apache-2.0",
        "b": "Proprietary service under Smartsheet's User Agreement and Developer Agreement. The SDKs on GitHub are Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "6",
        "b": "83",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-07",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "2021-11-09",
        "b": "2021-07-01",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-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": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "12k stars, 1.9M npm/wk, 31.8M PyPI/wk",
        "b": "82 stars, 47k npm/wk, 312k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Google Sheets API scores 76.3 (BB) on agent readiness against Smartsheet API + MCP's 67.6 (B), and leads in 4 of 7 scored categories. Smartsheet API + MCP leads on schema \u0026 documentation.",
        "question": "Which is better for AI agents, Google Sheets API or Smartsheet API + MCP?"
      },
      {
        "answer": "Google Sheets API uses an OAuth sign-in. Smartsheet API + MCP takes an API key or an OAuth sign-in.",
        "question": "Do Google Sheets API and Smartsheet API + MCP need an API key?"
      },
      {
        "answer": "Yes. Google Sheets API has a hosted endpoint at https://sheets.googleapis.com/v4 and Smartsheet API + MCP at https://api.smartsheet.com/2.0.",
        "question": "Can an agent call Google Sheets API and Smartsheet API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 90 against 65",
          "Security \u0026 auth, 80 against 66",
          "Payments \u0026 pricing, 35 against 20",
          "Maintenance \u0026 community, 85 against 80"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "Agents reading and writing cells, formulas and formatting in spreadsheets people already keep in Google Sheets.",
        "slug": "google-sheets-api",
        "watchFor": "Quotas are 300 reads and 300 writes a minute per project and 60 each per user per project"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 88 against 83"
        ],
        "also": null,
        "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-google-sheets-api.json",
        "title": "Airtable vs Google Sheets API",
        "url": "https://www.anchorterminal.com/compare/airtable-vs-google-sheets-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/baserow-vs-google-sheets-api.json",
        "title": "Baserow vs Google Sheets API",
        "url": "https://www.anchorterminal.com/compare/baserow-vs-google-sheets-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coda-vs-google-sheets-api.json",
        "title": "Coda (Superhuman Docs) vs Google Sheets API",
        "url": "https://www.anchorterminal.com/compare/coda-vs-google-sheets-api"
      },
      {
        "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-nocodb.json",
        "title": "Google Sheets API vs NocoDB",
        "url": "https://www.anchorterminal.com/compare/google-sheets-api-vs-nocodb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-smartsheet.json",
        "title": "Microsoft Excel (Microsoft Graph workbook API) vs Smartsheet API + MCP",
        "url": "https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-smartsheet"
      },
      {
        "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": 25,
        "edge": "google-sheets-api",
        "google-sheets-api": 90,
        "key": "reliability",
        "name": "Reliability",
        "smartsheet": 65,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 5,
        "edge": "smartsheet",
        "google-sheets-api": 83,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "smartsheet": 88,
        "weight": 13
      },
      {
        "by": 0,
        "edge": "",
        "google-sheets-api": 74,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "smartsheet": 74,
        "weight": 13
      },
      {
        "by": 14,
        "edge": "google-sheets-api",
        "google-sheets-api": 80,
        "key": "security",
        "name": "Security \u0026 auth",
        "smartsheet": 66,
        "weight": 14
      },
      {
        "by": 15,
        "edge": "google-sheets-api",
        "google-sheets-api": 35,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "smartsheet": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 5,
        "edge": "google-sheets-api",
        "google-sheets-api": 85,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "smartsheet": 80,
        "weight": 7
      },
      {
        "by": 2,
        "edge": "smartsheet",
        "google-sheets-api": 80,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "smartsheet": 82,
        "weight": 7
      }
    ],
    "summary": "Google Sheets API scores 76.3 (BB) on agent readiness against Smartsheet API + MCP's 67.6 (B), and leads in 4 of 7 scored categories. Smartsheet API + MCP leads on schema \u0026 documentation. Both do sheets read.",
    "verdicts": {
      "google-sheets-api": "Batch updates apply atomically and count as one request, and the drive.file scope limits an app to files the user picks. Quotas are 300 reads and 300 writes a minute per project, reads are by range with no row filter or paging, and a person must complete OAuth consent first.",
      "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/google-sheets-api-vs-smartsheet",
    "json": "https://www.anchorterminal.com/compare/google-sheets-api-vs-smartsheet.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/google-sheets-api-vs-smartsheet.md",
    "slim": "https://www.anchorterminal.com/compare/google-sheets-api-vs-smartsheet.min.md"
  },
  "markdown": "Google Sheets API scores 76.3 (BB) on agent readiness against Smartsheet API + MCP's 67.6 (B), and leads in 4 of 7 scored categories. Smartsheet API + MCP leads on schema \u0026 documentation. Both do sheets read.\n\n- Google Sheets API: grade BB, 76.3/100, rank #33 of 629. Markdown https://www.anchorterminal.com/tools/google-sheets-api.md · JSON https://www.anchorterminal.com/api/v1/tools/google-sheets-api.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### Google Sheets API (BB)\n\nGood for: Agents reading and writing cells, formulas and formatting in spreadsheets people already keep in Google Sheets.\n\nAhead on:\n- Reliability, 90 against 65\n- Security \u0026 auth, 80 against 66\n- Payments \u0026 pricing, 35 against 20\n- Maintenance \u0026 community, 85 against 80\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: Quotas are 300 reads and 300 writes a minute per project and 60 each per user per project\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- Schema \u0026 documentation, 88 against 83\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 | Google Sheets API | Smartsheet API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 90 | 65 | Google Sheets API +25 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 88 | Smartsheet API + MCP +5 |\n| Agent ergonomics | 13% (16.2 this run) | 74 | 74 | even |\n| Security \u0026 auth | 14% (17.5 this run) | 80 | 66 | Google Sheets API +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 20 | Google Sheets API +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 80 | Google Sheets API +5 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 80 | 82 | Smartsheet API + MCP +2 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **76.3 · BB** | **67.6 · B** | |\n\n## Facts side by side\n\n| Fact | Google Sheets API | Smartsheet API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Google | Smartsheet Inc. |\n| Hosted endpoint | `https://sheets.googleapis.com/v4` | `https://api.smartsheet.com/2.0` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth | OAuth or key |\n| Pricing | Free | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under the Google APIs Terms of Service. The client libraries are Apache-2.0 | Proprietary service under Smartsheet's User Agreement and Developer Agreement. The SDKs on GitHub are Apache-2.0 |\n| Tools exposed | 6 | 83 |\n| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\n| Last release | 2026-10-07 | 2026-10-06 |\n| Terms last updated | 2021-11-09 | 2021-07-01 |\n| Privacy policy last updated | 2026-10-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 | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 12k stars, 1.9M npm/wk, 31.8M PyPI/wk | 82 stars, 47k npm/wk, 312k PyPI/wk |\n\n## Verdicts\n\n**Google Sheets API.** Batch updates apply atomically and count as one request, and the drive.file scope limits an app to files the user picks. Quotas are 300 reads and 300 writes a minute per project, reads are by range with no row filter or paging, and a person must complete OAuth consent first.\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### Google Sheets API\n\n1. Ask for drive.file where the user picks the files. spreadsheets and spreadsheets.readonly are sensitive scopes and need extra verification for a public app\n2. Send valueInputOption=USER_ENTERED to write formulas. With RAW the string =1+2 is stored as text\n3. Put related changes in one spreadsheets.batchUpdate. It counts as one write request and none of it applies if any request is invalid\n4. Pass ranges and a fields mask on spreadsheets.get and leave includeGridData off for large files\n5. Back off exponentially on 429 and 503, and keep to one request a second per spreadsheet. After a timeout on values.append, read the range before retrying\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, Google Sheets API or Smartsheet API + MCP?\n\nGoogle Sheets API scores 76.3 (BB) on agent readiness against Smartsheet API + MCP's 67.6 (B), and leads in 4 of 7 scored categories. Smartsheet API + MCP leads on schema \u0026 documentation.\n\n### Do Google Sheets API and Smartsheet API + MCP need an API key?\n\nGoogle Sheets API uses an OAuth sign-in. Smartsheet API + MCP takes an API key or an OAuth sign-in.\n\n### Can an agent call Google Sheets API and Smartsheet API + MCP without installing anything?\n\nYes. Google Sheets API has a hosted endpoint at https://sheets.googleapis.com/v4 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/google-sheets-api-vs-smartsheet.json, and with the fewest tokens: https://www.anchorterminal.com/compare/google-sheets-api-vs-smartsheet.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"google-sheets-api\", \"b\": \"smartsheet\"}`. From a terminal: `anchor compare google-sheets-api smartsheet`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/google-sheets-api.json and https://www.anchorterminal.com/api/v1/tools/smartsheet.json\n\n## Other comparisons with Google Sheets API or Smartsheet API + MCP\n\n- [Airtable vs Google Sheets API](https://www.anchorterminal.com/compare/airtable-vs-google-sheets-api.md)\n- [Baserow vs Google Sheets API](https://www.anchorterminal.com/compare/baserow-vs-google-sheets-api.md)\n- [Coda (Superhuman Docs) vs Google Sheets API](https://www.anchorterminal.com/compare/coda-vs-google-sheets-api.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 NocoDB](https://www.anchorterminal.com/compare/google-sheets-api-vs-nocodb.md)\n- [Microsoft Excel (Microsoft Graph workbook API) vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-smartsheet.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": "Google Sheets API vs Smartsheet API + MCP",
        "url": ""
      }
    ],
    "description": "Google Sheets API scores 76.3 (BB) on agent readiness against Smartsheet API + MCP's 67.6 (B), and leads in 4 of 7 scored categories. Smartsheet API + MCP leads on schema \u0026 documentation. Both do sheets read. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Google Sheets API BB 76.3",
      "Smartsheet API + MCP B 67.6",
      "scores"
    ],
    "h1": "Google Sheets API vs Smartsheet API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-google-sheets-api-vs-smartsheet.png",
    "path": "/compare/google-sheets-api-vs-smartsheet",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Google Sheets API vs Smartsheet API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/google-sheets-api-vs-smartsheet"
  },
  "tokens": {
    "markdown": 2250,
    "slim": 730
  },
  "version": 1
}
