{
  "data": {
    "similar": [
      {
        "grade": "BB",
        "json": "https://www.anchorterminal.com/tools/nocodb.json",
        "name": "NocoDB",
        "score": 75.7,
        "shared": [
          "sheets.records",
          "sheets.read",
          "sheets.write",
          "sheets.tables",
          "sheets.formulas"
        ],
        "slug": "nocodb"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/coda.json",
        "name": "Coda (Superhuman Docs)",
        "score": 64.8,
        "shared": [
          "sheets.read",
          "sheets.write",
          "sheets.tables",
          "sheets.records",
          "sheets.formulas"
        ],
        "slug": "coda"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/baserow.json",
        "name": "Baserow",
        "score": 63.6,
        "shared": [
          "sheets.records",
          "sheets.read",
          "sheets.write",
          "sheets.tables",
          "sheets.formulas"
        ],
        "slug": "baserow"
      },
      {
        "grade": "BB",
        "json": "https://www.anchorterminal.com/tools/google-sheets-api.json",
        "name": "Google Sheets API",
        "score": 76.3,
        "shared": [
          "sheets.read",
          "sheets.write",
          "sheets.formulas",
          "sheets.tables"
        ],
        "slug": "google-sheets-api"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/smartsheet.json",
        "name": "Smartsheet API + MCP",
        "score": 67.6,
        "shared": [
          "sheets.read",
          "sheets.write",
          "sheets.records",
          "sheets.formulas"
        ],
        "slug": "smartsheet"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/microsoft-excel-graph.json",
        "name": "Microsoft Excel (Microsoft Graph workbook API)",
        "score": 58.5,
        "shared": [
          "sheets.read",
          "sheets.write",
          "sheets.tables",
          "sheets.formulas"
        ],
        "slug": "microsoft-excel-graph"
      }
    ],
    "tool": {
      "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"
        ],
        "breakdown": [
          {
            "key": "reliability",
            "name": "Reliability",
            "weight": 16,
            "effectiveWeight": 20,
            "score": 94,
            "points": 18.8,
            "reason": "Graded on the REST Web API and the hosted MCP server. Statuspage at status.airtable.com with one component and incident history (20). No incident in the 90 days to 8 October 2026. The latest, a major outage of 1 hour 42 minutes on 8 July 2026, falls two days outside the window (30). 5 requests a second per base, 50 a second per user across personal access tokens, and monthly caps of 1,000 calls on Free and 100,000 on Team. No separate limit for the MCP server was found (13). A 429 means waiting 30 seconds, the docs ask for back-off, 503 may carry Retry-After, and `performUpsert` makes a repeated write safe. No idempotency keys, and no Retry-After documented on 429 (11). A 99.9 per cent uptime SLA is published for Enterprise plans (10). The Web API is generally available and the MCP docs carry no beta label, though the companion CLI is marked experimental (10)."
          },
          {
            "key": "performance",
            "name": "Performance",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
          },
          {
            "key": "schema",
            "name": "Schema \u0026 documentation",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 73,
            "points": 11.86,
            "reason": "No OpenAPI description was found in the reviewed documentation. The MCP server publishes its tool list over the protocol, which we couldn't read without an account (10 of 25). llms.txt files at airtable.com/developers and a Markdown copy of every reference page (10). Each endpoint page states scope, user role and plan, and the MCP tools reference gives purpose, ordering hints such as calling `list_automations` first, and limits such as no field type changes (16). Parameters are typed with enums and required flags, but cell values are untyped objects keyed by field name and filters are formula strings (11). Curl examples with responses on endpoint pages, and an errors page with sample bodies for 403, 404, 422, 429 and 503 (13). One API version (v0) with a dated changelog, 6 entries in 2026, the latest on 24 June (13)."
          },
          {
            "key": "ergonomics",
            "name": "Agent ergonomics",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 68,
            "points": 11.05,
            "reason": "The MCP server documents 40 tools with no toolsets or dynamic loading found (5 of 25), while the REST API sizes responses with `fields`, `pageSize` and `maxRecords`, so 12 overall. Offset pagination up to 100 records a page, with `filterByFormula`, `sort` and `view` (20). Error bodies carry a type and message, such as INVALID_PERMISSIONS naming the table or field (16). No idempotency keys. `performUpsert` with up to three merge fields, an MCP `revert_action` tool, and a CLI that labels each tool read-only, write or destructive from the server's annotations, which we didn't read first-hand (12). Few required parameters, but airtable.js is the only official client and its last release was v0.12.2 on 16 August 2023. Python clients are community-built (8)."
          },
          {
            "key": "security",
            "name": "Security \u0026 auth",
            "weight": 14,
            "effectiveWeight": 17.5,
            "score": 78,
            "points": 13.65,
            "reason": "OAuth 2.0 with PKCE, 60-minute access tokens and rotating 60-day refresh tokens, or personal access tokens, both limited by scope and by base or workspace. Secrets in the legacy `api_key` URL parameter are refused (30). Read-only access by omitting the write scopes, and the user's own base role still applies. Automations created through MCP stay off until a person turns them on. No server-side approval for record or table deletes was found (15). Records can hold text written by others, and the only guidance found is a line advising users to trust the tools and data sources they connect (3). Record revision history names the authorising user and the OAuth app or token. The audit log API keeps 180 days and is limited to Enterprise Scale (11). HackerOne bug bounty, SOC 2 Type 2, ISO 27001 and 27701. security.txt has no Expires field (19)."
          },
          {
            "key": "payments",
            "name": "Payments \u0026 pricing",
            "weight": 10,
            "effectiveWeight": 12.5,
            "score": 30,
            "points": 3.75,
            "reason": "No x402, MPP or L402 found (0). Plan prices are public, Team at $20 and Business at $45 a seat a month billed annually, with monthly API call allowances per plan and no per-call price (10). A Free plan with 1,000 API calls a month per workspace, and the pricing page mentions cards only for paid plans. We didn't complete a signup (20). A person signs up in a browser and creates a token or approves OAuth (0)."
          },
          {
            "key": "tasks",
            "name": "Task success",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
          },
          {
            "key": "maintenance",
            "name": "Maintenance \u0026 community",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 49,
            "points": 4.29,
            "reason": "Newest dated release is @airtable/mcp-cli v0.2.9 on 7 August 2026, 62 days before the check. The Web API changelog was last updated on 24 June 2026 (20). One dated release in the last 90 days (0). Public changelog, a developer community forum and a help centre. We didn't read reply times, and airtable.js shows 145 open issues with its last commit on 6 June 2025 (8). Listed in the official MCP registry as com.airtable/mcp, active since 8 May 2026 (15). The CLI repository has CI, release and Dependabot workflows, while airtable.js has had no release since August 2023 (6)."
          },
          {
            "key": "transparency",
            "name": "Transparency \u0026 trust",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 86,
            "points": 7.53,
            "note": "editorial 72, provenance 100",
            "reason": "Closed service with published Terms of Service (31 May 2024) and Developer Terms (1 December 2022). The CLI and airtable.js are MIT (15). Privacy policy updated 15 July 2026, a DPA that can be signed online, and AI Terms that rule out model training on customer data. No retention periods for base content were found, and deleted content may stay in backups (20). Deprecation guidelines aim for 12 months' notice on the Web API and list past deprecations with dates, while reserving the right to act without notice (17). Sub-processor list updated 25 August 2026 with countries, plus EU and Australian data residency (20)."
          }
        ],
        "assessment": {
          "date": "2026-10-08",
          "basis": "public evidence",
          "confidence": "medium",
          "notes": {
            "ergonomics": "The MCP server documents 40 tools with no toolsets or dynamic loading found (5 of 25), while the REST API sizes responses with `fields`, `pageSize` and `maxRecords`, so 12 overall. Offset pagination up to 100 records a page, with `filterByFormula`, `sort` and `view` (20). Error bodies carry a type and message, such as INVALID_PERMISSIONS naming the table or field (16). No idempotency keys. `performUpsert` with up to three merge fields, an MCP `revert_action` tool, and a CLI that labels each tool read-only, write or destructive from the server's annotations, which we didn't read first-hand (12). Few required parameters, but airtable.js is the only official client and its last release was v0.12.2 on 16 August 2023. Python clients are community-built (8).",
            "maintenance": "Newest dated release is @airtable/mcp-cli v0.2.9 on 7 August 2026, 62 days before the check. The Web API changelog was last updated on 24 June 2026 (20). One dated release in the last 90 days (0). Public changelog, a developer community forum and a help centre. We didn't read reply times, and airtable.js shows 145 open issues with its last commit on 6 June 2025 (8). Listed in the official MCP registry as com.airtable/mcp, active since 8 May 2026 (15). The CLI repository has CI, release and Dependabot workflows, while airtable.js has had no release since August 2023 (6).",
            "payments": "No x402, MPP or L402 found (0). Plan prices are public, Team at $20 and Business at $45 a seat a month billed annually, with monthly API call allowances per plan and no per-call price (10). A Free plan with 1,000 API calls a month per workspace, and the pricing page mentions cards only for paid plans. We didn't complete a signup (20). A person signs up in a browser and creates a token or approves OAuth (0).",
            "reliability": "Graded on the REST Web API and the hosted MCP server. Statuspage at status.airtable.com with one component and incident history (20). No incident in the 90 days to 8 October 2026. The latest, a major outage of 1 hour 42 minutes on 8 July 2026, falls two days outside the window (30). 5 requests a second per base, 50 a second per user across personal access tokens, and monthly caps of 1,000 calls on Free and 100,000 on Team. No separate limit for the MCP server was found (13). A 429 means waiting 30 seconds, the docs ask for back-off, 503 may carry Retry-After, and `performUpsert` makes a repeated write safe. No idempotency keys, and no Retry-After documented on 429 (11). A 99.9 per cent uptime SLA is published for Enterprise plans (10). The Web API is generally available and the MCP docs carry no beta label, though the companion CLI is marked experimental (10).",
            "schema": "No OpenAPI description was found in the reviewed documentation. The MCP server publishes its tool list over the protocol, which we couldn't read without an account (10 of 25). llms.txt files at airtable.com/developers and a Markdown copy of every reference page (10). Each endpoint page states scope, user role and plan, and the MCP tools reference gives purpose, ordering hints such as calling `list_automations` first, and limits such as no field type changes (16). Parameters are typed with enums and required flags, but cell values are untyped objects keyed by field name and filters are formula strings (11). Curl examples with responses on endpoint pages, and an errors page with sample bodies for 403, 404, 422, 429 and 503 (13). One API version (v0) with a dated changelog, 6 entries in 2026, the latest on 24 June (13).",
            "security": "OAuth 2.0 with PKCE, 60-minute access tokens and rotating 60-day refresh tokens, or personal access tokens, both limited by scope and by base or workspace. Secrets in the legacy `api_key` URL parameter are refused (30). Read-only access by omitting the write scopes, and the user's own base role still applies. Automations created through MCP stay off until a person turns them on. No server-side approval for record or table deletes was found (15). Records can hold text written by others, and the only guidance found is a line advising users to trust the tools and data sources they connect (3). Record revision history names the authorising user and the OAuth app or token. The audit log API keeps 180 days and is limited to Enterprise Scale (11). HackerOne bug bounty, SOC 2 Type 2, ISO 27001 and 27701. security.txt has no Expires field (19).",
            "transparency": "Closed service with published Terms of Service (31 May 2024) and Developer Terms (1 December 2022). The CLI and airtable.js are MIT (15). Privacy policy updated 15 July 2026, a DPA that can be signed online, and AI Terms that rule out model training on customer data. No retention periods for base content were found, and deleted content may stay in backups (20). Deprecation guidelines aim for 12 months' notice on the Web API and list past deprecations with dates, while reserving the right to act without notice (17). Sub-processor list updated 25 August 2026 with countries, plus EU and Australian data residency (20)."
          },
          "sources": [
            {
              "what": "Web API introduction (Markdown)",
              "url": "https://airtable.com/developers/web/api/introduction.md",
              "seen": "2026-10-08"
            },
            {
              "what": "Web API llms.txt index",
              "url": "https://airtable.com/developers/web/llms.txt",
              "seen": "2026-10-08"
            },
            {
              "what": "rate limits",
              "url": "https://airtable.com/developers/web/api/rate-limits.md",
              "seen": "2026-10-08"
            },
            {
              "what": "authentication",
              "url": "https://airtable.com/developers/web/api/authentication.md",
              "seen": "2026-10-08"
            },
            {
              "what": "scopes",
              "url": "https://airtable.com/developers/web/api/scopes.md",
              "seen": "2026-10-08"
            },
            {
              "what": "OAuth reference",
              "url": "https://airtable.com/developers/web/api/oauth-reference.md",
              "seen": "2026-10-08"
            },
            {
              "what": "errors",
              "url": "https://airtable.com/developers/web/api/errors.md",
              "seen": "2026-10-08"
            },
            {
              "what": "list records",
              "url": "https://airtable.com/developers/web/api/list-records.md",
              "seen": "2026-10-08"
            },
            {
              "what": "update multiple records and upsert",
              "url": "https://airtable.com/developers/web/api/update-multiple-records.md",
              "seen": "2026-10-08"
            },
            {
              "what": "webhooks overview",
              "url": "https://airtable.com/developers/web/api/webhooks-overview.md",
              "seen": "2026-10-08"
            },
            {
              "what": "Web API changelog",
              "url": "https://airtable.com/developers/web/api/changelog.md",
              "seen": "2026-10-08"
            },
            {
              "what": "billing plans and endpoint availability",
              "url": "https://airtable.com/developers/web/api/billing-plans.md",
              "seen": "2026-10-08"
            },
            {
              "what": "audit log overview",
              "url": "https://airtable.com/developers/web/api/audit-logs-overview.md",
              "seen": "2026-10-08"
            },
            {
              "what": "MCP server overview",
              "url": "https://airtable.com/developers/agents/mcp/getting-started.md",
              "seen": "2026-10-08"
            },
            {
              "what": "MCP tools reference",
              "url": "https://airtable.com/developers/agents/mcp/tools.md",
              "seen": "2026-10-08"
            },
            {
              "what": "MCP controls",
              "url": "https://airtable.com/developers/agents/mcp/controls.md",
              "seen": "2026-10-08"
            },
            {
              "what": "MCP setup for Claude Code",
              "url": "https://airtable.com/developers/agents/mcp/claude-code.md",
              "seen": "2026-10-08"
            },
            {
              "what": "MCP protected resource metadata",
              "url": "https://mcp.airtable.com/.well-known/oauth-protected-resource",
              "seen": "2026-10-08"
            },
            {
              "what": "official MCP registry search",
              "url": "https://registry.modelcontextprotocol.io/v0/servers?search=airtable\u0026limit=50",
              "seen": "2026-10-08"
            },
            {
              "what": "MCP CLI repository",
              "url": "https://github.com/Airtable/airtable-mcp-cli",
              "seen": "2026-10-08"
            },
            {
              "what": "MCP CLI on npm",
              "url": "https://registry.npmjs.org/@airtable/mcp-cli",
              "seen": "2026-10-08"
            },
            {
              "what": "airtable.js repository",
              "url": "https://github.com/Airtable/airtable.js",
              "seen": "2026-10-08"
            },
            {
              "what": "API call limits",
              "url": "https://support.airtable.com/docs/managing-api-call-limits-in-airtable",
              "seen": "2026-10-08"
            },
            {
              "what": "API deprecation guidelines",
              "url": "https://support.airtable.com/docs/airtable-api-deprecation-guidelines",
              "seen": "2026-10-08"
            },
            {
              "what": "plans overview",
              "url": "https://support.airtable.com/docs/airtable-plans",
              "seen": "2026-10-08"
            },
            {
              "what": "pricing",
              "url": "https://airtable.com/pricing",
              "seen": "2026-10-08"
            },
            {
              "what": "status incidents",
              "url": "https://status.airtable.com/api/v2/incidents.json",
              "seen": "2026-10-08"
            },
            {
              "what": "service level agreement",
              "url": "https://www.airtable.com/company/sla",
              "seen": "2026-10-08"
            },
            {
              "what": "trust and security",
              "url": "https://www.airtable.com/company/trust-and-security",
              "seen": "2026-10-08"
            },
            {
              "what": "security.txt",
              "url": "https://airtable.com/.well-known/security.txt",
              "seen": "2026-10-08"
            },
            {
              "what": "terms of service",
              "url": "https://www.airtable.com/company/tos",
              "seen": "2026-10-08"
            },
            {
              "what": "developer terms",
              "url": "https://www.airtable.com/company/developer-terms",
              "seen": "2026-10-08"
            },
            {
              "what": "AI terms",
              "url": "https://www.airtable.com/company/ai-terms",
              "seen": "2026-10-08"
            },
            {
              "what": "privacy policy",
              "url": "https://www.airtable.com/company/privacy",
              "seen": "2026-10-08"
            },
            {
              "what": "sub-processors",
              "url": "https://www.airtable.com/company/subprocessors",
              "seen": "2026-10-08"
            },
            {
              "what": "RDAP for airtable.com",
              "url": "https://rdap.verisign.com/com/v1/domain/airtable.com",
              "seen": "2026-10-08"
            }
          ],
          "openQuestions": [
            "unchecked: the MCP server's tool input schemas and annotations, which need a signed-in account. The tool count of 40 comes from the published tools reference",
            "unchecked: the plan cards on airtable.com/pricing, which load in the browser. Prices come from the page's own FAQ and the help centre's plans overview",
            "unchecked: whether signup for the Free plan asks for a card. We didn't complete a signup",
            "unchecked: reply times on the developer community forum",
            "No OpenAPI description, rate limit for the MCP server or retention period for base content was found in the reviewed documentation",
            "The 8 July 2026 outage (1 hour 42 minutes, marked major) falls two days outside the 90-day window used for the incident record",
            "PyPI downloads are left empty because pyairtable is community-built, with about 1.14 million downloads in the week to 8 October 2026"
          ]
        },
        "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"
      },
      "notable": [
        "The hosted MCP server at https://mcp.airtable.com/mcp speaks streamable HTTP, is open to every plan and documents 40 tools across records, tables, fields, bases, interfaces, forms and automations (https://airtable.com/developers/agents/mcp/tools.md)",
        "Rate limits are 5 requests a second per base and 50 a second per user across personal access tokens, and a 429 blocks requests for 30 seconds (https://airtable.com/developers/web/api/rate-limits.md)",
        "Monthly API calls are capped at 1,000 per workspace on Free and 100,000 on Team. Over the cap, Team slows to 2 requests a second and Free is blocked after a one-off 30-day grace period (https://support.airtable.com/docs/managing-api-call-limits-in-airtable)",
        "Create, update and delete take up to 10 records a request, and the Sync API takes CSV with up to 10,000 rows (https://support.airtable.com/docs/managing-api-call-limits-in-airtable)",
        "Webhooks send a signed ping, and the client then fetches payloads by cursor. Webhooks created with tokens expire after 7 days unless refreshed (https://airtable.com/developers/web/api/webhooks-overview.md)",
        "Enterprise Scale admins can block MCP access outright or allow only named OAuth client IDs (https://airtable.com/developers/agents/mcp/controls.md)",
        "Deprecation guidelines aim for 12 months' notice on the Web API. Classic API keys stopped working on 1 February 2024 (https://support.airtable.com/docs/airtable-api-deprecation-guidelines)",
        "status.airtable.com lists three incidents since June 2026, the latest a major outage of 1 hour 42 minutes on 8 July 2026 (https://status.airtable.com/history)"
      ],
      "area": "business",
      "details": [
        {
          "label": "Surfaces graded",
          "value": "REST Web API at https://api.airtable.com/v0 and the official hosted MCP server at https://mcp.airtable.com/mcp"
        },
        {
          "label": "Free tier",
          "value": "Free plan, 1,000 API calls a month per workspace, 1,000 records per base, 1 GB of attachments per base, up to 5 editors"
        },
        {
          "label": "Rate limits",
          "value": "5 requests a second per base, 50 a second per user or service account across personal access tokens. A 429 blocks requests for 30 seconds (vendor's figures)"
        },
        {
          "label": "Batch size",
          "value": "Up to 10 records per create, update or delete request, 100 records per list page, 10,000 CSV rows per Sync API request"
        },
        {
          "label": "Auth and scopes",
          "value": "Personal access tokens or OAuth with PKCE. Basic scopes include data.records:read, data.records:write, schema.bases:read, schema.bases:write, data.recordComments:read and write, workspacesAndBases:read and webhook:manage. Each token is also limited to chosen bases or workspaces"
        },
        {
          "label": "Read and write",
          "value": "Records (list, get, create, update, upsert, delete), comments, attachments, tables and fields (create and update), base schema, views, webhooks"
        },
        {
          "label": "Filtering",
          "value": "`filterByFormula`, `sort`, `view`, `fields`, `pageSize` and `maxRecords` on list records, with a POST variant for long formulas"
        },
        {
          "label": "MCP server",
          "value": "Hosted, streamable HTTP, 40 documented tools. OAuth with dynamic client registration or a personal access token. Automations are saved as drafts and stay off until a person turns them on"
        },
        {
          "label": "Change events",
          "value": "Webhooks on a base, table or view with an HMAC-signed ping and a payload list read by cursor. Token-created webhooks expire after 7 days unless refreshed"
        },
        {
          "label": "Plan gates",
          "value": "Base data endpoints on every plan except views. SCIM from Business. Audit logs, change events and the Enterprise API on Enterprise Scale"
        },
        {
          "label": "SDKs",
          "value": "Official airtable.js for JavaScript (v0.12.2, 16 August 2023, MIT). Python, Ruby and .NET clients are community-built. @airtable/mcp-cli v0.2.9 (7 August 2026), marked experimental"
        },
        {
          "label": "Deprecations",
          "value": "Guidelines aim for 12 months' notice on the Web API and Enterprise API, and Airtable reserves the right to deprecate without notice"
        },
        {
          "label": "Certifications",
          "value": "SOC 2 Type 2, ISO/IEC 27001:2022, ISO/IEC 27701:2019, HIPAA and TX-RAMP Level 2 per the trust page. Bug bounty on HackerOne"
        },
        {
          "label": "SLA",
          "value": "99.9 per cent monthly uptime for Enterprise and Enterprise Scale plans, and some Business customers on a master subscription agreement"
        },
        {
          "label": "Open source",
          "value": "No. The JavaScript client and the MCP CLI are public under MIT"
        }
      ],
      "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,
        "checks": [
          {
            "check": "Legal entity named",
            "value": "Formagrid Inc (doing business as Airtable)",
            "points": 20,
            "max": 20,
            "state": "ok"
          },
          {
            "check": "Domain age",
            "value": "airtable.com, registered 2003-12-10 (22 years)",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Endpoint on the vendor's domain",
            "value": "api.airtable.com",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Terms of service",
            "value": "read, states 7 of the 7 things a reader expects",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "Privacy policy",
            "value": "read, states 8 of the 8 things a reader expects",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "Status page",
            "value": "status.airtable.com",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "Changelog",
            "value": "published",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "security.txt",
            "value": "valid",
            "points": 10,
            "max": 10,
            "state": "ok"
          }
        ],
        "policies": [
          {
            "kind": "terms",
            "url": "https://www.airtable.com/company/tos",
            "state": "read",
            "readAt": "2026-10-08",
            "statedDate": "2024-05-31",
            "words": 9820,
            "points": 10,
            "max": 10,
            "expected": [
              {
                "key": "terms.date",
                "label": "Gives the date it was last updated",
                "found": true,
                "quote": "Last Updated: May 31, 2024",
                "says": "Last updated 2024-05-31"
              },
              {
                "key": "terms.law",
                "label": "Names the governing law or courts",
                "found": true,
                "quote": "These Terms will be governed by the internal substantive laws of the State of California, without respect to its conflict of laws principles.",
                "says": "The law of the State of California"
              },
              {
                "key": "terms.liability",
                "label": "States a limit on its liability",
                "found": true,
                "quote": "IN NO EVENT WILL WE OR OUR AFFILIATES, AGENTS, SUPPLIERS, OR LICENSORS (OR OUR OR THEIR EMPLOYEES, CONTRACTORS, AGENTS, OFFICERS, OR DIRECTORS) BE LIABLE TO YOU FOR ANY CLAIMS, PROCEEDINGS, LIABILITIES, OBLIGATIONS, DAMAGES, LOSSES, OR COSTS IN AN AMOUNT EXCEEDING THE AMOUNT OF FEES YOU PAID TO US HEREUNDER DURING THE…",
                "says": "Capped at the fees paid in the 12 months before the claim"
              },
              {
                "key": "terms.termination",
                "label": "Says how the agreement or account can be ended",
                "found": true,
                "quote": "(iv) your individual right to access and use our Services may be suspended or terminated (and ownership and administration of your Airtable Account (defined below) may be transferred) if you cease to be associated with, or cease to use an email address associated with, owned by, or provisioned by, that Organization;"
              },
              {
                "key": "terms.changes",
                "label": "Says how changes to the terms are announced",
                "found": true,
                "quote": "Any change to a Subscription Plan’s pricing or payment terms will become effective in the billing cycle following notice of such change to you as provided in these Terms.",
                "says": "Says it gives notice of a change"
              },
              {
                "key": "terms.use",
                "label": "Lists what users may not do",
                "found": true,
                "quote": "(ii) you represent and warrant that you have the authority to bind that Organization to these Terms (and if you do not have the authority, you may not access or use our Services);"
              },
              {
                "key": "terms.sla",
                "label": "Refers to a service level or uptime commitment",
                "found": true,
                "quote": "Trial Features are not subject to any service level agreements or support commitments."
              }
            ],
            "toKnow": [
              {
                "key": "terms.cutoff",
                "label": "Says access can be ended without notice or for any reason",
                "found": true,
                "quote": "We may permanently or temporarily terminate or suspend your access to our Services without notice or liability, without cause or for any reason, including if in our sole discretion you violate any provision of these Terms."
              },
              {
                "key": "terms.arbitration",
                "label": "Requires arbitration or waives class actions",
                "found": true,
                "quote": "…16.2 OR UNLESS YOU OPT OUT PURSUANT TO THE INSTRUCTIONS IN SECTION 16.2, THE EXCLUSIVE USE OF FINAL AND BINDING ARBITRATION ON AN INDIVIDUAL BASIS ONLY TO RESOLVE DISPUTES, RATHER THAN JURY TRIALS OR CLASS, COLLECTIVE, PRIVATE ATTORNEY GENERAL OR REPRESENTATIVE ACTIONS OR PROCEEDINGS."
              }
            ],
            "notes": [
              {
                "date": "2026-10-08",
                "text": "The licence the customer grants over its content is irrevocable, transferable and sublicensable through multiple tiers.",
                "quote": "grant, and you represent and warrant that you have all rights necessary to grant, us an irrevocable, transferable, sublicensable (through multiple tiers), fully paid, royalty-free, and worldwide right and license to access, use, copy, store, modify, and display Your Content solely"
              },
              {
                "date": "2026-10-08",
                "text": "Subscription plans renew automatically for a term of the same length at the price that applies on the renewal date, until the customer cancels.",
                "quote": "Unless and until canceled by you, all Subscription Plans will automatically renew for renewal terms equal in length to the original Subscription Term, at the applicable price as of the renewal date."
              },
              {
                "date": "2026-10-08",
                "text": "Airtable may name the customer in its promotional materials and says it will stop on request.",
                "quote": "We may identify you as our customer in our promotional materials."
              }
            ]
          },
          {
            "kind": "privacy",
            "url": "https://www.airtable.com/company/privacy",
            "state": "read",
            "readAt": "2026-10-08",
            "statedDate": "2026-07-15",
            "words": 5598,
            "points": 10,
            "max": 10,
            "expected": [
              {
                "key": "privacy.date",
                "label": "Gives the date it was last updated",
                "found": true,
                "quote": "Last Updated: July 15, 2026",
                "says": "Last updated 2026-07-15"
              },
              {
                "key": "privacy.collected",
                "label": "Says what personal data is collected",
                "found": true,
                "quote": "…to help you understand our practices with respect to the collection, use, and disclosure of information we collect from you through: (i) airtable.com, its subdomains, and any other website where our Terms of Service are posted;"
              },
              {
                "key": "privacy.retention",
                "label": "Says how long data is kept",
                "found": true,
                "quote": "We store your personal information for no longer than necessary for the purposes for which it was collected, including for the purposes of satisfying any legal or reporting requirements, and in accordance with our legal obligations and legitimate business interests."
              },
              {
                "key": "privacy.processors",
                "label": "Says who else receives the data",
                "found": true,
                "quote": "If you create your account using a service provided by a third party such as Google or Apple, or a single-sign-on service provided by a third party such as Okta, we may collect Customer Information about you from the third-party service (such as your username or user ID associated with that third-party service)."
              },
              {
                "key": "privacy.sale",
                "label": "Says whether personal data is sold or shared for advertising",
                "found": true,
                "quote": "We do not sell or share the personal information of consumers we know to be under 18 years of age.",
                "says": "Says it does not sell personal data"
              },
              {
                "key": "privacy.rights",
                "label": "Says what rights people have over their data",
                "found": true,
                "quote": "Right to Opt out of Targeted Advertising, Sales, or \"Sharing\" of Personal Information."
              },
              {
                "key": "privacy.contact",
                "label": "Gives a privacy contact",
                "found": true,
                "quote": "For instructions on how to permanently delete Content from your Airtable Account, please contact us at privacy@airtable.com.",
                "says": "privacy@airtable.com"
              },
              {
                "key": "privacy.transfers",
                "label": "Says where data is transferred or stored",
                "found": true,
                "quote": "When required by law, we will ensure that we rely on an appropriate legal mechanism for the transfer, such as your consent, standard contractual clauses (or their equivalent), or adequacy decisions.",
                "says": "Relies on standard contractual clauses"
              }
            ],
            "toKnow": [
              {
                "key": "privacy.sells",
                "label": "Says it sells personal data or shares it for advertising",
                "found": true,
                "quote": "In some cases, we may upload personal information to certain of these partners for advertising or analytics purposes."
              }
            ],
            "notes": [
              {
                "date": "2026-10-08",
                "text": "Deleted content may stay in archived or backup copies, and permanent deletion is arranged by contacting Airtable.",
                "quote": "Content you delete (including Content containing personal information) may be retained in archived or backup copies in order to enable you to use certain features like revision history and base snapshots."
              },
              {
                "date": "2026-10-08",
                "text": "When an account is created through a third-party sign-in service, Airtable may collect the personal contacts stored in that service.",
                "quote": "we may also collect, and you authorize us to collect, information about your personal contacts as may be stored within that third-party service, which we may use to facilitate your invitation of collaborators to our Services."
              }
            ]
          }
        ]
      },
      "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"
      }
    },
    "verify": {
      "accepts": "a page on airtable.com or one of its subdomains, or the README of github.com/Airtable/airtable-mcp-cli",
      "badgeUrl": "https://www.anchorterminal.com/badges/airtable.svg",
      "body": {
        "slug": "airtable",
        "url": "the page with the badge or the link"
      },
      "docs": "https://www.anchorterminal.com/builders/#verify",
      "effect": "none, it never changes a grade, rank or review",
      "endpoint": "https://www.anchorterminal.com/api/v1/verify",
      "listingUrl": "https://www.anchorterminal.com/tools/airtable",
      "mcpTool": "verify_listing",
      "recheck": "weekly; two failed checks in a row and it lapses, a later pass restores it",
      "snippets": {
        "html": "\u003ca href=\"https://www.anchorterminal.com/tools/airtable\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/airtable.svg\" alt=\"Airtable on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e",
        "markdown": "[![Airtable on Anchor Terminal](https://www.anchorterminal.com/badges/airtable.svg)](https://www.anchorterminal.com/tools/airtable)",
        "link": "\u003ca href=\"https://www.anchorterminal.com/tools/airtable\"\u003eAirtable on Anchor Terminal\u003c/a\u003e"
      }
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/airtable",
    "json": "https://www.anchorterminal.com/tools/airtable.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/airtable.md",
    "slim": "https://www.anchorterminal.com/tools/airtable.min.md"
  },
  "markdown": "## Overview\n\n**Grade BB · 70.9/100 · rank #118 of 629 · #3 in Spreadsheets \u0026 operational tables · agent-ready · confidence medium**\n\n\n## Assessment\n\nTokens 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## Facts\n\n| Field | Value |\n| --- | --- |\n| Vendor | Formagrid Inc (Airtable) (https://www.airtable.com) |\n| Kind | HTTP API |\n| Category | Spreadsheets \u0026 operational tables (https://www.anchorterminal.com/categories/spreadsheets) |\n| Transport | HTTP, Streamable HTTP |\n| Endpoint | `https://api.airtable.com` |\n| Auth | OAuth or key · 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. |\n| Pricing | Freemium ($20 / seat-mo) · 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). |\n| x402 | No · No x402, MPP or L402 in the Web API docs, the MCP docs or the pricing page (checked 2026-10-08). |\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 |\n| Tools exposed | 40 |\n| Packages | npm: `airtable`; npm: `@airtable/mcp-cli` |\n| MCP registry name | `com.airtable/mcp` |\n| Source | https://github.com/Airtable/airtable-mcp-cli |\n| Docs | https://airtable.com/developers/web/api/introduction |\n| llms.txt | https://airtable.com/developers/llms.txt |\n| Last release | 2026-08-07 |\n| GitHub stars | 2,229 (as of 2026-10-08) |\n| npm downloads / week | 568,991 |\n| Surfaces graded | REST Web API at https://api.airtable.com/v0 and the official hosted MCP server at https://mcp.airtable.com/mcp |\n| Free tier | Free plan, 1,000 API calls a month per workspace, 1,000 records per base, 1 GB of attachments per base, up to 5 editors |\n| Rate limits | 5 requests a second per base, 50 a second per user or service account across personal access tokens. A 429 blocks requests for 30 seconds (vendor's figures) |\n| Batch size | Up to 10 records per create, update or delete request, 100 records per list page, 10,000 CSV rows per Sync API request |\n| Auth and scopes | Personal access tokens or OAuth with PKCE. Basic scopes include data.records:read, data.records:write, schema.bases:read, schema.bases:write, data.recordComments:read and write, workspacesAndBases:read and webhook:manage. Each token is also limited to chosen bases or workspaces |\n| Read and write | Records (list, get, create, update, upsert, delete), comments, attachments, tables and fields (create and update), base schema, views, webhooks |\n| Filtering | `filterByFormula`, `sort`, `view`, `fields`, `pageSize` and `maxRecords` on list records, with a POST variant for long formulas |\n| MCP server | Hosted, streamable HTTP, 40 documented tools. OAuth with dynamic client registration or a personal access token. Automations are saved as drafts and stay off until a person turns them on |\n| Change events | Webhooks on a base, table or view with an HMAC-signed ping and a payload list read by cursor. Token-created webhooks expire after 7 days unless refreshed |\n| Plan gates | Base data endpoints on every plan except views. SCIM from Business. Audit logs, change events and the Enterprise API on Enterprise Scale |\n| SDKs | Official airtable.js for JavaScript (v0.12.2, 16 August 2023, MIT). Python, Ruby and .NET clients are community-built. @airtable/mcp-cli v0.2.9 (7 August 2026), marked experimental |\n| Deprecations | Guidelines aim for 12 months' notice on the Web API and Enterprise API, and Airtable reserves the right to deprecate without notice |\n| Certifications | SOC 2 Type 2, ISO/IEC 27001:2022, ISO/IEC 27701:2019, HIPAA and TX-RAMP Level 2 per the trust page. Bug bounty on HackerOne |\n| SLA | 99.9 per cent monthly uptime for Enterprise and Enterprise Scale plans, and some Business customers on a master subscription agreement |\n| Open source | No. The JavaScript client and the MCP CLI are public under MIT |\n| Capabilities | sheets.records, sheets.read, sheets.write, sheets.tables, sheets.formulas |\n| Tags | official, hosted, mcp, closed-source, free-tier, oauth, llms-txt, webhooks, javascript, status-page, bug-bounty, soc2 |\n| JSON | https://www.anchorterminal.com/api/v1/tools/airtable.json |\n\n## Score breakdown (methodology v0.4, October 2026 research run)\n\nAssessed 2026-10-08 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. \"This run\" is each category's share of the 100 points.\n\n| Category | Weight | This run | Score (0–100) | Points |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% | 20 | 94 | 18.8 |\n| Performance | 10% | pending | pending | n/a |\n| Schema \u0026 documentation | 13% | 16.2 | 73 | 11.9 |\n| Agent ergonomics | 13% | 16.2 | 68 | 11.1 |\n| Security \u0026 auth | 14% | 17.5 | 78 | 13.7 |\n| Payments \u0026 pricing | 10% | 12.5 | 30 | 3.8 |\n| Task success | 10% | pending | pending | n/a |\n| Maintenance \u0026 community | 7% | 8.8 | 49 | 4.3 |\n| Transparency \u0026 trust (editorial 72, provenance 100) | 7% | 8.8 | 86 | 7.5 |\n| Negative events | up to −15 | up to −15 | none recorded | 0 |\n| **Total** | | | | **70.9 → BB** |\n\n### Why each score\n\n- Reliability 94: Graded on the REST Web API and the hosted MCP server. Statuspage at status.airtable.com with one component and incident history (20). No incident in the 90 days to 8 October 2026. The latest, a major outage of 1 hour 42 minutes on 8 July 2026, falls two days outside the window (30). 5 requests a second per base, 50 a second per user across personal access tokens, and monthly caps of 1,000 calls on Free and 100,000 on Team. No separate limit for the MCP server was found (13). A 429 means waiting 30 seconds, the docs ask for back-off, 503 may carry Retry-After, and `performUpsert` makes a repeated write safe. No idempotency keys, and no Retry-After documented on 429 (11). A 99.9 per cent uptime SLA is published for Enterprise plans (10). The Web API is generally available and the MCP docs carry no beta label, though the companion CLI is marked experimental (10).\n- Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes.\n- Schema \u0026 documentation 73: No OpenAPI description was found in the reviewed documentation. The MCP server publishes its tool list over the protocol, which we couldn't read without an account (10 of 25). llms.txt files at airtable.com/developers and a Markdown copy of every reference page (10). Each endpoint page states scope, user role and plan, and the MCP tools reference gives purpose, ordering hints such as calling `list_automations` first, and limits such as no field type changes (16). Parameters are typed with enums and required flags, but cell values are untyped objects keyed by field name and filters are formula strings (11). Curl examples with responses on endpoint pages, and an errors page with sample bodies for 403, 404, 422, 429 and 503 (13). One API version (v0) with a dated changelog, 6 entries in 2026, the latest on 24 June (13).\n- Agent ergonomics 68: The MCP server documents 40 tools with no toolsets or dynamic loading found (5 of 25), while the REST API sizes responses with `fields`, `pageSize` and `maxRecords`, so 12 overall. Offset pagination up to 100 records a page, with `filterByFormula`, `sort` and `view` (20). Error bodies carry a type and message, such as INVALID_PERMISSIONS naming the table or field (16). No idempotency keys. `performUpsert` with up to three merge fields, an MCP `revert_action` tool, and a CLI that labels each tool read-only, write or destructive from the server's annotations, which we didn't read first-hand (12). Few required parameters, but airtable.js is the only official client and its last release was v0.12.2 on 16 August 2023. Python clients are community-built (8).\n- Security \u0026 auth 78: OAuth 2.0 with PKCE, 60-minute access tokens and rotating 60-day refresh tokens, or personal access tokens, both limited by scope and by base or workspace. Secrets in the legacy `api_key` URL parameter are refused (30). Read-only access by omitting the write scopes, and the user's own base role still applies. Automations created through MCP stay off until a person turns them on. No server-side approval for record or table deletes was found (15). Records can hold text written by others, and the only guidance found is a line advising users to trust the tools and data sources they connect (3). Record revision history names the authorising user and the OAuth app or token. The audit log API keeps 180 days and is limited to Enterprise Scale (11). HackerOne bug bounty, SOC 2 Type 2, ISO 27001 and 27701. security.txt has no Expires field (19).\n- Payments \u0026 pricing 30: No x402, MPP or L402 found (0). Plan prices are public, Team at $20 and Business at $45 a seat a month billed annually, with monthly API call allowances per plan and no per-call price (10). A Free plan with 1,000 API calls a month per workspace, and the pricing page mentions cards only for paid plans. We didn't complete a signup (20). A person signs up in a browser and creates a token or approves OAuth (0).\n- Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored.\n- Maintenance \u0026 community 49: Newest dated release is @airtable/mcp-cli v0.2.9 on 7 August 2026, 62 days before the check. The Web API changelog was last updated on 24 June 2026 (20). One dated release in the last 90 days (0). Public changelog, a developer community forum and a help centre. We didn't read reply times, and airtable.js shows 145 open issues with its last commit on 6 June 2025 (8). Listed in the official MCP registry as com.airtable/mcp, active since 8 May 2026 (15). The CLI repository has CI, release and Dependabot workflows, while airtable.js has had no release since August 2023 (6).\n- Transparency \u0026 trust 86: Closed service with published Terms of Service (31 May 2024) and Developer Terms (1 December 2022). The CLI and airtable.js are MIT (15). Privacy policy updated 15 July 2026, a DPA that can be signed online, and AI Terms that rule out model training on customer data. No retention periods for base content were found, and deleted content may stay in backups (20). Deprecation guidelines aim for 12 months' notice on the Web API and list past deprecations with dates, while reserving the right to act without notice (17). Sub-processor list updated 25 August 2026 with countries, plus EU and Australian data residency (20).\n\nFix list for a coding agent, everything this grade says the listing lacks, the biggest gain first (14 items): https://www.anchorterminal.com/fixes/airtable.md (JSON https://www.anchorterminal.com/fixes/airtable.json)\n\n### What we couldn't check\n\n- unchecked: the MCP server's tool input schemas and annotations, which need a signed-in account. The tool count of 40 comes from the published tools reference\n- unchecked: the plan cards on airtable.com/pricing, which load in the browser. Prices come from the page's own FAQ and the help centre's plans overview\n- unchecked: whether signup for the Free plan asks for a card. We didn't complete a signup\n- unchecked: reply times on the developer community forum\n- No OpenAPI description, rate limit for the MCP server or retention period for base content was found in the reviewed documentation\n- The 8 July 2026 outage (1 hour 42 minutes, marked major) falls two days outside the 90-day window used for the incident record\n- PyPI downloads are left empty because pyairtable is community-built, with about 1.14 million downloads in the week to 8 October 2026\n\n### Sources\n\n- Web API introduction (Markdown): \u003chttps://airtable.com/developers/web/api/introduction.md\u003e (seen 2026-10-08)\n- Web API llms.txt index: \u003chttps://airtable.com/developers/web/llms.txt\u003e (seen 2026-10-08)\n- rate limits: \u003chttps://airtable.com/developers/web/api/rate-limits.md\u003e (seen 2026-10-08)\n- authentication: \u003chttps://airtable.com/developers/web/api/authentication.md\u003e (seen 2026-10-08)\n- scopes: \u003chttps://airtable.com/developers/web/api/scopes.md\u003e (seen 2026-10-08)\n- OAuth reference: \u003chttps://airtable.com/developers/web/api/oauth-reference.md\u003e (seen 2026-10-08)\n- errors: \u003chttps://airtable.com/developers/web/api/errors.md\u003e (seen 2026-10-08)\n- list records: \u003chttps://airtable.com/developers/web/api/list-records.md\u003e (seen 2026-10-08)\n- update multiple records and upsert: \u003chttps://airtable.com/developers/web/api/update-multiple-records.md\u003e (seen 2026-10-08)\n- webhooks overview: \u003chttps://airtable.com/developers/web/api/webhooks-overview.md\u003e (seen 2026-10-08)\n- Web API changelog: \u003chttps://airtable.com/developers/web/api/changelog.md\u003e (seen 2026-10-08)\n- billing plans and endpoint availability: \u003chttps://airtable.com/developers/web/api/billing-plans.md\u003e (seen 2026-10-08)\n- audit log overview: \u003chttps://airtable.com/developers/web/api/audit-logs-overview.md\u003e (seen 2026-10-08)\n- MCP server overview: \u003chttps://airtable.com/developers/agents/mcp/getting-started.md\u003e (seen 2026-10-08)\n- MCP tools reference: \u003chttps://airtable.com/developers/agents/mcp/tools.md\u003e (seen 2026-10-08)\n- MCP controls: \u003chttps://airtable.com/developers/agents/mcp/controls.md\u003e (seen 2026-10-08)\n- MCP setup for Claude Code: \u003chttps://airtable.com/developers/agents/mcp/claude-code.md\u003e (seen 2026-10-08)\n- MCP protected resource metadata: \u003chttps://mcp.airtable.com/.well-known/oauth-protected-resource\u003e (seen 2026-10-08)\n- official MCP registry search: \u003chttps://registry.modelcontextprotocol.io/v0/servers?search=airtable\u0026limit=50\u003e (seen 2026-10-08)\n- MCP CLI repository: \u003chttps://github.com/Airtable/airtable-mcp-cli\u003e (seen 2026-10-08)\n- MCP CLI on npm: \u003chttps://registry.npmjs.org/@airtable/mcp-cli\u003e (seen 2026-10-08)\n- airtable.js repository: \u003chttps://github.com/Airtable/airtable.js\u003e (seen 2026-10-08)\n- API call limits: \u003chttps://support.airtable.com/docs/managing-api-call-limits-in-airtable\u003e (seen 2026-10-08)\n- API deprecation guidelines: \u003chttps://support.airtable.com/docs/airtable-api-deprecation-guidelines\u003e (seen 2026-10-08)\n- plans overview: \u003chttps://support.airtable.com/docs/airtable-plans\u003e (seen 2026-10-08)\n- pricing: \u003chttps://airtable.com/pricing\u003e (seen 2026-10-08)\n- status incidents: \u003chttps://status.airtable.com/api/v2/incidents.json\u003e (seen 2026-10-08)\n- service level agreement: \u003chttps://www.airtable.com/company/sla\u003e (seen 2026-10-08)\n- trust and security: \u003chttps://www.airtable.com/company/trust-and-security\u003e (seen 2026-10-08)\n- security.txt: \u003chttps://airtable.com/.well-known/security.txt\u003e (seen 2026-10-08)\n- terms of service: \u003chttps://www.airtable.com/company/tos\u003e (seen 2026-10-08)\n- developer terms: \u003chttps://www.airtable.com/company/developer-terms\u003e (seen 2026-10-08)\n- AI terms: \u003chttps://www.airtable.com/company/ai-terms\u003e (seen 2026-10-08)\n- privacy policy: \u003chttps://www.airtable.com/company/privacy\u003e (seen 2026-10-08)\n- sub-processors: \u003chttps://www.airtable.com/company/subprocessors\u003e (seen 2026-10-08)\n- RDAP for airtable.com: \u003chttps://rdap.verisign.com/com/v1/domain/airtable.com\u003e (seen 2026-10-08)\n\n## Who's behind it (provenance 100/100, checked 2026-10-08)\n\n| Check | Finding | Points |\n| --- | --- | --- |\n| Legal entity named | Formagrid Inc (doing business as Airtable) | 20/20 |\n| Domain age | airtable.com, registered 2003-12-10 (22 years) | 15/15 |\n| Endpoint on the vendor's domain | api.airtable.com | 15/15 |\n| Terms of service | read, states 7 of the 7 things a reader expects | 10/10 |\n| Privacy policy | read, states 8 of the 8 things a reader expects | 10/10 |\n| Status page | status.airtable.com | 10/10 |\n| Changelog | published | 10/10 |\n| security.txt | valid | 10/10 |\n\nThe 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.\n\nThe REST API answers at api.airtable.com and the MCP server at mcp.airtable.com, both airtable.com subdomains.\n\nairtable.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.\n\nRDAP for airtable.com gives a registration date of 2003-12-10.\n\nThe Service Level Agreement (last updated 26 March 2024) commits to 99.9 per cent monthly uptime for Enterprise plans.\n\n### Terms and privacy, as read\n\nA reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.\n\n**Terms of service** (https://www.airtable.com/company/tos), read 2026-10-08, dated 2024-05-31, states 7 of the 7 things a reader expects.\n\n- To know. Says access can be ended without notice or for any reason. \"We may permanently or temporarily terminate or suspend your access to our Services without notice or liability, without cause or for any reason, including if in our sole discretion you violate any provision of these Terms.\"\n- To know. Requires arbitration or waives class actions. \"…16.2 OR UNLESS YOU OPT OUT PURSUANT TO THE INSTRUCTIONS IN SECTION 16.2, THE EXCLUSIVE USE OF FINAL AND BINDING ARBITRATION ON AN INDIVIDUAL BASIS ONLY TO RESOLVE DISPUTES, RATHER THAN JURY TRIALS OR CLASS, COLLECTIVE, PRIVATE ATTORNEY GENERAL OR REPRESENTATIVE ACTIONS OR PROCEEDINGS.\"\n- Gives the date it was last updated. Last updated 2024-05-31.\n- Names the governing law or courts. The law of the State of California.\n- States a limit on its liability. Capped at the fees paid in the 12 months before the claim.\n- Says how changes to the terms are announced. Says it gives notice of a change.\n- Also in the text (2026-10-08). The licence the customer grants over its content is irrevocable, transferable and sublicensable through multiple tiers. \"grant, and you represent and warrant that you have all rights necessary to grant, us an irrevocable, transferable, sublicensable (through multiple tiers), fully paid, royalty-free, and worldwide right and license to access, use, copy, store, modify, and display Your Content solely\"\n- Also in the text (2026-10-08). Subscription plans renew automatically for a term of the same length at the price that applies on the renewal date, until the customer cancels. \"Unless and until canceled by you, all Subscription Plans will automatically renew for renewal terms equal in length to the original Subscription Term, at the applicable price as of the renewal date.\"\n- Also in the text (2026-10-08). Airtable may name the customer in its promotional materials and says it will stop on request. \"We may identify you as our customer in our promotional materials.\"\n\n**Privacy policy** (https://www.airtable.com/company/privacy), read 2026-10-08, dated 2026-07-15, states 8 of the 8 things a reader expects.\n\n- To know. Says it sells personal data or shares it for advertising. \"In some cases, we may upload personal information to certain of these partners for advertising or analytics purposes.\"\n- Gives the date it was last updated. Last updated 2026-07-15.\n- Says whether personal data is sold or shared for advertising. Says it does not sell personal data.\n- Gives a privacy contact. privacy@airtable.com.\n- Says where data is transferred or stored. Relies on standard contractual clauses.\n- Also in the text (2026-10-08). Deleted content may stay in archived or backup copies, and permanent deletion is arranged by contacting Airtable. \"Content you delete (including Content containing personal information) may be retained in archived or backup copies in order to enable you to use certain features like revision history and base snapshots.\"\n- Also in the text (2026-10-08). When an account is created through a third-party sign-in service, Airtable may collect the personal contacts stored in that service. \"we may also collect, and you authorize us to collect, information about your personal contacts as may be stored within that third-party service, which we may use to facilitate your invitation of collaborators to our Services.\"\n\n## Live (updated 2026-10-08 17:37 UTC)\n\n- Right now: up, HTTP 200, 817 ms, checked 2026-10-08 17:36 UTC (get on `https://api.airtable.com`)\n- Uptime 24h 100.0% (25 probes) · 30 days 100.0% (25 probes) · p50 807 ms · p95 910 ms\n- Vendor status page: none, All Systems Operational\n- github `Airtable/airtable-mcp-cli` v0.2.9, released 2026-08-07\n- npm `@airtable/mcp-cli` 0.2.9\n- npm `airtable` 0.12.2\n- security.txt: valid\n- Always current: https://www.anchorterminal.com/api/v1/live/airtable.json\n\n## Probe metrics\n\nNot measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.\n\n## Prices\n\n| Item | Price | Unit | Note |\n| --- | --- | --- | --- |\n| Team | $20 | per seat per month | billed annually, $24 billed monthly, 100,000 API calls a month per workspace |\n| Business | $45 | per seat per month | billed annually |\n\nAcross all listings: https://www.anchorterminal.com/prices/index.md\n\n## Strengths\n\n- 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- 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- Markdown copy of every API reference page, indexed by llms.txt files under airtable.com/developers\n- List records takes `fields`, `pageSize`, `maxRecords`, `view`, `sort` and `filterByFormula`, so responses can be sized\n- Published deprecation guidelines aim for 12 months' notice on the Web API, and no deprecation was listed as upcoming on 8 October 2026\n\n## Weaknesses\n\n- 5 requests a second per base, and a 429 blocks further requests for 30 seconds\n- Create, update and delete calls take at most 10 records each\n- Free plan allows 1,000 API calls a month per workspace and 1,000 records per base\n- No OpenAPI description was found in the reviewed documentation\n- The only official client library is airtable.js, last released as v0.12.2 on 16 August 2023\n\n## Before you call it (notes for agents)\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## Connect\n\nInstall:\n\n```bash\nnpm install -g @airtable/mcp-cli\n```\n\nFirst request:\n\n```bash\ncurl https://api.airtable.com/v0/YOUR_BASE_ID/YOUR_TABLE_ID_OR_NAME -H \\\n\"Authorization: Bearer YOUR_TOKEN\"\n```\n\nClaude Code:\n\n```bash\nclaude mcp add --transport http airtable https://mcp.airtable.com/mcp\n```\n\nMCP client configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"airtable\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.airtable.com/mcp\"\n    }\n  }\n}\n```\n\nThrough letme (picks today, calling later): https://letme.dev/airtable. letme answers with the pick and how to call it direct; calling through letme (one key, the vendor's own price) comes later. How it works: https://www.anchorterminal.com/letme/index.md\n\n## Similar tools\n\nRanked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.\n\n| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |\n| --- | --- | --- | --- | --- | --- | --- |\n| NocoDB | BB | 75.7 | 37 | sheets.records, sheets.read, sheets.write, sheets.tables, sheets.formulas | no | https://www.anchorterminal.com/tools/nocodb.md |\n| Coda (Superhuman Docs) | B | 64.8 | 247 | sheets.read, sheets.write, sheets.tables, sheets.records, sheets.formulas | no | https://www.anchorterminal.com/tools/coda.md |\n| Baserow | B | 63.6 | 276 | sheets.records, sheets.read, sheets.write, sheets.tables, sheets.formulas | no | https://www.anchorterminal.com/tools/baserow.md |\n| Google Sheets API | BB | 76.3 | 33 | sheets.read, sheets.write, sheets.formulas, sheets.tables | no | https://www.anchorterminal.com/tools/google-sheets-api.md |\n| Smartsheet API + MCP | B | 67.6 | 190 | sheets.read, sheets.write, sheets.records, sheets.formulas | no | https://www.anchorterminal.com/tools/smartsheet.md |\n| Microsoft Excel (Microsoft Graph workbook API) | C | 58.5 | 399 | sheets.read, sheets.write, sheets.tables, sheets.formulas | no | https://www.anchorterminal.com/tools/microsoft-excel-graph.md |\n\n## Panel reviews (0)\n\nReviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .\n\nDesk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md\n\n## Notable\n\n- The hosted MCP server at https://mcp.airtable.com/mcp speaks streamable HTTP, is open to every plan and documents 40 tools across records, tables, fields, bases, interfaces, forms and automations (source: \u003chttps://airtable.com/developers/agents/mcp/tools.md\u003e)\n- Rate limits are 5 requests a second per base and 50 a second per user across personal access tokens, and a 429 blocks requests for 30 seconds (source: \u003chttps://airtable.com/developers/web/api/rate-limits.md\u003e)\n- Monthly API calls are capped at 1,000 per workspace on Free and 100,000 on Team. Over the cap, Team slows to 2 requests a second and Free is blocked after a one-off 30-day grace period (source: \u003chttps://support.airtable.com/docs/managing-api-call-limits-in-airtable\u003e)\n- Create, update and delete take up to 10 records a request, and the Sync API takes CSV with up to 10,000 rows (source: \u003chttps://support.airtable.com/docs/managing-api-call-limits-in-airtable\u003e)\n- Webhooks send a signed ping, and the client then fetches payloads by cursor. Webhooks created with tokens expire after 7 days unless refreshed (source: \u003chttps://airtable.com/developers/web/api/webhooks-overview.md\u003e)\n- Enterprise Scale admins can block MCP access outright or allow only named OAuth client IDs (source: \u003chttps://airtable.com/developers/agents/mcp/controls.md\u003e)\n- Deprecation guidelines aim for 12 months' notice on the Web API. Classic API keys stopped working on 1 February 2024 (source: \u003chttps://support.airtable.com/docs/airtable-api-deprecation-guidelines\u003e)\n- status.airtable.com lists three incidents since June 2026, the latest a major outage of 1 hour 42 minutes on 8 July 2026 (source: \u003chttps://status.airtable.com/history\u003e)\n\n## Compare\n\n- [Airtable vs Google Sheets API](https://www.anchorterminal.com/compare/airtable-vs-google-sheets-api.md): BB 70.9 vs BB 76.3\n- [Airtable vs Microsoft Excel (Microsoft Graph workbook API)](https://www.anchorterminal.com/compare/airtable-vs-microsoft-excel-graph.md): BB 70.9 vs C 58.5\n- [Airtable vs Baserow](https://www.anchorterminal.com/compare/airtable-vs-baserow.md): BB 70.9 vs B 63.6\n- [Airtable vs Coda (Superhuman Docs)](https://www.anchorterminal.com/compare/airtable-vs-coda.md): BB 70.9 vs B 64.8\n- [Airtable vs NocoDB](https://www.anchorterminal.com/compare/airtable-vs-nocodb.md): BB 70.9 vs BB 75.7\n- [Airtable vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/airtable-vs-smartsheet.md): BB 70.9 vs B 67.6\n\n## Verify this listing\n\nFor the vendor. The badge or a plain link to this page verifies the listing, from a page on airtable.com or one of its subdomains, or the README of github.com/Airtable/airtable-mcp-cli. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{\"slug\": \"airtable\", \"url\": \"…\"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify\n\nHTML badge:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/airtable\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/airtable.svg\" alt=\"Airtable on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e\n```\n\nMarkdown badge, for a README:\n\n```markdown\n[![Airtable on Anchor Terminal](https://www.anchorterminal.com/badges/airtable.svg)](https://www.anchorterminal.com/tools/airtable)\n```\n\nPlain link:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/airtable\"\u003eAirtable on Anchor Terminal\u003c/a\u003e\n```\n\n## Share this listing\n\nFor the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say Airtable is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.\n\n- Dark: https://www.anchorterminal.com/assets/share/airtable-dark.png\n- Light: https://www.anchorterminal.com/assets/share/airtable-light.png\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": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Spreadsheets \u0026 operational tables",
        "url": "https://www.anchorterminal.com/categories/spreadsheets"
      },
      {
        "name": "Airtable",
        "url": ""
      }
    ],
    "description": "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.",
    "facts": [
      "rank #118 of 629",
      "OAuth or key auth",
      "0 desk reviews"
    ],
    "h1": "Airtable",
    "image": "https://www.anchorterminal.com/assets/og/tools-airtable.png",
    "path": "/tools/airtable",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Airtable review for AI agents, grade BB (70.9/100) | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/tools/airtable"
  },
  "tokens": {
    "markdown": 7800,
    "slim": 1880
  },
  "version": 1
}
