{
  "data": {
    "a": {
      "slug": "airtable",
      "name": "Airtable",
      "vendor": "Formagrid Inc (Airtable)",
      "vendorUrl": "https://www.airtable.com",
      "kind": "http-api",
      "category": "spreadsheets",
      "summary": "Airtable 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.",
      "url": "https://www.anchorterminal.com/tools/airtable",
      "markdownUrl": "https://www.anchorterminal.com/tools/airtable.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/airtable.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/airtable.json",
      "repo": "https://github.com/Airtable/airtable-mcp-cli",
      "license": "Proprietary service under Airtable's Terms of Service and Developer Terms. The airtable.js client and the MCP CLI on GitHub are MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.airtable.com",
      "packages": [
        {
          "registry": "npm",
          "name": "airtable"
        },
        {
          "registry": "npm",
          "name": "@airtable/mcp-cli"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. A signed-in user creates a personal access token at airtable.com/create/tokens, choosing scopes and the bases or workspaces it can reach, or registers an OAuth integration at airtable.com/create/oauth with no review step found in the docs. OAuth uses the authorisation code grant with PKCE, 60-minute access tokens and 60-day refresh tokens that rotate on use. The MCP server takes either, and supports dynamic client registration. Tokens act as the granting user, so the user's role on a base still applies. Enterprise admin scopes and service accounts need an Enterprise Scale plan.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 1,000 API calls a month per workspace and 1,000 records per base, so an agent can start without a contract. Team is $20 a seat a month billed annually ($24 monthly) with 100,000 calls a month, Business $45 billed annually, Enterprise Scale through sales. API calls aren't priced separately, and there's no separate sandbox. The MCP server is included on every plan (checked 2026-10-08).",
      "priceSummary": "$20 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Web API docs, the MCP docs or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 40,
      "popularity": {
        "githubStars": 2229,
        "npmWeekly": 568991,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://airtable.com/developers/web/api/introduction",
      "llmsTxt": "https://airtable.com/developers/llms.txt",
      "registryName": "com.airtable/mcp",
      "capabilities": [
        "sheets.records",
        "sheets.read",
        "sheets.write",
        "sheets.tables",
        "sheets.formulas"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "closed-source",
        "free-tier",
        "oauth",
        "llms-txt",
        "webhooks",
        "javascript",
        "status-page",
        "bug-bounty",
        "soc2"
      ],
      "lastRelease": "2026-08-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.9,
        "grade": "BB",
        "agentReady": true,
        "rank": 118,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 49,
          "payments": 30,
          "reliability": 94,
          "schema": 73,
          "security": 78,
          "transparency": 86
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "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.",
        "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.",
        "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",
          "List records takes `fields`, `pageSize`, `maxRecords`, `view`, `sort` and `filterByFormula`, so responses can be sized",
          "Published deprecation guidelines aim for 12 months' notice on the Web API, and no deprecation was listed as upcoming on 8 October 2026"
        ],
        "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",
          "No OpenAPI description was found in the reviewed documentation",
          "The only official client library is airtable.js, last released as v0.12.2 on 16 August 2023"
        ],
        "agentNotes": [
          "Create a personal access token with only the scopes needed and add each base to it. A token with no base added sees nothing",
          "Stay under 5 requests a second per base. After a 429, wait 30 seconds before the next call",
          "Send writes in batches of 10 records, and use `performUpsert` with `fieldsToMergeOn` so a repeated call updates instead of duplicating",
          "Use table and field IDs, not names, and set `returnFieldsByFieldId` so a rename doesn't break the call",
          "POST to `/listRecords` when a `filterByFormula` would push the URL past 16,000 characters"
        ],
        "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": 70.9
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 49,
          "payments": 30,
          "reliability": 94,
          "schema": 73,
          "security": 78,
          "transparency": 72
        },
        "provenanceScore": 100
      },
      "connect": {
        "install": "npm install -g @airtable/mcp-cli",
        "http": "curl https://api.airtable.com/v0/YOUR_BASE_ID/YOUR_TABLE_ID_OR_NAME -H \\\n\"Authorization: Bearer YOUR_TOKEN\"",
        "claudeCode": "claude mcp add --transport http airtable https://mcp.airtable.com/mcp",
        "config": {
          "mcpServers": {
            "airtable": {
              "type": "http",
              "url": "https://mcp.airtable.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/sheets.records",
        "tool": "https://letme.dev/airtable"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Team",
          "unit": "seat-month",
          "usd": 20,
          "note": "billed annually, $24 billed monthly, 100,000 API calls a month per workspace"
        },
        {
          "item": "Business",
          "unit": "seat-month",
          "usd": 45,
          "note": "billed annually"
        }
      ],
      "provenance": {
        "legalEntity": "Formagrid Inc (doing business as Airtable)",
        "domain": "airtable.com",
        "domainRegistered": "2003-12-10",
        "endpointOnVendorDomain": true,
        "terms": "https://www.airtable.com/company/tos",
        "privacy": "https://www.airtable.com/company/privacy",
        "statusPage": "https://status.airtable.com",
        "changelog": "https://airtable.com/developers/web/api/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Service (last updated 31 May 2024) and the privacy policy (last updated 15 July 2026) name Formagrid Inc, doing business as Airtable, with a postal address at 1 Front Street, Fl 28, San Francisco, CA 94111.",
          "The REST API answers at api.airtable.com and the MCP server at mcp.airtable.com, both airtable.com subdomains.",
          "airtable.com/.well-known/security.txt gives security@airtable.com and the HackerOne programme and has no Expires field. www.airtable.com/.well-known/security.txt returns 404.",
          "RDAP for airtable.com gives a registration date of 2003-12-10.",
          "The Service Level Agreement (last updated 26 March 2024) commits to 99.9 per cent monthly uptime for Enterprise plans."
        ],
        "score": 100
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/airtable.json",
      "live": {
        "slug": "airtable",
        "probe": {
          "target": "https://api.airtable.com",
          "method": "get",
          "lastAt": "2026-10-08T17:36:29.354996508Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 817,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 807,
          "p95ms24h": 910,
          "samples24h": 25,
          "samples30d": 25,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 25,
              "ok": 25
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.airtable.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T17:37:07.01310139Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Airtable/airtable-mcp-cli",
            "version": "v0.2.9",
            "released": "2026-08-07",
            "seenAt": "2026-10-08T15:57:17.360180778Z"
          },
          {
            "registry": "npm",
            "name": "@airtable/mcp-cli",
            "version": "0.2.9",
            "seenAt": "2026-10-08T15:57:17.136543533Z"
          },
          {
            "registry": "npm",
            "name": "airtable",
            "version": "0.12.2",
            "seenAt": "2026-10-08T15:57:14.88836809Z"
          }
        ],
        "githubStars": 39,
        "npmWeekly": 568991,
        "securityTxt": {
          "url": "https://airtable.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-08T15:38:43.521220209Z"
        },
        "updatedAt": "2026-10-08T17:37:07.01310139Z"
      }
    },
    "answer": "Google Sheets API scores 76.3 (BB) on agent readiness against Airtable's 70.9 (BB), and leads in 5 of 7 scored categories. Airtable leads on transparency \u0026 trust.",
    "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": "Formagrid Inc (Airtable)",
        "b": "Google",
        "name": "Vendor"
      },
      {
        "a": "https://api.airtable.com",
        "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 Airtable's Terms of Service and Developer Terms. The airtable.js client and the MCP CLI on GitHub are MIT",
        "b": "Proprietary service under the Google APIs Terms of Service. The client libraries are Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "40",
        "b": "6",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "com.airtable/mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-08-07",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "2024-05-31",
        "b": "2021-11-09",
        "name": "Terms last updated"
      },
      {
        "a": "2026-07-15",
        "b": "2026-10-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "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": "2.2k stars, 569k 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 Airtable's 70.9 (BB), and leads in 5 of 7 scored categories. Airtable leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, Airtable or Google Sheets API?"
      },
      {
        "answer": "Airtable takes an API key or an OAuth sign-in. Google Sheets API uses an OAuth sign-in.",
        "question": "Do Airtable and Google Sheets API need an API key?"
      },
      {
        "answer": "Yes. Airtable has a hosted endpoint at https://api.airtable.com and Google Sheets API at https://sheets.googleapis.com/v4.",
        "question": "Can an agent call Airtable and Google Sheets API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Transparency \u0026 trust, 86 against 80"
        ],
        "also": null,
        "goodFor": "Teams that already keep operational data in Airtable and want an agent to read, filter and update typed records or build bases through MCP.",
        "slug": "airtable",
        "watchFor": "5 requests a second per base, and a 429 blocks further requests for 30 seconds"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 83 against 73",
          "Agent ergonomics, 74 against 68",
          "Payments \u0026 pricing, 35 against 30",
          "Maintenance \u0026 community, 85 against 49"
        ],
        "also": null,
        "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-microsoft-excel-graph.json",
        "title": "Airtable vs Microsoft Excel (Microsoft Graph workbook API)",
        "url": "https://www.anchorterminal.com/compare/airtable-vs-microsoft-excel-graph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/baserow-vs-google-sheets-api.json",
        "title": "Baserow vs Google Sheets API",
        "url": "https://www.anchorterminal.com/compare/baserow-vs-google-sheets-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coda-vs-google-sheets-api.json",
        "title": "Coda (Superhuman Docs) vs Google Sheets API",
        "url": "https://www.anchorterminal.com/compare/coda-vs-google-sheets-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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-baserow.json",
        "title": "Airtable vs Baserow",
        "url": "https://www.anchorterminal.com/compare/airtable-vs-baserow"
      },
      {
        "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/airtable-vs-nocodb.json",
        "title": "Airtable vs NocoDB",
        "url": "https://www.anchorterminal.com/compare/airtable-vs-nocodb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtable-vs-smartsheet.json",
        "title": "Airtable vs Smartsheet API + MCP",
        "url": "https://www.anchorterminal.com/compare/airtable-vs-smartsheet"
      }
    ],
    "scores": [
      {
        "airtable": 94,
        "by": 4,
        "edge": "airtable",
        "google-sheets-api": 90,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "airtable": 73,
        "by": 10,
        "edge": "google-sheets-api",
        "google-sheets-api": 83,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "airtable": 68,
        "by": 6,
        "edge": "google-sheets-api",
        "google-sheets-api": 74,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "airtable": 78,
        "by": 2,
        "edge": "google-sheets-api",
        "google-sheets-api": 80,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "airtable": 30,
        "by": 5,
        "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
      },
      {
        "airtable": 49,
        "by": 36,
        "edge": "google-sheets-api",
        "google-sheets-api": 85,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "airtable": 86,
        "by": 6,
        "edge": "airtable",
        "google-sheets-api": 80,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Google Sheets API scores 76.3 (BB) on agent readiness against Airtable's 70.9 (BB), and leads in 5 of 7 scored categories. Airtable leads on transparency \u0026 trust. Both do sheets read.",
    "verdicts": {
      "airtable": "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.",
      "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/airtable-vs-google-sheets-api",
    "json": "https://www.anchorterminal.com/compare/airtable-vs-google-sheets-api.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/airtable-vs-google-sheets-api.md",
    "slim": "https://www.anchorterminal.com/compare/airtable-vs-google-sheets-api.min.md"
  },
  "markdown": "Google Sheets API scores 76.3 (BB) on agent readiness against Airtable's 70.9 (BB), and leads in 5 of 7 scored categories. Airtable leads on transparency \u0026 trust. Both do sheets read.\n\n- Airtable: grade BB, 70.9/100, rank #118 of 629. Markdown https://www.anchorterminal.com/tools/airtable.md · JSON https://www.anchorterminal.com/api/v1/tools/airtable.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### Airtable (BB)\n\nGood 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\nAhead on:\n- Transparency \u0026 trust, 86 against 80\n\nWatch for: 5 requests a second per base, and a 429 blocks further requests for 30 seconds\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- Schema \u0026 documentation, 83 against 73\n- Agent ergonomics, 74 against 68\n- Payments \u0026 pricing, 35 against 30\n- Maintenance \u0026 community, 85 against 49\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 | Airtable | Google Sheets API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 94 | 90 | Airtable +4 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 73 | 83 | Google Sheets API +10 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 74 | Google Sheets API +6 |\n| Security \u0026 auth | 14% (17.5 this run) | 78 | 80 | Google Sheets API +2 |\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) | 49 | 85 | Google Sheets API +36 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 86 | 80 | Airtable +6 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **70.9 · BB** | **76.3 · BB** | |\n\n## Facts side by side\n\n| Fact | Airtable | Google Sheets API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Formagrid Inc (Airtable) | Google |\n| Hosted endpoint | `https://api.airtable.com` | `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 Airtable's Terms of Service and Developer Terms. The airtable.js client and the MCP CLI on GitHub are MIT | Proprietary service under the Google APIs Terms of Service. The client libraries are Apache-2.0 |\n| Tools exposed | 40 | 6 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| MCP registry | `com.airtable/mcp` | not listed |\n| Last release | 2026-08-07 | 2026-10-07 |\n| Terms last updated | 2024-05-31 | 2021-11-09 |\n| Privacy policy last updated | 2026-07-15 | 2026-10-01 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | 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 | 2.2k stars, 569k npm/wk | 12k stars, 1.9M npm/wk, 31.8M PyPI/wk |\n\n## Verdicts\n\n**Airtable.** 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\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### Airtable\n\n1. Create a personal access token with only the scopes needed and add each base to it. A token with no base added sees nothing\n2. Stay under 5 requests a second per base. After a 429, wait 30 seconds before the next call\n3. Send writes in batches of 10 records, and use `performUpsert` with `fieldsToMergeOn` so a repeated call updates instead of duplicating\n4. Use table and field IDs, not names, and set `returnFieldsByFieldId` so a rename doesn't break the call\n5. POST to `/listRecords` when a `filterByFormula` would push the URL past 16,000 characters\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, Airtable or Google Sheets API?\n\nGoogle Sheets API scores 76.3 (BB) on agent readiness against Airtable's 70.9 (BB), and leads in 5 of 7 scored categories. Airtable leads on transparency \u0026 trust.\n\n### Do Airtable and Google Sheets API need an API key?\n\nAirtable takes an API key or an OAuth sign-in. Google Sheets API uses an OAuth sign-in.\n\n### Can an agent call Airtable and Google Sheets API without installing anything?\n\nYes. Airtable has a hosted endpoint at https://api.airtable.com 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/airtable-vs-google-sheets-api.json, and with the fewest tokens: https://www.anchorterminal.com/compare/airtable-vs-google-sheets-api.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"airtable\", \"b\": \"google-sheets-api\"}`. From a terminal: `anchor compare airtable google-sheets-api`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/airtable.json and https://www.anchorterminal.com/api/v1/tools/google-sheets-api.json\n\n## Other comparisons with Airtable or Google Sheets API\n\n- [Airtable vs Microsoft Excel (Microsoft Graph workbook API)](https://www.anchorterminal.com/compare/airtable-vs-microsoft-excel-graph.md)\n- [Baserow vs Google Sheets API](https://www.anchorterminal.com/compare/baserow-vs-google-sheets-api.md)\n- [Coda (Superhuman Docs) vs Google Sheets API](https://www.anchorterminal.com/compare/coda-vs-google-sheets-api.md)\n- [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 Baserow](https://www.anchorterminal.com/compare/airtable-vs-baserow.md)\n- [Airtable vs Coda (Superhuman Docs)](https://www.anchorterminal.com/compare/airtable-vs-coda.md)\n- [Airtable vs NocoDB](https://www.anchorterminal.com/compare/airtable-vs-nocodb.md)\n- [Airtable vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/airtable-vs-smartsheet.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Airtable vs Google Sheets API",
        "url": ""
      }
    ],
    "description": "Google Sheets API scores 76.3 (BB) on agent readiness against Airtable's 70.9 (BB), and leads in 5 of 7 scored categories. Airtable leads on transparency \u0026 trust. Both do sheets read. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Airtable BB 70.9",
      "Google Sheets API BB 76.3",
      "scores"
    ],
    "h1": "Airtable vs Google Sheets API",
    "image": "https://www.anchorterminal.com/assets/og/compare-airtable-vs-google-sheets-api.png",
    "path": "/compare/airtable-vs-google-sheets-api",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Airtable vs Google Sheets API for AI agents, BB 70.9 vs BB 76.3",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/airtable-vs-google-sheets-api"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 680
  },
  "version": 1
}
