{
  "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": 124,
        "ranked": true,
        "rankOf": 722,
        "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-09T01:12:38.968605215Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 723,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 776,
          "p95ms24h": 913,
          "samples24h": 106,
          "samples30d": 106,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "date": "2026-10-09",
              "probes": 13,
              "ok": 13
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.airtable.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T23:00:26.095179093Z"
        },
        "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"
        },
        "pages": [
          {
            "url": "https://airtable.com/developers/web/api/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:15:06.114167061Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ed78de5d569e"
          },
          {
            "url": "https://www.airtable.com/company/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:01.462339624Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9f111732ba6a"
          },
          {
            "url": "https://www.airtable.com/company/tos",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:03.977291054Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b438a1e2d7d0"
          }
        ],
        "updatedAt": "2026-10-09T01:12:38.968605215Z"
      }
    },
    "answer": "Airtable scores 70.9 (BB) on agent readiness against SeaTable's 66.3 (B), and leads in 3 of 7 scored categories. SeaTable leads on schema \u0026 documentation, agent ergonomics and maintenance \u0026 community.",
    "b": {
      "slug": "seatable",
      "name": "SeaTable",
      "vendor": "SeaTable GmbH",
      "vendorUrl": "https://seatable.com",
      "kind": "http-api",
      "category": "spreadsheets",
      "summary": "SeaTable is a database of typed rows in tables and bases, sold as a cloud service hosted in Germany and as server software. Agents reach it through a REST API with per-base tokens and an official MCP server.",
      "url": "https://www.anchorterminal.com/tools/seatable",
      "markdownUrl": "https://www.anchorterminal.com/tools/seatable.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/seatable.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/seatable.json",
      "repo": "https://github.com/seatable/seatable-mcp",
      "license": "Proprietary cloud service under the Terms of Service for SeaTable Cloud. The MCP server is MIT. SeaTable Server Enterprise Edition is licensed under an EULA",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://cloud.seatable.io",
      "packages": [
        {
          "registry": "npm",
          "name": "@seatable/mcp-seatable"
        },
        {
          "registry": "pypi",
          "name": "seatable-api"
        },
        {
          "registry": "npm",
          "name": "seatable-api"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve. A signed-in user creates an API token for one base, read-only or read-write, which never expires and can be deleted. Base calls need a Base-Token, a JWT valid for 3 days, obtained from the API token at `/api/v2.1/dtable/app-access-token/`. Account calls (bases, groups, webhooks, sharing) need an Account-Token obtained with the username and password, which never expires and carries the user's full access. The hosted MCP server takes the API token as a Bearer header, or runs an OAuth flow with PKCE and dynamic client registration in which the user enters the API token and the server issues a one-hour access token. The OAuth flow has no scopes.",
      "pricing": "freemium",
      "pricingNotes": "Free cloud plan for up to 25 users with 10,000 rows, 2 GB of files and 3,000 API calls a month for the team, with no card at signup, so an agent can start without a contract. Plus is €7 a user a month billed yearly (€9 monthly) with 10,000 API calls per user, and Enterprise €14 (€18 monthly) with 50,000. Dedicated is sold through sales from 100 users with unlimited calls. Prices are in euros before VAT and aren't converted here. The MCP server is free to use and there is no separate sandbox (checked 2026-10-08).",
      "priceSummary": "Freemium",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API reference, the OpenAPI files, the MCP server's README or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 21,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 103,
        "pypiWeekly": 1657,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://api.seatable.com/",
      "llmsTxt": "https://api.seatable.com/llms.txt",
      "openapi": "https://github.com/seatable/openapi/blob/v6.2/base_operations.yaml",
      "registryName": "io.github.seatable/seatable",
      "capabilities": [
        "sheets.records",
        "sheets.read",
        "sheets.write",
        "sheets.tables",
        "sheets.formulas"
      ],
      "tags": [
        "official",
        "hosted",
        "self-hosted",
        "mcp",
        "free-tier",
        "api-key",
        "openapi",
        "llms-txt",
        "webhooks",
        "status-page",
        "python",
        "javascript",
        "php",
        "eu-hosted"
      ],
      "lastRelease": "2026-09-04",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.3,
        "grade": "B",
        "agentReady": false,
        "rank": 241,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 74,
          "maintenance": 76,
          "payments": 30,
          "reliability": 69,
          "schema": 81,
          "security": 59,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "API tokens are limited to one base and to read-only or read-write, and the official MCP server marks every tool as read-only or destructive. The Free plan allows 3,000 API calls a month in total, and base calls are capped at 200 a minute. The status page showed the base API degraded for 0.77 per cent of 30 days.",
        "bestFor": "Teams that want typed tables hosted in Germany or on their own server, with an agent reading and writing rows through a per-base token or the official MCP server.",
        "strengths": [
          "API tokens are limited to one base, set to read-only or read-write, named per app and deletable, and the token list shows each token's last access time",
          "Official MCP server, MIT-licensed, hosted at `https://mcp.seatable.com/mcp` and listed in the official MCP registry as `io.github.seatable/seatable` at version 1.6.4",
          "All 21 hosted MCP tools carry readOnlyHint, destructiveHint and idempotentHint annotations, and the tool set leaves out table and column changes",
          "Public OpenAPI 3.0 files with 404 operations, plus `llms.txt`, `llms-full.txt` and Markdown copies of the reference pages",
          "Sub-processor list, data processing agreement and security measures are public, and the security page places all user data in Frankfurt and Munich"
        ],
        "weaknesses": [
          "Monthly API call quotas by plan, 3,000 for a whole Free team, 10,000 per user on Plus and 50,000 per user on Enterprise",
          "A 429 response has no body and no Retry-After header is documented, and the REST API has no idempotency keys",
          "Tokens can't be limited to a table, and the MCP tool `query_sql` accepts UPDATE and DELETE statements with no confirmation step",
          "The security page says SeaTable holds no certification, and its bug bounty, expected in 2025, is still described as under construction",
          "No SLA text is published. The pricing page names optional SLAs for Dedicated only, and the terms exclude liability for uninterrupted availability"
        ],
        "agentNotes": [
          "Create an API token for the one base with read-only permission unless writes are needed, then exchange it at `/api/v2.1/dtable/app-access-token/` for a Base-Token",
          "Renew the Base-Token before it expires after 3 days, and send it as `Authorization: Bearer` to `/api-gateway/api/v2/dtables/{base_uuid}/`",
          "Read `x-ratelimit-remaining` and `x-ratelimit-reset` on every base call. SeaTable Cloud allows 200 base calls a minute and answers 429 with no body",
          "Batch writes to save the monthly quota. One call appends or updates up to 1,000 rows over REST and 100 over MCP",
          "Over MCP, prefer `update_rows` and `delete_rows` to `query_sql`, which can run UPDATE and DELETE, and call `get_schema` before writing"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.3
          }
        ],
        "editorialScores": {
          "ergonomics": 74,
          "maintenance": 76,
          "payments": 30,
          "reliability": 69,
          "schema": 81,
          "security": 59,
          "transparency": 65
        },
        "provenanceScore": 85
      },
      "connect": {
        "install": "npx -y @seatable/mcp-seatable",
        "http": "curl -H \"Authorization: Bearer YOUR_API_TOKEN\" \"https://cloud.seatable.io/api/v2.1/dtable/app-access-token/\"",
        "config": {
          "mcpServers": {
            "seatable": {
              "headers": {
                "Authorization": "Bearer your-api-token"
              },
              "type": "streamable-http",
              "url": "https://mcp.seatable.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/sheets.records",
        "tool": "https://letme.dev/seatable"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "SeaTable GmbH",
        "domain": "seatable.com",
        "domainRegistered": "2010-03-12",
        "endpointOnVendorDomain": true,
        "terms": "https://seatable.com/terms-of-service/",
        "privacy": "https://seatable.com/data-privacy/",
        "statusPage": "https://status.seatable.com",
        "changelog": "https://api.seatable.com/reference/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The imprint names SeaTable GmbH, 117er Ehrenhof 5, 55118 Mainz, Germany, District Court Mainz, commercial register number HRB 49723.",
          "The Terms of Service for SeaTable Cloud are version 1.0.1, published on 14 April 2022. The German original is binding and the English page is a convenience translation.",
          "The privacy policy is version 1.3.0, published on 5 February 2026, and covers registration and the cloud service as well as the website. A data processing agreement (version 1.1.6, 16 October 2024) and a sub-processor list (version 1.1.5, 16 October 2025) are separate public pages.",
          "The MCP server answers at mcp.seatable.com and the API reference at api.seatable.com. The REST API answers at cloud.seatable.io, a second domain the vendor's site links for login. We didn't check the registration record of seatable.io.",
          "seatable.com/.well-known/security.txt and cloud.seatable.io/.well-known/security.txt return 404. The security page gives security@seatable.com for vulnerability reports.",
          "RDAP for seatable.com gives a registration date of 2010-03-12."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/seatable.json",
      "live": {
        "slug": "seatable",
        "probe": {
          "target": "https://cloud.seatable.io",
          "method": "get",
          "lastAt": "2026-10-09T01:12:56.602822862Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 403,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 369,
          "p95ms24h": 411,
          "samples24h": 63,
          "samples30d": 63,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 13,
              "ok": 13
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.seatable.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:39:09.649561498Z"
        },
        "updatedAt": "2026-10-09T01:12:56.602822862Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Formagrid Inc (Airtable)",
        "b": "SeaTable GmbH",
        "name": "Vendor"
      },
      {
        "a": "https://api.airtable.com",
        "b": "https://cloud.seatable.io",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "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 cloud service under the Terms of Service for SeaTable Cloud. The MCP server is MIT. SeaTable Server Enterprise Edition is licensed under an EULA",
        "name": "Licence"
      },
      {
        "a": "40",
        "b": "21",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "com.airtable/mcp",
        "b": "io.github.seatable/seatable",
        "name": "MCP registry"
      },
      {
        "a": "2026-08-07",
        "b": "2026-09-04",
        "name": "Last release"
      },
      {
        "a": "2024-05-31",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-07-15",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "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": "yes",
        "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": "103 npm/wk, 1.7k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Airtable scores 70.9 (BB) on agent readiness against SeaTable's 66.3 (B), and leads in 3 of 7 scored categories. SeaTable leads on schema \u0026 documentation, agent ergonomics and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Airtable or SeaTable?"
      },
      {
        "answer": "Airtable takes an API key or an OAuth sign-in. SeaTable needs an API key.",
        "question": "Do Airtable and SeaTable need an API key?"
      },
      {
        "answer": "Yes. Airtable has a hosted endpoint at https://api.airtable.com and SeaTable at https://cloud.seatable.io.",
        "question": "Can an agent call Airtable and SeaTable without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 94 against 69",
          "Security \u0026 auth, 78 against 59",
          "Transparency \u0026 trust, 86 against 75"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "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, 81 against 73",
          "Agent ergonomics, 74 against 68",
          "Maintenance \u0026 community, 76 against 49"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "Teams that want typed tables hosted in Germany or on their own server, with an agent reading and writing rows through a per-base token or the official MCP server.",
        "slug": "seatable",
        "watchFor": "Monthly API call quotas by plan, 3,000 for a whole Free team, 10,000 per user on Plus and 50,000 per user on Enterprise"
      }
    ],
    "job": {
      "capability": "sheets.records",
      "name": "Sheets records"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/airtable-vs-google-sheets-api.json",
        "title": "Airtable vs Google Sheets API",
        "url": "https://www.anchorterminal.com/compare/airtable-vs-google-sheets-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/coda-vs-seatable.json",
        "title": "Coda (Superhuman Docs) vs SeaTable",
        "url": "https://www.anchorterminal.com/compare/coda-vs-seatable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-sheets-api-vs-seatable.json",
        "title": "Google Sheets API vs SeaTable",
        "url": "https://www.anchorterminal.com/compare/google-sheets-api-vs-seatable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-seatable.json",
        "title": "Microsoft Excel (Microsoft Graph workbook API) vs SeaTable",
        "url": "https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-seatable"
      },
      {
        "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-grist.json",
        "title": "Airtable vs Grist",
        "url": "https://www.anchorterminal.com/compare/airtable-vs-grist"
      },
      {
        "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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtable-vs-teable.json",
        "title": "Airtable vs Teable",
        "url": "https://www.anchorterminal.com/compare/airtable-vs-teable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/baserow-vs-seatable.json",
        "title": "Baserow vs SeaTable",
        "url": "https://www.anchorterminal.com/compare/baserow-vs-seatable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grist-vs-seatable.json",
        "title": "Grist vs SeaTable",
        "url": "https://www.anchorterminal.com/compare/grist-vs-seatable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nocodb-vs-seatable.json",
        "title": "NocoDB vs SeaTable",
        "url": "https://www.anchorterminal.com/compare/nocodb-vs-seatable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/seatable-vs-smartsheet.json",
        "title": "SeaTable vs Smartsheet API + MCP",
        "url": "https://www.anchorterminal.com/compare/seatable-vs-smartsheet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/seatable-vs-teable.json",
        "title": "SeaTable vs Teable",
        "url": "https://www.anchorterminal.com/compare/seatable-vs-teable"
      }
    ],
    "scores": [
      {
        "airtable": 94,
        "by": 25,
        "edge": "airtable",
        "key": "reliability",
        "name": "Reliability",
        "seatable": 69,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "airtable": 73,
        "by": 8,
        "edge": "seatable",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "seatable": 81,
        "weight": 13
      },
      {
        "airtable": 68,
        "by": 6,
        "edge": "seatable",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "seatable": 74,
        "weight": 13
      },
      {
        "airtable": 78,
        "by": 19,
        "edge": "airtable",
        "key": "security",
        "name": "Security \u0026 auth",
        "seatable": 59,
        "weight": 14
      },
      {
        "airtable": 30,
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "seatable": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "airtable": 49,
        "by": 27,
        "edge": "seatable",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "seatable": 76,
        "weight": 7
      },
      {
        "airtable": 86,
        "by": 11,
        "edge": "airtable",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "seatable": 75,
        "weight": 7
      }
    ],
    "summary": "Airtable scores 70.9 (BB) on agent readiness against SeaTable's 66.3 (B), and leads in 3 of 7 scored categories. SeaTable leads on schema \u0026 documentation, agent ergonomics and maintenance \u0026 community. Both do sheets records.",
    "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.",
      "seatable": "API tokens are limited to one base and to read-only or read-write, and the official MCP server marks every tool as read-only or destructive. The Free plan allows 3,000 API calls a month in total, and base calls are capped at 200 a minute. The status page showed the base API degraded for 0.77 per cent of 30 days."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/airtable-vs-seatable",
    "json": "https://www.anchorterminal.com/compare/airtable-vs-seatable.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/airtable-vs-seatable.md",
    "slim": "https://www.anchorterminal.com/compare/airtable-vs-seatable.min.md"
  },
  "markdown": "Airtable scores 70.9 (BB) on agent readiness against SeaTable's 66.3 (B), and leads in 3 of 7 scored categories. SeaTable leads on schema \u0026 documentation, agent ergonomics and maintenance \u0026 community. Both do sheets records.\n\n- Airtable: grade BB, 70.9/100, rank #124 of 722. Markdown https://www.anchorterminal.com/tools/airtable.md · JSON https://www.anchorterminal.com/api/v1/tools/airtable.json\n- SeaTable: grade B, 66.3/100, rank #241 of 722. Markdown https://www.anchorterminal.com/tools/seatable.md · JSON https://www.anchorterminal.com/api/v1/tools/seatable.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- Reliability, 94 against 69\n- Security \u0026 auth, 78 against 59\n- Transparency \u0026 trust, 86 against 75\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: 5 requests a second per base, and a 429 blocks further requests for 30 seconds\n\n### SeaTable (B)\n\nGood for: Teams that want typed tables hosted in Germany or on their own server, with an agent reading and writing rows through a per-base token or the official MCP server.\n\nAhead on:\n- Schema \u0026 documentation, 81 against 73\n- Agent ergonomics, 74 against 68\n- Maintenance \u0026 community, 76 against 49\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: Monthly API call quotas by plan, 3,000 for a whole Free team, 10,000 per user on Plus and 50,000 per user on Enterprise\n\n\n## Score by category\n\n| Category | Weight | Airtable | SeaTable | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 94 | 69 | Airtable +25 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 73 | 81 | SeaTable +8 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 74 | SeaTable +6 |\n| Security \u0026 auth | 14% (17.5 this run) | 78 | 59 | Airtable +19 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 30 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 49 | 76 | SeaTable +27 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 86 | 75 | Airtable +11 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **70.9 · BB** | **66.3 · B** | |\n\n## Facts side by side\n\n| Fact | Airtable | SeaTable |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Formagrid Inc (Airtable) | SeaTable GmbH |\n| Hosted endpoint | `https://api.airtable.com` | `https://cloud.seatable.io` |\n| Transports | HTTP, Streamable HTTP | HTTP, stdio |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\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 cloud service under the Terms of Service for SeaTable Cloud. The MCP server is MIT. SeaTable Server Enterprise Edition is licensed under an EULA |\n| Tools exposed | 40 | 21 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| MCP registry | `com.airtable/mcp` | `io.github.seatable/seatable` |\n| Last release | 2026-08-07 | 2026-09-04 |\n| Terms last updated | 2024-05-31 | no date given |\n| Privacy policy last updated | 2026-07-15 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\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 | yes |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 2.2k stars, 569k npm/wk | 103 npm/wk, 1.7k 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**SeaTable.** API tokens are limited to one base and to read-only or read-write, and the official MCP server marks every tool as read-only or destructive. The Free plan allows 3,000 API calls a month in total, and base calls are capped at 200 a minute. The status page showed the base API degraded for 0.77 per cent of 30 days.\n\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### SeaTable\n\n1. Create an API token for the one base with read-only permission unless writes are needed, then exchange it at `/api/v2.1/dtable/app-access-token/` for a Base-Token\n2. Renew the Base-Token before it expires after 3 days, and send it as `Authorization: Bearer` to `/api-gateway/api/v2/dtables/{base_uuid}/`\n3. Read `x-ratelimit-remaining` and `x-ratelimit-reset` on every base call. SeaTable Cloud allows 200 base calls a minute and answers 429 with no body\n4. Batch writes to save the monthly quota. One call appends or updates up to 1,000 rows over REST and 100 over MCP\n5. Over MCP, prefer `update_rows` and `delete_rows` to `query_sql`, which can run UPDATE and DELETE, and call `get_schema` before writing\n\n## Questions\n\n### Which is better for AI agents, Airtable or SeaTable?\n\nAirtable scores 70.9 (BB) on agent readiness against SeaTable's 66.3 (B), and leads in 3 of 7 scored categories. SeaTable leads on schema \u0026 documentation, agent ergonomics and maintenance \u0026 community.\n\n### Do Airtable and SeaTable need an API key?\n\nAirtable takes an API key or an OAuth sign-in. SeaTable needs an API key.\n\n### Can an agent call Airtable and SeaTable without installing anything?\n\nYes. Airtable has a hosted endpoint at https://api.airtable.com and SeaTable at https://cloud.seatable.io.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/airtable-vs-seatable.json, and with the fewest tokens: https://www.anchorterminal.com/compare/airtable-vs-seatable.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"airtable\", \"b\": \"seatable\"}`. From a terminal: `anchor compare airtable seatable`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/airtable.json and https://www.anchorterminal.com/api/v1/tools/seatable.json\n\n## Other comparisons with Airtable or SeaTable\n\n- [Airtable vs Google Sheets API](https://www.anchorterminal.com/compare/airtable-vs-google-sheets-api.md)\n- [Airtable vs Microsoft Excel (Microsoft Graph workbook API)](https://www.anchorterminal.com/compare/airtable-vs-microsoft-excel-graph.md)\n- [Coda (Superhuman Docs) vs SeaTable](https://www.anchorterminal.com/compare/coda-vs-seatable.md)\n- [Google Sheets API vs SeaTable](https://www.anchorterminal.com/compare/google-sheets-api-vs-seatable.md)\n- [Microsoft Excel (Microsoft Graph workbook API) vs SeaTable](https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-seatable.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 Grist](https://www.anchorterminal.com/compare/airtable-vs-grist.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- [Airtable vs Teable](https://www.anchorterminal.com/compare/airtable-vs-teable.md)\n- [Baserow vs SeaTable](https://www.anchorterminal.com/compare/baserow-vs-seatable.md)\n- [Grist vs SeaTable](https://www.anchorterminal.com/compare/grist-vs-seatable.md)\n- [NocoDB vs SeaTable](https://www.anchorterminal.com/compare/nocodb-vs-seatable.md)\n- [SeaTable vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/seatable-vs-smartsheet.md)\n- [SeaTable vs Teable](https://www.anchorterminal.com/compare/seatable-vs-teable.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "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 SeaTable",
        "url": ""
      }
    ],
    "description": "Airtable scores 70.9 (BB) on agent readiness against SeaTable's 66.3 (B), and leads in 3 of 7 scored categories. SeaTable leads on schema \u0026 documentation, agent ergonomics and maintenance \u0026 community. Both do sheets records. Category scores, facts, verdicts and agent notes side…",
    "facts": [
      "Airtable BB 70.9",
      "SeaTable B 66.3",
      "scores"
    ],
    "h1": "Airtable vs SeaTable",
    "image": "https://www.anchorterminal.com/assets/og/compare-airtable-vs-seatable.png",
    "path": "/compare/airtable-vs-seatable",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Airtable vs SeaTable for AI agents, BB 70.9 vs B 66.3",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/airtable-vs-seatable"
  },
  "tokens": {
    "markdown": 2300,
    "slim": 730
  },
  "version": 1
}
