{
  "data": {
    "a": {
      "slug": "coda",
      "name": "Coda (Superhuman Docs)",
      "vendor": "Superhuman Platform Inc.",
      "vendorUrl": "https://coda.io",
      "kind": "http-api",
      "category": "spreadsheets",
      "summary": "Coda, renamed Superhuman Docs in July 2026, is a document workspace whose pages hold typed tables, formulas and automations. Agents reach it through a REST API with a public OpenAPI description, or a hosted MCP server in beta.",
      "url": "https://www.anchorterminal.com/tools/coda",
      "markdownUrl": "https://www.anchorterminal.com/tools/coda.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/coda.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/coda.json",
      "repo": "https://github.com/coda/packs-sdk",
      "license": "Proprietary service under Superhuman's terms of service and developer terms. The Packs SDK on GitHub is MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://coda.io/apis/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@codahq/packs-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "REST API takes `Authorization: Bearer \u003capi_token\u003e`, a token a signed-in user creates under account settings. A token can do everything its owner can unless it is created with restrictions, which limit it to one doc or one table and to read, write or both. The MCP server at https://coda.io/apis/mcp takes OAuth (authorisation code grant with PKCE S256, dynamic client registration, one scope `mcp:all`) or an API token created with the MCP restriction, per a staff reply on the vendor's community forum. Access is self-serve with no app review.",
      "pricing": "freemium",
      "pricingNotes": "The API is free on free and paid workspaces, so an agent can start on the Free plan without a contract. Suite prices as shown to our UK request on 8 October 2026 were Free £0, Pro £10 a member a month billed yearly (£12 monthly), Business £28 (£33 monthly) and Enterprise by quote (https://superhuman.com/plans). MCP is included on paid plans, and Free accounts get read-only MCP access capped at 30 requests a week and 60 a month. US dollar prices and the Docs-only plan table were not readable.",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI description or the plans page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 34,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 10270,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://coda.io/developers/apis/v1",
      "openapi": "https://coda.io/apis/v1/openapi.json",
      "capabilities": [
        "sheets.read",
        "sheets.write",
        "sheets.tables",
        "sheets.records",
        "sheets.formulas",
        "work.docs"
      ],
      "tags": [
        "official",
        "hosted",
        "closed-source",
        "freemium",
        "free-tier",
        "api-key",
        "oauth",
        "mcp",
        "openapi",
        "status-page",
        "bug-bounty",
        "soc2",
        "iso27001"
      ],
      "lastRelease": "2026-09-24",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64.8,
        "grade": "B",
        "agentReady": false,
        "rank": 247,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 61,
          "maintenance": 72,
          "payments": 30,
          "reliability": 81,
          "schema": 76,
          "security": 71,
          "transparency": 78
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -3,
        "negativeNotes": [
          "24 September 2026 (date approximate per the vendor). The MCP changelog records chart `viewLayout` values renamed so the old ones are no longer valid, and `table_columns_manage` restructured, both marked as documented after shipping. The MCP server is in beta and its tools page warns that names can change, so the deduction is the minimum, 3 (https://docs.superhuman.com/@bharat-batra/tools-and-endpoints/changelog-3)."
        ],
        "verdict": "API tokens can be limited to one doc or one table and to read or write, and the OpenAPI description covers 125 operations with 429 on almost all. Writes are queued and answered with 202, so each needs a status check. The REST API has no idempotency keys or official client libraries, and the MCP server is in beta.",
        "bestFor": "Teams whose working data already sits in Coda docs and who want an agent to read and upsert table rows or build docs.",
        "strengths": [
          "API tokens can be restricted to one doc or one table, and to read or write access",
          "Public OpenAPI 3.0 description in JSON and YAML, 125 operations, all with descriptions and 429 documented on 124",
          "Rate limits are published with numbers, 100 reads and 10 writes per 6 seconds per user",
          "Hosted MCP server with 34 tools, OAuth with PKCE and dynamic client registration, and a dated changelog",
          "Public bug bounty on HackerOne, ISO 27001, 27017 and 27018 certificates, SOC 2 Type 2 and a SOC 3 report"
        ],
        "weaknesses": [
          "Row writes return 202 and take a few seconds to apply, and reads come from a snapshot that can be stale",
          "No idempotency keys and no Retry-After header documented, and error bodies carry only a status and a message",
          "No official client libraries apart from a Google Apps Script library",
          "The MCP server is in beta, and its changelog records renamed tools and parameters documented after they shipped",
          "MCP OAuth has one scope, `mcp:all`, and no confirmation step was found for `document_delete` or `table_delete`",
          "security.txt on coda.io expired on 31 December 2024"
        ],
        "agentNotes": [
          "Poll `/mutationStatus/{requestId}` after every row write. A 202 means queued, and the edit can still fail",
          "Send `X-Coda-Doc-Version: latest` when a read must reflect recent edits, and handle the 400 it returns when the snapshot is behind",
          "Use `keyColumns` on `POST .../rows` so a retried insert updates the same row instead of adding a duplicate",
          "Ask for a token restricted to the one doc or table and to read access where the task allows. An unrestricted token can do anything its owner can",
          "Read MCP tool names from the tool list at run time. The vendor says names and parameters can change during the beta"
        ],
        "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": 64.8
          }
        ],
        "editorialScores": {
          "ergonomics": 61,
          "maintenance": 72,
          "payments": 30,
          "reliability": 81,
          "schema": 76,
          "security": 71,
          "transparency": 65
        },
        "provenanceScore": 90
      },
      "connect": {
        "http": "curl -s -H \"Authorization: Bearer $CODA_API_TOKEN\" \"https://coda.io/apis/v1/docs/$DOC_ID/tables/$TABLE_ID/rows?limit=25\u0026valueFormat=simpleWithArrays\"",
        "config": {
          "mcpServers": {
            "coda": {
              "url": "https://coda.io/apis/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/sheets.read",
        "tool": "https://letme.dev/coda"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "Superhuman Platform Inc. (parent of Coda Project LLC)",
        "domain": "coda.io",
        "domainRegistered": "2012-05-22",
        "endpointOnVendorDomain": true,
        "terms": "https://superhuman.com/legal/terms",
        "privacy": "https://superhuman.com/legal/privacy-policy",
        "statusPage": "https://status.coda.io",
        "changelog": "https://docs.superhuman.com/@bharat-batra/tools-and-endpoints/changelog-3",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service (effective 29 October 2025) are an agreement with Superhuman Platform Inc., 2261 Market Street STE 85232, San Francisco, CA 94114, and call it the parent company of Coda Project LLC and Superhuman Labs LLC.",
          "The privacy policy (effective 6 July 2026) describes Superhuman Platform Inc. as formerly Grammarly, with Grammarly Inc. and Coda Project LLC as subsidiaries.",
          "coda.io/trust/tos, /trust/privacy, /trust/dpa and /trust/subprocessor redirect to superhuman.com/legal. coda.io/developers/apis/v1 redirects to docs.superhuman.com.",
          "The API and the MCP server answer on coda.io and on docs.superhuman.com. The OAuth metadata names https://coda.io as issuer.",
          "coda.io/.well-known/security.txt points to the HackerOne programme and carries Expires 2024-12-31. superhuman.com/.well-known/security.txt returns 404.",
          "The registry's RDAP record for coda.io gives a registration date of 2012-05-22 and Gandi SAS as registrar.",
          "The changelog link is the MCP server's. The REST API's update log at docs.superhuman.com/api-updates needs JavaScript and was not read."
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/coda.json",
      "live": {
        "slug": "coda",
        "probe": {
          "target": "https://coda.io/apis/v1",
          "method": "get",
          "lastAt": "2026-10-08T17:36:33.302473956Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 173,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 186,
          "p95ms24h": 229,
          "samples24h": 25,
          "samples30d": 25,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 25,
              "ok": 25
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.coda.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T17:38:24.133244937Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "coda/packs-sdk",
            "version": "v1.18.0",
            "released": "2026-10-07",
            "seenAt": "2026-10-08T16:06:05.16888764Z"
          },
          {
            "registry": "npm",
            "name": "@codahq/packs-sdk",
            "version": "1.18.0",
            "seenAt": "2026-10-08T16:06:01.042367623Z"
          }
        ],
        "githubStars": 112,
        "npmWeekly": 10270,
        "securityTxt": {
          "url": "https://coda.io/.well-known/security.txt",
          "state": "expired",
          "expires": "2024-12-31T20:00:00.000Z",
          "checkedAt": "2026-10-08T15:38:55.777108046Z"
        },
        "updatedAt": "2026-10-08T17:38:24.133244937Z"
      }
    },
    "answer": "Google Sheets API scores 76.3 (BB) on agent readiness against Coda (Superhuman Docs)'s 64.8 (B), and leads in every scored category.",
    "b": {
      "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-08T17:36:36.670614924Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 192,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 188,
          "p95ms24h": 700,
          "samples24h": 25,
          "samples30d": 25,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 25,
              "ok": 25
            }
          ]
        },
        "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"
        },
        "updatedAt": "2026-10-08T17:36:36.670614924Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Superhuman Platform Inc.",
        "b": "Google",
        "name": "Vendor"
      },
      {
        "a": "https://coda.io/apis/v1",
        "b": "https://sheets.googleapis.com/v4",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Superhuman's terms of service and developer terms. The Packs SDK on GitHub is MIT",
        "b": "Proprietary service under the Google APIs Terms of Service. The client libraries are Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "34",
        "b": "6",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-24",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "2025-10-29",
        "b": "2021-11-09",
        "name": "Terms last updated"
      },
      {
        "a": "2026-07-06",
        "b": "2026-10-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "10k npm/wk",
        "b": "12k stars, 1.9M npm/wk, 31.8M PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Google Sheets API scores 76.3 (BB) on agent readiness against Coda (Superhuman Docs)'s 64.8 (B), and leads in every scored category.",
        "question": "Which is better for AI agents, Coda (Superhuman Docs) or Google Sheets API?"
      },
      {
        "answer": "Coda (Superhuman Docs) takes an API key or an OAuth sign-in. Google Sheets API uses an OAuth sign-in.",
        "question": "Do Coda (Superhuman Docs) and Google Sheets API need an API key?"
      },
      {
        "answer": "Yes. Coda (Superhuman Docs) has a hosted endpoint at https://coda.io/apis/v1 and Google Sheets API at https://sheets.googleapis.com/v4.",
        "question": "Can an agent call Coda (Superhuman Docs) and Google Sheets API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Teams whose working data already sits in Coda docs and who want an agent to read and upsert table rows or build docs.",
        "slug": "coda",
        "watchFor": "Row writes return 202 and take a few seconds to apply, and reads come from a snapshot that can be stale"
      },
      {
        "aheadOn": [
          "Reliability, 90 against 81",
          "Schema \u0026 documentation, 83 against 76",
          "Agent ergonomics, 74 against 61",
          "Security \u0026 auth, 80 against 71",
          "Payments \u0026 pricing, 35 against 30",
          "Maintenance \u0026 community, 85 against 72"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "No incidents deducted, where Coda (Superhuman Docs) loses 3 points for them"
        ],
        "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"
      }
    ],
    "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-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-nocodb.json",
        "title": "Coda (Superhuman Docs) vs NocoDB",
        "url": "https://www.anchorterminal.com/compare/coda-vs-nocodb"
      },
      {
        "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/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/airtable-vs-coda.json",
        "title": "Airtable vs Coda (Superhuman Docs)",
        "url": "https://www.anchorterminal.com/compare/airtable-vs-coda"
      },
      {
        "json": "https://www.anchorterminal.com/compare/baserow-vs-coda.json",
        "title": "Baserow vs Coda (Superhuman Docs)",
        "url": "https://www.anchorterminal.com/compare/baserow-vs-coda"
      }
    ],
    "scores": [
      {
        "by": 9,
        "coda": 81,
        "edge": "google-sheets-api",
        "google-sheets-api": 90,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "coda": 76,
        "edge": "google-sheets-api",
        "google-sheets-api": 83,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 13,
        "coda": 61,
        "edge": "google-sheets-api",
        "google-sheets-api": 74,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 9,
        "coda": 71,
        "edge": "google-sheets-api",
        "google-sheets-api": 80,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 5,
        "coda": 30,
        "edge": "google-sheets-api",
        "google-sheets-api": 35,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 13,
        "coda": 72,
        "edge": "google-sheets-api",
        "google-sheets-api": 85,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 2,
        "coda": 78,
        "edge": "google-sheets-api",
        "google-sheets-api": 80,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Google Sheets API scores 76.3 (BB) on agent readiness against Coda (Superhuman Docs)'s 64.8 (B), and leads in every scored category. Both do sheets read.",
    "verdicts": {
      "coda": "API tokens can be limited to one doc or one table and to read or write, and the OpenAPI description covers 125 operations with 429 on almost all. Writes are queued and answered with 202, so each needs a status check. The REST API has no idempotency keys or official client libraries, and the MCP server is in beta.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/coda-vs-google-sheets-api",
    "json": "https://www.anchorterminal.com/compare/coda-vs-google-sheets-api.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/coda-vs-google-sheets-api.md",
    "slim": "https://www.anchorterminal.com/compare/coda-vs-google-sheets-api.min.md"
  },
  "markdown": "Google Sheets API scores 76.3 (BB) on agent readiness against Coda (Superhuman Docs)'s 64.8 (B), and leads in every scored category. Both do sheets read.\n\n- Coda (Superhuman Docs): grade B, 64.8/100, rank #247 of 629. Markdown https://www.anchorterminal.com/tools/coda.md · JSON https://www.anchorterminal.com/api/v1/tools/coda.json\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\n## Which one, for what\n\n### Coda (Superhuman Docs) (B)\n\nGood for: Teams whose working data already sits in Coda docs and who want an agent to read and upsert table rows or build docs.\n\nWatch for: Row writes return 202 and take a few seconds to apply, and reads come from a snapshot that can be stale\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 81\n- Schema \u0026 documentation, 83 against 76\n- Agent ergonomics, 74 against 61\n- Security \u0026 auth, 80 against 71\n- Payments \u0026 pricing, 35 against 30\n- Maintenance \u0026 community, 85 against 72\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- No incidents deducted, where Coda (Superhuman Docs) loses 3 points for them\n\nWatch for: Quotas are 300 reads and 300 writes a minute per project and 60 each per user per project\n\n\n## Score by category\n\n| Category | Weight | Coda (Superhuman Docs) | Google Sheets API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 81 | 90 | Google Sheets API +9 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 76 | 83 | Google Sheets API +7 |\n| Agent ergonomics | 13% (16.2 this run) | 61 | 74 | Google Sheets API +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 71 | 80 | Google Sheets API +9 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 35 | Google Sheets API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 72 | 85 | Google Sheets API +13 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 78 | 80 | Google Sheets API +2 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **64.8 · B** | **76.3 · BB** | |\n\n## Facts side by side\n\n| Fact | Coda (Superhuman Docs) | Google Sheets API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Superhuman Platform Inc. | Google |\n| Hosted endpoint | `https://coda.io/apis/v1` | `https://sheets.googleapis.com/v4` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | Proprietary service under Superhuman's terms of service and developer terms. The Packs SDK on GitHub is MIT | Proprietary service under the Google APIs Terms of Service. The client libraries are Apache-2.0 |\n| Tools exposed | 34 | 6 |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-09-24 | 2026-10-07 |\n| Terms last updated | 2025-10-29 | 2021-11-09 |\n| Privacy policy last updated | 2026-07-06 | 2026-10-01 |\n| Customer content may train models | yes | yes |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 10k npm/wk | 12k stars, 1.9M npm/wk, 31.8M PyPI/wk |\n\n## Verdicts\n\n**Coda (Superhuman Docs).** API tokens can be limited to one doc or one table and to read or write, and the OpenAPI description covers 125 operations with 429 on almost all. Writes are queued and answered with 202, so each needs a status check. The REST API has no idempotency keys or official client libraries, and the MCP server is in beta.\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## Before you call either\n\n### Coda (Superhuman Docs)\n\n1. Poll `/mutationStatus/{requestId}` after every row write. A 202 means queued, and the edit can still fail\n2. Send `X-Coda-Doc-Version: latest` when a read must reflect recent edits, and handle the 400 it returns when the snapshot is behind\n3. Use `keyColumns` on `POST .../rows` so a retried insert updates the same row instead of adding a duplicate\n4. Ask for a token restricted to the one doc or table and to read access where the task allows. An unrestricted token can do anything its owner can\n5. Read MCP tool names from the tool list at run time. The vendor says names and parameters can change during the beta\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## Questions\n\n### Which is better for AI agents, Coda (Superhuman Docs) or Google Sheets API?\n\nGoogle Sheets API scores 76.3 (BB) on agent readiness against Coda (Superhuman Docs)'s 64.8 (B), and leads in every scored category.\n\n### Do Coda (Superhuman Docs) and Google Sheets API need an API key?\n\nCoda (Superhuman Docs) takes an API key or an OAuth sign-in. Google Sheets API uses an OAuth sign-in.\n\n### Can an agent call Coda (Superhuman Docs) and Google Sheets API without installing anything?\n\nYes. Coda (Superhuman Docs) has a hosted endpoint at https://coda.io/apis/v1 and Google Sheets API at https://sheets.googleapis.com/v4.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/coda-vs-google-sheets-api.json, and with the fewest tokens: https://www.anchorterminal.com/compare/coda-vs-google-sheets-api.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"coda\", \"b\": \"google-sheets-api\"}`. From a terminal: `anchor compare coda google-sheets-api`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/coda.json and https://www.anchorterminal.com/api/v1/tools/google-sheets-api.json\n\n## Other comparisons with Coda (Superhuman Docs) or Google Sheets API\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 Microsoft Excel (Microsoft Graph workbook API)](https://www.anchorterminal.com/compare/coda-vs-microsoft-excel-graph.md)\n- [Coda (Superhuman Docs) vs NocoDB](https://www.anchorterminal.com/compare/coda-vs-nocodb.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- [Google Sheets API vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/google-sheets-api-vs-smartsheet.md)\n- [Airtable vs Coda (Superhuman Docs)](https://www.anchorterminal.com/compare/airtable-vs-coda.md)\n- [Baserow vs Coda (Superhuman Docs)](https://www.anchorterminal.com/compare/baserow-vs-coda.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": "Coda (Superhuman Docs) vs Google Sheets API",
        "url": ""
      }
    ],
    "description": "Google Sheets API scores 76.3 (BB) on agent readiness against Coda (Superhuman Docs)'s 64.8 (B), and leads in every scored category. Both do sheets read. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Coda (Superhuman Docs) B 64.8",
      "Google Sheets API BB 76.3",
      "scores"
    ],
    "h1": "Coda (Superhuman Docs) vs Google Sheets API",
    "image": "https://www.anchorterminal.com/assets/og/compare-coda-vs-google-sheets-api.png",
    "path": "/compare/coda-vs-google-sheets-api",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Coda (Superhuman Docs) vs Google Sheets API for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/coda-vs-google-sheets-api"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 680
  },
  "version": 1
}
