{
  "data": {
    "category": {
      "area": "business",
      "capabilities": [
        "sheets.read",
        "sheets.write",
        "sheets.tables",
        "sheets.formulas",
        "sheets.records"
      ],
      "description": "Spreadsheets and table products an agent can read and write. Cells, ranges and formulas in a workbook, or typed records in a base. Compared on read and write calls, batch limits, formulas, change events and how access to one file is scoped.",
      "json": "https://www.anchorterminal.com/categories/spreadsheets.json",
      "name": "Spreadsheets \u0026 operational tables",
      "slug": "spreadsheets",
      "test": "The same workbook of one thousand rows in each listing. The same tasks run through its API (read a range, append rows, update cells in a batch, add a formula column, filter records). We check limits, consistency after writes and change notifications. In this run listings are graded from public evidence against the published checklist.",
      "title": "Spreadsheet and operational table APIs for AI agents",
      "toolCount": 10,
      "tools": [
        "google-sheets-api",
        "nocodb",
        "airtable",
        "smartsheet",
        "seatable",
        "coda",
        "baserow",
        "teable",
        "microsoft-excel-graph",
        "grist"
      ],
      "url": "https://www.anchorterminal.com/categories/spreadsheets"
    },
    "faq": [
      {
        "answer": "Google Sheets API has the highest benchmark score of the 10 ranked spreadsheet and operational table APIs, 76.3 (BB). NocoDB is second with 75.7 (BB).",
        "question": "What are the highest-rated spreadsheet and operational table APIs for AI agents?"
      },
      {
        "answer": "3 of the 10 ranked here grade BB or better, the bar for agent-ready on the Anchor benchmark.",
        "question": "How many spreadsheet and operational table APIs are agent-ready?"
      },
      {
        "answer": "None of the ranked listings here accepts x402 for its main call yet.",
        "question": "Which spreadsheet and operational table APIs accept x402 payments?"
      },
      {
        "answer": "By the Anchor benchmark score out of 100, a weighted mean of the scored categories minus deductions for negative events, from public evidence re-checked as vendors change. Listings cannot pay for a place. The latest assessment behind this page is from 8 October 2026.",
        "question": "How is this list ranked?"
      }
    ],
    "howToChoose": [
      {
        "label": "Batch size per write",
        "detail": "Check the largest batch of cells or records one write can carry, since many small calls are slower and use up an agent's rate allowance."
      },
      {
        "label": "Formulas that recalculate",
        "detail": "Check that a formula written through the API is calculated by the table, not stored as text, since a value that never recalculates goes stale."
      },
      {
        "label": "Read-after-write consistency",
        "detail": "Check whether a read straight after a write returns the new values, since an agent that appends rows and then reads them back needs the table to be current."
      },
      {
        "label": "Change notifications for edits",
        "detail": "Check whether changes to rows, cells or formulas raise an event the agent can receive, so it reacts to an edit without polling the whole workbook."
      }
    ],
    "picks": [
      {
        "also": {
          "name": "NocoDB",
          "slug": "nocodb",
          "why": "BB, 75.7/100"
        },
        "name": "Google Sheets API",
        "need": "Highest score overall",
        "slug": "google-sheets-api",
        "why": "BB, 76.3/100 on the benchmark"
      },
      {
        "name": "NocoDB",
        "need": "Reliability",
        "slug": "nocodb",
        "why": "97/100 on reliability, against 90 for the overall leader"
      },
      {
        "name": "Smartsheet API + MCP",
        "need": "Schema \u0026 documentation",
        "slug": "smartsheet",
        "why": "88/100 on schema \u0026 documentation, against 83 for the overall leader"
      },
      {
        "name": "NocoDB",
        "need": "Maintenance \u0026 community",
        "slug": "nocodb",
        "why": "87/100 on maintenance \u0026 community, against 85 for the overall leader"
      },
      {
        "name": "Airtable",
        "need": "Transparency \u0026 trust",
        "slug": "airtable",
        "why": "86/100 on transparency \u0026 trust, against 80 for the overall leader"
      },
      {
        "also": {
          "name": "SeaTable",
          "slug": "seatable",
          "why": "self-hosted, Proprietary cloud service under the Terms of Service for SeaTable Cloud licence"
        },
        "name": "NocoDB",
        "need": "Self-hosting under an open licence",
        "slug": "nocodb",
        "why": "self-hosted, Sustainable Use License 1 licence"
      }
    ],
    "ranked": 10,
    "shortlist": [
      {
        "bestFor": "Agents reading and writing cells, formulas and formatting in spreadsheets people already keep in Google Sheets.",
        "grade": "BB",
        "name": "Google Sheets API",
        "position": 1,
        "price": "Free",
        "score": 76.3,
        "slug": "google-sheets-api",
        "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"
        ],
        "url": "https://www.anchorterminal.com/tools/google-sheets-api",
        "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.",
        "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"
        ],
        "where": "hosted",
        "x402": "no"
      },
      {
        "bestFor": "Teams that want Airtable-style typed records with the option to self-host, and an agent that reads, filters and writes records or builds schema through MCP with a narrow allowlist.",
        "grade": "BB",
        "name": "NocoDB",
        "position": 2,
        "price": "$12 / seat-mo",
        "score": 75.7,
        "slug": "nocodb",
        "strengths": [
          "Fine-grained API tokens carry eight permission categories at Read or Read and write, a list of bases, an expiry and an on-off switch",
          "An MCP connection lists only the tools its owner allowed, by section at Read, Read and write, or Read, write and delete",
          "Public OpenAPI 3.1 file for the v3 REST API with 114 operations, plus llms.txt and a Markdown copy of every docs page"
        ],
        "url": "https://www.anchorterminal.com/tools/nocodb",
        "verdict": "API tokens and MCP connections are limited by permission category and by base, and an MCP connection registers only the tools it is allowed. The v3 REST API has a public OpenAPI file. Requests are capped at 5 a second per user, REST writes take 10 records a call, and the Free plan stops at 1,000 API calls a month.",
        "weaknesses": [
          "5 requests a second per user on every plan, shared by all of that user's tokens, with a 30-second block after a 429",
          "REST create, update and upsert calls take 10 records each by default",
          "The Free plan allows 1,000 API calls a month and 1,000 records, and workspace audit logs start at the Scale plan"
        ],
        "where": "hosted",
        "x402": "no"
      },
      {
        "bestFor": "Teams that already keep operational data in Airtable and want an agent to read, filter and update typed records or build bases through MCP.",
        "grade": "BB",
        "name": "Airtable",
        "position": 3,
        "price": "$20 / seat-mo",
        "score": 70.9,
        "slug": "airtable",
        "strengths": [
          "Personal access tokens and OAuth grants are limited by scope and by base or workspace, and the legacy `api_key` URL parameter is refused",
          "Official hosted MCP server at https://mcp.airtable.com/mcp, open to every plan and listed in the MCP registry as com.airtable/mcp",
          "Markdown copy of every API reference page, indexed by llms.txt files under airtable.com/developers"
        ],
        "url": "https://www.anchorterminal.com/tools/airtable",
        "verdict": "Tokens are limited by scope and by base, and the official MCP server at mcp.airtable.com covers records, schema, interfaces and automations in 40 tools. The REST API allows 5 requests a second per base with a 30-second lockout after a 429, writes take 10 records a call, and the Free plan stops at 1,000 calls a month.",
        "weaknesses": [
          "5 requests a second per base, and a 429 blocks further requests for 30 seconds",
          "Create, update and delete calls take at most 10 records each",
          "Free plan allows 1,000 API calls a month per workspace and 1,000 records per base"
        ],
        "where": "hosted",
        "x402": "no"
      },
      {
        "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.",
        "grade": "B",
        "name": "Smartsheet API + MCP",
        "position": 4,
        "price": "$19 / seat-mo",
        "score": 67.6,
        "slug": "smartsheet",
        "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"
        ],
        "url": "https://www.anchorterminal.com/tools/smartsheet",
        "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.",
        "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"
        ],
        "where": "hosted",
        "x402": "no"
      },
      {
        "bestFor": "Teams that want typed tables hosted in Germany or on their own server, with an agent reading and writing rows through a per-base token or the official MCP server.",
        "grade": "B",
        "name": "SeaTable",
        "position": 5,
        "price": "Freemium",
        "score": 66.3,
        "slug": "seatable",
        "strengths": [
          "API tokens are limited to one base, set to read-only or read-write, named per app and deletable, and the token list shows each token's last access time",
          "Official MCP server, MIT-licensed, hosted at `https://mcp.seatable.com/mcp` and listed in the official MCP registry as `io.github.seatable/seatable` at version 1.6.4",
          "All 21 hosted MCP tools carry readOnlyHint, destructiveHint and idempotentHint annotations, and the tool set leaves out table and column changes"
        ],
        "url": "https://www.anchorterminal.com/tools/seatable",
        "verdict": "API tokens are limited to one base and to read-only or read-write, and the official MCP server marks every tool as read-only or destructive. The Free plan allows 3,000 API calls a month in total, and base calls are capped at 200 a minute. The status page showed the base API degraded for 0.77 per cent of 30 days.",
        "weaknesses": [
          "Monthly API call quotas by plan, 3,000 for a whole Free team, 10,000 per user on Plus and 50,000 per user on Enterprise",
          "A 429 response has no body and no Retry-After header is documented, and the REST API has no idempotency keys",
          "Tokens can't be limited to a table, and the MCP tool `query_sql` accepts UPDATE and DELETE statements with no confirmation step"
        ],
        "where": "both",
        "x402": "no"
      },
      {
        "bestFor": "Teams whose working data already sits in Coda docs and who want an agent to read and upsert table rows or build docs.",
        "grade": "B",
        "name": "Coda (Superhuman Docs)",
        "position": 6,
        "price": "Freemium",
        "score": 64.8,
        "slug": "coda",
        "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"
        ],
        "url": "https://www.anchorterminal.com/tools/coda",
        "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.",
        "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"
        ],
        "where": "hosted",
        "x402": "no"
      },
      {
        "bestFor": "Teams that want Airtable-style typed tables they can also self-host, with row-level reads and writes by an agent through table-scoped tokens or a small MCP tool set.",
        "grade": "B",
        "name": "Baserow",
        "position": 7,
        "price": "$10 / seat-mo",
        "score": 63.6,
        "slug": "baserow",
        "strengths": [
          "Database tokens are limited to one workspace, to chosen tables and to create, read, update or delete, and can be regenerated or deleted",
          "Public OpenAPI 3.0.3 description at api.baserow.io/api/schema.json with 424 operations and an enum of error codes on each response",
          "The MCP server exposes 7 tools with typed inputs, and its descriptions tell the caller to read the table schema before writing"
        ],
        "url": "https://www.anchorterminal.com/tools/baserow",
        "verdict": "Database tokens are limited to chosen tables and to create, read, update or delete, and the REST API has a public OpenAPI description with batch calls of 200 rows. The MCP server authenticates with a key in its URL, runs over SSE only and has no read-only mode. Cloud requests are capped at 10 at a time.",
        "weaknesses": [
          "The MCP endpoint's key sits in the URL path, and the docs say it grants full access to modify data in the workspace",
          "The MCP server speaks only the older SSE transport, with no OAuth, no read-only mode and no tool annotations",
          "Table and field changes over REST need a JWT obtained with the account's email and password, since database tokens cover rows only"
        ],
        "where": "hosted",
        "x402": "no"
      },
      {
        "bestFor": "Teams that want Airtable-style typed tables on PostgreSQL that they can also self-host, with an agent reading and writing records through tokens limited by scope and project, or through the vendor's CLI and skill.",
        "grade": "C",
        "name": "Teable",
        "position": 8,
        "price": "$13 / seat-mo",
        "score": 61,
        "slug": "teable",
        "strengths": [
          "OAuth 2.0 with client secret, PKCE and device flows, 10-minute access tokens, rotating refresh tokens and scopes per action such as `record|read`",
          "Personal access tokens take an expiry, a set of scopes and a list of spaces and projects they can reach, and are shown once",
          "Public OpenAPI 3.0 file at help.teable.ai/swagger.json with 712 paths and 841 operations, each description naming the token scopes it needs"
        ],
        "url": "https://www.anchorterminal.com/tools/teable",
        "verdict": "Personal access tokens and OAuth tokens carry per-action scopes, and tokens can be limited to chosen spaces and projects. The public OpenAPI file covers 841 operations. Error responses beyond 200 and 201 are missing from that file, no idempotency keys were found, and the cloud allows 10 requests a second on every plan.",
        "weaknesses": [
          "The OpenAPI file documents only 200 and 201 responses for nearly every operation, and the error page lists HTTP statuses without a table of error codes",
          "No idempotency key or upsert call was found for record writes, and Retry-After is documented only for the notifications endpoint",
          "Teable Cloud allows 10 API requests a second on every plan, Free to Business, with no higher tier published"
        ],
        "where": "hosted",
        "x402": "no"
      },
      {
        "bestFor": "Agents working on .xlsx files that already live in a Microsoft 365 tenant, and for using Excel's calculation engine through function endpoints.",
        "grade": "C",
        "name": "Microsoft Excel (Microsoft Graph workbook API)",
        "position": 9,
        "price": "Your plan",
        "score": 58.5,
        "slug": "microsoft-excel-graph",
        "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"
        ],
        "url": "https://www.anchorterminal.com/tools/microsoft-excel-graph",
        "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.",
        "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"
        ],
        "where": "hosted",
        "x402": "no"
      },
      {
        "bestFor": "Teams that want a relational spreadsheet with Python formulas and per-document OAuth grants for an agent, or that need to self-host.",
        "grade": "D",
        "name": "Grist",
        "position": 10,
        "price": "$10 / seat-mo",
        "score": 50.1,
        "slug": "grist",
        "strengths": [
          "OAuth 2.0 with PKCE and seven scopes, with `doc:read`, `doc:write` and `doc.schema:write` granted separately and the grant limited to chosen sites, workspaces or documents",
          "Access tokens last 1 hour, refresh tokens 60 days, and a user can revoke one app's grant from the Authorised apps page",
          "Public OpenAPI 3.0.0 file with 101 paths and 120 operations, including a read-only SQL endpoint and `PUT` on `/records` to add or update by key columns"
        ],
        "url": "https://www.anchorterminal.com/tools/grist",
        "verdict": "OAuth tokens carry seven scopes, can be limited to chosen documents and expire after an hour, and the REST API has a public OpenAPI file with an add-or-update call. No status page, SLA terms, DPA or security.txt was found, and the docs say the hosted service has no SOC 2 or ISO 27001 audit.",
        "weaknesses": [
          "No status page was found. status.getgrist.com redirects to a signup form, and the site footer and help centre link to none",
          "An API key carries its owner's full account access, and each account has one key, so it can't be limited to a document or revoked per integration",
          "The data security page says hosted Grist has no SOC 2, ISO 27001, HIPAA or GDPR certification, and no DPA, sub-processor list or security.txt was found"
        ],
        "where": "hosted",
        "x402": "no"
      }
    ],
    "updated": "2026-10-08"
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/best/spreadsheets/",
    "json": "https://www.anchorterminal.com/best/spreadsheets/index.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/best/spreadsheets/index.md",
    "slim": "https://www.anchorterminal.com/best/spreadsheets/index.min.md"
  },
  "markdown": "All 10 ranked spreadsheet and operational table APIs on the Anchor benchmark, with a pick for each need and where each one falls short. Scores come from public evidence, re-checked as vendors change.\n\n- Ranked: 10 · agent-ready (BB or better): 3 · accept x402: 0 · hosted endpoints: 10\n- Full ranked table: https://www.anchorterminal.com/categories/spreadsheets.md\n- Head-to-head comparisons: https://www.anchorterminal.com/compare/spreadsheets/index.md (45)\n- Methodology: https://www.anchorterminal.com/benchmark/index.md\n\n## The shortlist\n\n| # | Tool | Grade | Score | Best for | Price | Where |\n| --- | --- | --- | --- | --- | --- | --- |\n| 1 | [Google Sheets API](https://www.anchorterminal.com/tools/google-sheets-api.md) | BB | 76.3 | Agents reading and writing cells, formulas and formatting in spreadsheets people already keep in Google Sheets. | Free | hosted |\n| 2 | [NocoDB](https://www.anchorterminal.com/tools/nocodb.md) | BB | 75.7 | Teams that want Airtable-style typed records with the option to self-host, and an agent that reads, filters and writes records or builds schema through MCP with a narrow allowlist. | $12 / seat-mo | hosted |\n| 3 | [Airtable](https://www.anchorterminal.com/tools/airtable.md) | BB | 70.9 | Teams that already keep operational data in Airtable and want an agent to read, filter and update typed records or build bases through MCP. | $20 / seat-mo | hosted |\n| 4 | [Smartsheet API + MCP](https://www.anchorterminal.com/tools/smartsheet.md) | B | 67.6 | 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. | $19 / seat-mo | hosted |\n| 5 | [SeaTable](https://www.anchorterminal.com/tools/seatable.md) | B | 66.3 | Teams that want typed tables hosted in Germany or on their own server, with an agent reading and writing rows through a per-base token or the official MCP server. | Freemium | hosted and local |\n| 6 | [Coda (Superhuman Docs)](https://www.anchorterminal.com/tools/coda.md) | B | 64.8 | Teams whose working data already sits in Coda docs and who want an agent to read and upsert table rows or build docs. | Freemium | hosted |\n| 7 | [Baserow](https://www.anchorterminal.com/tools/baserow.md) | B | 63.6 | Teams that want Airtable-style typed tables they can also self-host, with row-level reads and writes by an agent through table-scoped tokens or a small MCP tool set. | $10 / seat-mo | hosted |\n| 8 | [Teable](https://www.anchorterminal.com/tools/teable.md) | C | 61 | Teams that want Airtable-style typed tables on PostgreSQL that they can also self-host, with an agent reading and writing records through tokens limited by scope and project, or through the vendor's CLI and skill. | $13 / seat-mo | hosted |\n| 9 | [Microsoft Excel (Microsoft Graph workbook API)](https://www.anchorterminal.com/tools/microsoft-excel-graph.md) | C | 58.5 | Agents working on .xlsx files that already live in a Microsoft 365 tenant, and for using Excel's calculation engine through function endpoints. | Your plan | hosted |\n| 10 | [Grist](https://www.anchorterminal.com/tools/grist.md) | D | 50.1 | Teams that want a relational spreadsheet with Python formulas and per-document OAuth grants for an agent, or that need to self-host. | $10 / seat-mo | hosted |\n\n## Picks by need\n\n- Highest score overall: [Google Sheets API](https://www.anchorterminal.com/tools/google-sheets-api.md), BB, 76.3/100 on the benchmark. Also [NocoDB](https://www.anchorterminal.com/tools/nocodb.md), BB, 75.7/100.\n- Reliability: [NocoDB](https://www.anchorterminal.com/tools/nocodb.md), 97/100 on reliability, against 90 for the overall leader.\n- Schema \u0026 documentation: [Smartsheet API + MCP](https://www.anchorterminal.com/tools/smartsheet.md), 88/100 on schema \u0026 documentation, against 83 for the overall leader.\n- Maintenance \u0026 community: [NocoDB](https://www.anchorterminal.com/tools/nocodb.md), 87/100 on maintenance \u0026 community, against 85 for the overall leader.\n- Transparency \u0026 trust: [Airtable](https://www.anchorterminal.com/tools/airtable.md), 86/100 on transparency \u0026 trust, against 80 for the overall leader.\n- Self-hosting under an open licence: [NocoDB](https://www.anchorterminal.com/tools/nocodb.md), self-hosted, Sustainable Use License 1 licence. Also [SeaTable](https://www.anchorterminal.com/tools/seatable.md), self-hosted, Proprietary cloud service under the Terms of Service for SeaTable Cloud licence.\n\n## How to choose\n\n- Batch size per write: Check the largest batch of cells or records one write can carry, since many small calls are slower and use up an agent's rate allowance.\n- Formulas that recalculate: Check that a formula written through the API is calculated by the table, not stored as text, since a value that never recalculates goes stale.\n- Read-after-write consistency: Check whether a read straight after a write returns the new values, since an agent that appends rows and then reads them back needs the table to be current.\n- Change notifications for edits: Check whether changes to rows, cells or formulas raise an event the agent can receive, so it reacts to an edit without polling the whole workbook.\n\n- How the benchmark tests this category: The same workbook of one thousand rows in each listing. The same tasks run through its API (read a range, append rows, update cells in a batch, add a formula column, filter records). We check limits, consistency after writes and change notifications. In this run listings are graded from public evidence against the published checklist.\n\n## Each one in detail\n\n### 1. Google Sheets API, BB 76.3/100\n\nREST 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.\n\n- 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.\n- Choose it for: Agents reading and writing cells, formulas and formatting in spreadsheets people already keep in Google Sheets.\n- Strength: spreadsheets.batchUpdate takes 74 request kinds, applies them atomically and counts as one request against quota\n- Strength: Public discovery document for v4 (revision 20260930, 17 methods, 273 schemas) and Markdown copies of doc pages at .md.txt URLs\n- Strength: 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\n- Weakness: Quotas are 300 reads and 300 writes a minute per project and 60 each per user per project\n- Weakness: No row filter, query or paging on reads. An agent asks for A1 ranges and trims with a fields mask\n- Weakness: No idempotency key, so a values.append retried after the 180-second timeout can add the rows twice\n- Price: Free · Auth: OAuth · x402: no · Where: hosted\n- Full assessment: https://www.anchorterminal.com/tools/google-sheets-api.md\n\n### 2. NocoDB, BB 75.7/100\n\nNocoDB is a database of typed records in bases, tables and views, run on NocoDB Cloud or self-hosted. Agents reach it through a REST API and a built-in MCP server, using scoped API tokens or OAuth.\n\n- Verdict: API tokens and MCP connections are limited by permission category and by base, and an MCP connection registers only the tools it is allowed. The v3 REST API has a public OpenAPI file. Requests are capped at 5 a second per user, REST writes take 10 records a call, and the Free plan stops at 1,000 API calls a month.\n- Choose it for: Teams that want Airtable-style typed records with the option to self-host, and an agent that reads, filters and writes records or builds schema through MCP with a narrow allowlist.\n- Strength: Fine-grained API tokens carry eight permission categories at Read or Read and write, a list of bases, an expiry and an on-off switch\n- Strength: An MCP connection lists only the tools its owner allowed, by section at Read, Read and write, or Read, write and delete\n- Strength: Public OpenAPI 3.1 file for the v3 REST API with 114 operations, plus llms.txt and a Markdown copy of every docs page\n- Weakness: 5 requests a second per user on every plan, shared by all of that user's tokens, with a 30-second block after a 429\n- Weakness: REST create, update and upsert calls take 10 records each by default\n- Weakness: The Free plan allows 1,000 API calls a month and 1,000 records, and workspace audit logs start at the Scale plan\n- Price: $12 / seat-mo · Auth: OAuth or key · x402: no · Where: hosted\n- Full assessment: https://www.anchorterminal.com/tools/nocodb.md\n- Against #1: https://www.anchorterminal.com/compare/google-sheets-api-vs-nocodb.md\n\n### 3. Airtable, BB 70.9/100\n\nAirtable is a hosted database of typed records organised in bases, tables and views. Agents reach it through a REST Web API and an official hosted MCP server, using personal access tokens or OAuth.\n\n- Verdict: Tokens are limited by scope and by base, and the official MCP server at mcp.airtable.com covers records, schema, interfaces and automations in 40 tools. The REST API allows 5 requests a second per base with a 30-second lockout after a 429, writes take 10 records a call, and the Free plan stops at 1,000 calls a month.\n- Choose it for: Teams that already keep operational data in Airtable and want an agent to read, filter and update typed records or build bases through MCP.\n- Strength: Personal access tokens and OAuth grants are limited by scope and by base or workspace, and the legacy `api_key` URL parameter is refused\n- Strength: Official hosted MCP server at https://mcp.airtable.com/mcp, open to every plan and listed in the MCP registry as com.airtable/mcp\n- Strength: Markdown copy of every API reference page, indexed by llms.txt files under airtable.com/developers\n- Weakness: 5 requests a second per base, and a 429 blocks further requests for 30 seconds\n- Weakness: Create, update and delete calls take at most 10 records each\n- Weakness: Free plan allows 1,000 API calls a month per workspace and 1,000 records per base\n- Price: $20 / seat-mo · Auth: OAuth or key · x402: no · Where: hosted\n- Full assessment: https://www.anchorterminal.com/tools/airtable.md\n- Against #1: https://www.anchorterminal.com/compare/airtable-vs-google-sheets-api.md\n\n### 4. Smartsheet API + MCP, B 67.6/100\n\nSmartsheet 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.\n\n- 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.\n- Choose it 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- Strength: 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\n- Strength: Hosted MCP server in three regions (US, EU, Australia) with toolsets, so a client loads tools by domain through `search_tools`\n- Strength: OAuth 2.0 with 17 scopes, including READ_SHEETS for a read-only grant, and sheet sharing levels that scopes can't override\n- Weakness: API and MCP access need a Business plan or higher, from $19 a member a month billed yearly with a three-member minimum\n- Weakness: 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\n- Weakness: 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\n- Price: $19 / seat-mo · Auth: OAuth or key · x402: no · Where: hosted\n- Full assessment: https://www.anchorterminal.com/tools/smartsheet.md\n- Against #1: https://www.anchorterminal.com/compare/google-sheets-api-vs-smartsheet.md\n\n### 5. SeaTable, B 66.3/100\n\nSeaTable is a database of typed rows in tables and bases, sold as a cloud service hosted in Germany and as server software. Agents reach it through a REST API with per-base tokens and an official MCP server.\n\n- Verdict: API tokens are limited to one base and to read-only or read-write, and the official MCP server marks every tool as read-only or destructive. The Free plan allows 3,000 API calls a month in total, and base calls are capped at 200 a minute. The status page showed the base API degraded for 0.77 per cent of 30 days.\n- Choose it for: Teams that want typed tables hosted in Germany or on their own server, with an agent reading and writing rows through a per-base token or the official MCP server.\n- Strength: API tokens are limited to one base, set to read-only or read-write, named per app and deletable, and the token list shows each token's last access time\n- Strength: Official MCP server, MIT-licensed, hosted at `https://mcp.seatable.com/mcp` and listed in the official MCP registry as `io.github.seatable/seatable` at version 1.6.4\n- Strength: All 21 hosted MCP tools carry readOnlyHint, destructiveHint and idempotentHint annotations, and the tool set leaves out table and column changes\n- Weakness: Monthly API call quotas by plan, 3,000 for a whole Free team, 10,000 per user on Plus and 50,000 per user on Enterprise\n- Weakness: A 429 response has no body and no Retry-After header is documented, and the REST API has no idempotency keys\n- Weakness: Tokens can't be limited to a table, and the MCP tool `query_sql` accepts UPDATE and DELETE statements with no confirmation step\n- Price: Freemium · Auth: API key · x402: no · Where: hosted and local\n- Full assessment: https://www.anchorterminal.com/tools/seatable.md\n- Against #1: https://www.anchorterminal.com/compare/google-sheets-api-vs-seatable.md\n\n### 6. Coda (Superhuman Docs), B 64.8/100\n\nCoda, 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.\n\n- 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.\n- Choose it 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- Strength: API tokens can be restricted to one doc or one table, and to read or write access\n- Strength: Public OpenAPI 3.0 description in JSON and YAML, 125 operations, all with descriptions and 429 documented on 124\n- Strength: Rate limits are published with numbers, 100 reads and 10 writes per 6 seconds per user\n- Weakness: Row writes return 202 and take a few seconds to apply, and reads come from a snapshot that can be stale\n- Weakness: No idempotency keys and no Retry-After header documented, and error bodies carry only a status and a message\n- Weakness: No official client libraries apart from a Google Apps Script library\n- Price: Freemium · Auth: OAuth or key · x402: no · Where: hosted\n- Full assessment: https://www.anchorterminal.com/tools/coda.md\n- Against #1: https://www.anchorterminal.com/compare/coda-vs-google-sheets-api.md\n\n### 7. Baserow, B 63.6/100\n\nBaserow is an open-source database of typed rows in tables, sold as a hosted cloud and as software to self-host. Agents reach it through a REST API with database tokens and a built-in MCP server.\n\n- Verdict: Database tokens are limited to chosen tables and to create, read, update or delete, and the REST API has a public OpenAPI description with batch calls of 200 rows. The MCP server authenticates with a key in its URL, runs over SSE only and has no read-only mode. Cloud requests are capped at 10 at a time.\n- Choose it for: Teams that want Airtable-style typed tables they can also self-host, with row-level reads and writes by an agent through table-scoped tokens or a small MCP tool set.\n- Strength: Database tokens are limited to one workspace, to chosen tables and to create, read, update or delete, and can be regenerated or deleted\n- Strength: Public OpenAPI 3.0.3 description at api.baserow.io/api/schema.json with 424 operations and an enum of error codes on each response\n- Strength: The MCP server exposes 7 tools with typed inputs, and its descriptions tell the caller to read the table schema before writing\n- Weakness: The MCP endpoint's key sits in the URL path, and the docs say it grants full access to modify data in the workspace\n- Weakness: The MCP server speaks only the older SSE transport, with no OAuth, no read-only mode and no tool annotations\n- Weakness: Table and field changes over REST need a JWT obtained with the account's email and password, since database tokens cover rows only\n- Price: $10 / seat-mo · Auth: API key · x402: no · Where: hosted\n- Full assessment: https://www.anchorterminal.com/tools/baserow.md\n- Against #1: https://www.anchorterminal.com/compare/baserow-vs-google-sheets-api.md\n\n### 8. Teable, C 61/100\n\nTeable is an open-source table product on PostgreSQL with records, views, formulas and automations, sold as a hosted cloud and as software to self-host. Agents reach it through a REST API with scoped tokens or OAuth, and an official CLI.\n\n- Verdict: Personal access tokens and OAuth tokens carry per-action scopes, and tokens can be limited to chosen spaces and projects. The public OpenAPI file covers 841 operations. Error responses beyond 200 and 201 are missing from that file, no idempotency keys were found, and the cloud allows 10 requests a second on every plan.\n- Choose it for: Teams that want Airtable-style typed tables on PostgreSQL that they can also self-host, with an agent reading and writing records through tokens limited by scope and project, or through the vendor's CLI and skill.\n- Strength: OAuth 2.0 with client secret, PKCE and device flows, 10-minute access tokens, rotating refresh tokens and scopes per action such as `record|read`\n- Strength: Personal access tokens take an expiry, a set of scopes and a list of spaces and projects they can reach, and are shown once\n- Strength: Public OpenAPI 3.0 file at help.teable.ai/swagger.json with 712 paths and 841 operations, each description naming the token scopes it needs\n- Weakness: The OpenAPI file documents only 200 and 201 responses for nearly every operation, and the error page lists HTTP statuses without a table of error codes\n- Weakness: No idempotency key or upsert call was found for record writes, and Retry-After is documented only for the notifications endpoint\n- Weakness: Teable Cloud allows 10 API requests a second on every plan, Free to Business, with no higher tier published\n- Price: $13 / seat-mo · Auth: OAuth or key · x402: no · Where: hosted\n- Full assessment: https://www.anchorterminal.com/tools/teable.md\n- Against #1: https://www.anchorterminal.com/compare/google-sheets-api-vs-teable.md\n\n### 9. Microsoft Excel (Microsoft Graph workbook API), C 58.5/100\n\nWorkbook 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.\n\n- 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.\n- Choose it 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- Strength: Non-persistent sessions (`persistChanges: false`) keep changes in a temporary copy, so an agent can calculate or test edits without saving\n- Strength: The OpenAPI for Graph v1.0 holds 1,442 workbook paths and 1,765 operations, 366 of the paths for worksheet functions\n- Strength: Error handling guide gives a retry instruction for each of 22 required second-level error codes\n- Weakness: Reference pages list delegated permissions only and mark application permissions as not supported\n- Weakness: Files.ReadWrite is the least privileged permission on the reference pages, even for reading a range or listing rows\n- Weakness: No idempotency key on writes. The row-add page says to repeat the request on a 504\n- Price: Your plan · Auth: OAuth · x402: no · Where: hosted\n- Full assessment: https://www.anchorterminal.com/tools/microsoft-excel-graph.md\n- Against #1: https://www.anchorterminal.com/compare/google-sheets-api-vs-microsoft-excel-graph.md\n\n### 10. Grist, D 50.1/100\n\nGrist is a spreadsheet-database hybrid from Grist Labs with typed columns and Python formulas, sold as a hosted service and as open-source software to self-host. Agents reach it through a REST API and an MCP server with OAuth.\n\n- Verdict: OAuth tokens carry seven scopes, can be limited to chosen documents and expire after an hour, and the REST API has a public OpenAPI file with an add-or-update call. No status page, SLA terms, DPA or security.txt was found, and the docs say the hosted service has no SOC 2 or ISO 27001 audit.\n- Choose it for: Teams that want a relational spreadsheet with Python formulas and per-document OAuth grants for an agent, or that need to self-host.\n- Strength: OAuth 2.0 with PKCE and seven scopes, with `doc:read`, `doc:write` and `doc.schema:write` granted separately and the grant limited to chosen sites, workspaces or documents\n- Strength: Access tokens last 1 hour, refresh tokens 60 days, and a user can revoke one app's grant from the Authorised apps page\n- Strength: Public OpenAPI 3.0.0 file with 101 paths and 120 operations, including a read-only SQL endpoint and `PUT` on `/records` to add or update by key columns\n- Weakness: No status page was found. status.getgrist.com redirects to a signup form, and the site footer and help centre link to none\n- Weakness: An API key carries its owner's full account access, and each account has one key, so it can't be limited to a document or revoked per integration\n- Weakness: The data security page says hosted Grist has no SOC 2, ISO 27001, HIPAA or GDPR certification, and no DPA, sub-processor list or security.txt was found\n- Price: $10 / seat-mo · Auth: OAuth or key · x402: no · Where: hosted\n- Full assessment: https://www.anchorterminal.com/tools/grist.md\n- Against #1: https://www.anchorterminal.com/compare/google-sheets-api-vs-grist.md\n\n## Head to head\n\n- [Google Sheets API vs NocoDB](https://www.anchorterminal.com/compare/google-sheets-api-vs-nocodb.md)\n- [Airtable vs Google Sheets API](https://www.anchorterminal.com/compare/airtable-vs-google-sheets-api.md)\n- [Google Sheets API vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/google-sheets-api-vs-smartsheet.md)\n- [Google Sheets API vs SeaTable](https://www.anchorterminal.com/compare/google-sheets-api-vs-seatable.md)\n- [Airtable vs NocoDB](https://www.anchorterminal.com/compare/airtable-vs-nocodb.md)\n- [NocoDB vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/nocodb-vs-smartsheet.md)\n- [NocoDB vs SeaTable](https://www.anchorterminal.com/compare/nocodb-vs-seatable.md)\n- [Airtable vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/airtable-vs-smartsheet.md)\n- [Airtable vs SeaTable](https://www.anchorterminal.com/compare/airtable-vs-seatable.md)\n- [SeaTable vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/seatable-vs-smartsheet.md)\n\n## Questions\n\n### What are the highest-rated spreadsheet and operational table APIs for AI agents?\n\nGoogle Sheets API has the highest benchmark score of the 10 ranked spreadsheet and operational table APIs, 76.3 (BB). NocoDB is second with 75.7 (BB).\n\n### How many spreadsheet and operational table APIs are agent-ready?\n\n3 of the 10 ranked here grade BB or better, the bar for agent-ready on the Anchor benchmark.\n\n### Which spreadsheet and operational table APIs accept x402 payments?\n\nNone of the ranked listings here accepts x402 for its main call yet.\n\n### How is this list ranked?\n\nBy the Anchor benchmark score out of 100, a weighted mean of the scored categories minus deductions for negative events, from public evidence re-checked as vendors change. Listings cannot pay for a place. The latest assessment behind this page is from 8 October 2026.\n\n## How this list is made\n\nThe order is the Anchor benchmark score, the same number as on each listing. Each listing is graded from public evidence against the benchmark checklist, and the picks are worked out from those grades, prices and facts. No listing pays for its place, and paid audits or listing help never change a score.\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "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": "Best of",
        "url": "https://www.anchorterminal.com/best/"
      },
      {
        "name": "Spreadsheets \u0026 operational tables",
        "url": ""
      }
    ],
    "description": "Google Sheets API (BB), NocoDB (BB) and Airtable (BB) lead the 10 ranked spreadsheet and operational table APIs. Picks by need, strengths, weaknesses and prices from the Anchor benchmark.",
    "facts": [
      "Google Sheets API BB",
      "NocoDB BB",
      "Airtable BB"
    ],
    "h1": "Best spreadsheet and operational table APIs for AI agents",
    "image": "https://www.anchorterminal.com/assets/og/best-spreadsheets.png",
    "path": "/best/spreadsheets/",
    "published": "",
    "section": "tools",
    "title": "Best spreadsheet and operational table APIs for AI agents in 2026",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/best/spreadsheets/"
  },
  "tokens": {
    "markdown": 6500,
    "slim": 1530
  },
  "version": 1
}
