{
  "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 Teable's 61 (C), and leads in 4 of 7 scored categories. Teable leads on maintenance \u0026 community.",
    "b": {
      "slug": "teable",
      "name": "Teable",
      "vendor": "Teable AI, Inc.",
      "vendorUrl": "https://teable.ai",
      "kind": "http-api",
      "category": "spreadsheets",
      "summary": "Teable is an open-source table product on PostgreSQL with records, views, formulas and automations, sold as a hosted cloud and as software to self-host. Agents reach it through a REST API with scoped tokens or OAuth, and an official CLI.",
      "url": "https://www.anchorterminal.com/tools/teable",
      "markdownUrl": "https://www.anchorterminal.com/tools/teable.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/teable.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/teable.json",
      "repo": "https://github.com/teableio/teable",
      "license": "AGPL-3.0 with additional brand terms for the backend and web app, MIT for the packages directory. Enterprise functions and the `@teable/cli` package (ISC on npm) are built in a private repository",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://app.teable.ai/api",
      "packages": [
        {
          "registry": "npm",
          "name": "@teable/openapi"
        },
        {
          "registry": "npm",
          "name": "@teable/cli"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve, with no app review found. A signed-in user creates a personal access token in settings, choosing an expiry that can't be changed later, the scopes, and the spaces and projects it can reach. The token is shown once. OAuth 2.0 apps are also created in settings and support the authorisation code grant with a client secret, PKCE for public clients and the device authorisation grant. Access tokens last 10 minutes and refresh tokens 30 days with rotation. Scopes take the form `resource|action`, such as `record|read` or `table|create`. Users and app owners can revoke access.",
      "pricing": "freemium",
      "pricingNotes": "Free cloud plan with 1,000 rows and 1 GB of attachments per space, so an agent can start without a contract. Pro is $13 and Business $20 a seat a month billed yearly, and the page shows $24 and $36 beside them, which we read as the monthly-billed prices. API calls aren't priced and the Web API is on every plan at 10 requests a second. There's no separate sandbox. The self-hosted community edition is free under AGPL-3.0 (checked 2026-10-08).",
      "priceSummary": "$13 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI file or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 21869,
        "npmWeekly": 179,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://help.teable.ai/en/api-doc/overview",
      "llmsTxt": "https://help.teable.ai/llms.txt",
      "openapi": "https://help.teable.ai/swagger.json",
      "capabilities": [
        "sheets.read",
        "sheets.write",
        "sheets.records",
        "sheets.tables",
        "sheets.formulas"
      ],
      "tags": [
        "official",
        "hosted",
        "self-hosted",
        "open-source",
        "free-tier",
        "oauth",
        "pat",
        "openapi",
        "llms-txt",
        "cli",
        "agent-skill",
        "status-page",
        "iso27001"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61,
        "grade": "C",
        "agentReady": false,
        "rank": 379,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 76,
          "payments": 30,
          "reliability": 72,
          "schema": 75,
          "security": 62,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -3,
        "negativeNotes": [
          "2 September 2026. Record lists moved to cursor pagination and stopped returning totals by default, and the changelog entry for that day tells API clients to request totals or use the count endpoint. No earlier notice was found (-3). https://help.teable.ai/en/changelog"
        ],
        "verdict": "Personal access tokens and OAuth tokens carry per-action scopes, and tokens can be limited to chosen spaces and projects. The public OpenAPI file covers 841 operations. Error responses beyond 200 and 201 are missing from that file, no idempotency keys were found, and the cloud allows 10 requests a second on every plan.",
        "bestFor": "Teams that want Airtable-style typed tables on PostgreSQL that they can also self-host, with an agent reading and writing records through tokens limited by scope and project, or through the vendor's CLI and skill.",
        "strengths": [
          "OAuth 2.0 with client secret, PKCE and device flows, 10-minute access tokens, rotating refresh tokens and scopes per action such as `record|read`",
          "Personal access tokens take an expiry, a set of scopes and a list of spaces and projects they can reach, and are shown once",
          "Public OpenAPI 3.0 file at help.teable.ai/swagger.json with 712 paths and 841 operations, each description naming the token scopes it needs",
          "List records takes `projection`, `take`, `skip`, `cursor`, `filter`, `search`, `orderBy` and `viewId`, so responses can be sized",
          "The help centre serves every page as Markdown, with an llms.txt index and an llms-full.txt file"
        ],
        "weaknesses": [
          "The OpenAPI file documents only 200 and 201 responses for nearly every operation, and the error page lists HTTP statuses without a table of error codes",
          "No idempotency key or upsert call was found for record writes, and Retry-After is documented only for the notifications endpoint",
          "Teable Cloud allows 10 API requests a second on every plan, Free to Business, with no higher tier published",
          "Audit logs are documented for self-hosted Business plans and above, and no SLA, DPA or sub-processor list was found",
          "`@teable/openapi`, the JavaScript client the docs use in examples, was last published on 15 September 2025"
        ],
        "agentNotes": [
          "Send `Authorization: Bearer \u003ctoken\u003e` to `https://app.teable.ai/api`. A 403 with code `restricted_resource` usually means a missing scope or a project outside the token's list",
          "Page records with `take` of 100 at most. Personal keys created on Teable Cloud since 10 September 2026 are capped at 100 a request",
          "Ask for totals from `/api/table/{tableId}/aggregation/row-count`. Record lists stopped returning them by default on 2 September 2026",
          "Keep to 10 requests a second, back off on 429, and check before retrying a failed write because no idempotency key exists",
          "Pass `fieldKeyType=id` so renamed fields don't break writes, and leave `typecast` off unless values need converting"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 61
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 76,
          "payments": 30,
          "reliability": 72,
          "schema": 75,
          "security": 62,
          "transparency": 58
        },
        "provenanceScore": 70
      },
      "connect": {
        "install": "npx skills add https://github.com/teableio/agent-skills",
        "http": "curl -H 'Authorization: Bearer __token__' \\\n  'https://app.teable.ai/api/table/__tableId__/record'"
      },
      "letme": {
        "capability": "https://letme.dev/sheets.read",
        "tool": "https://letme.dev/teable"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Pro (cloud)",
          "unit": "seat-month",
          "usd": 13,
          "note": "billed yearly, 250,000 rows and 10 GB per space, 2,000 AI credits a seat"
        },
        {
          "item": "Business (cloud)",
          "unit": "seat-month",
          "usd": 20,
          "note": "billed yearly, 1,000,000 rows and 100 GB per space, SSO and authority matrix"
        },
        {
          "item": "Automation add-on, 10,000 runs",
          "unit": "month",
          "usd": 10,
          "note": "per space, billed yearly, $12 billed monthly, Pro plan or above"
        }
      ],
      "provenance": {
        "legalEntity": "Teable AI, Inc.",
        "domain": "teable.ai",
        "domainRegistered": "2025-03-25",
        "endpointOnVendorDomain": true,
        "terms": "https://teable.ai/terms-of-service",
        "privacy": "https://teable.ai/privacy",
        "statusPage": "https://status.teable.ai",
        "changelog": "https://help.teable.ai/en/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service, last revised 2026-05-25, name Teable AI, Inc. with an address at 1111B S Governors Ave STE 48501, Dover, DE 19904. The repository's LICENSE names Teable, Inc.",
          "The terms define their subject as the website at teable.ai. They are the only terms found, and they cover accounts, user content, AI usage and termination, so they are recorded as the governing document. No separate service agreement, API terms or DPA was found.",
          "The privacy policy, last updated 1 October 2026, covers the websites, applications and related services, and has a section on self-hosted deployments.",
          "The API answers at app.teable.ai, a subdomain of the vendor's domain.",
          "teable.ai/.well-known/security.txt returns 404. SECURITY.md in the repository asks for reports through GitHub's private vulnerability reporting.",
          "RDAP for teable.ai gives a registration date of 2025-03-25."
        ],
        "score": 70
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/teable.json",
      "live": {
        "slug": "teable",
        "probe": {
          "target": "https://app.teable.ai/api",
          "method": "get",
          "lastAt": "2026-10-09T01:12:58.799154116Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 555,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 530,
          "p95ms24h": 721,
          "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.teable.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:39:15.867543558Z"
        },
        "updatedAt": "2026-10-09T01:12:58.799154116Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Formagrid Inc (Airtable)",
        "b": "Teable AI, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.airtable.com",
        "b": "https://app.teable.ai/api",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or 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": "AGPL-3.0 with additional brand terms for the backend and web app, MIT for the packages directory. Enterprise functions and the `@teable/cli` package (ISC on npm) are built in a private repository",
        "name": "Licence"
      },
      {
        "a": "40",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "com.airtable/mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-08-07",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "2024-05-31",
        "b": "2026-05-25",
        "name": "Terms last updated"
      },
      {
        "a": "2026-07-15",
        "b": "2026-10-01",
        "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": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2.2k stars, 569k npm/wk",
        "b": "22k stars, 179 npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Airtable scores 70.9 (BB) on agent readiness against Teable's 61 (C), and leads in 4 of 7 scored categories. Teable leads on maintenance \u0026 community.",
        "question": "Which is better for AI agents, Airtable or Teable?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Airtable and Teable need an API key?"
      },
      {
        "answer": "Yes. Airtable has a hosted endpoint at https://api.airtable.com and Teable at https://app.teable.ai/api.",
        "question": "Can an agent call Airtable and Teable without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Airtable. Teable is open source (AGPL-3.0 with additional brand terms for the backend and web app, MIT for the packages directory. Enterprise functions and the `@teable/cli` package (ISC on npm) are built in a private repository).",
        "question": "Are Airtable and Teable open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 94 against 72",
          "Security \u0026 auth, 78 against 62",
          "Transparency \u0026 trust, 86 against 64"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "No incidents deducted, where Teable loses 3 points for them"
        ],
        "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": [
          "Maintenance \u0026 community, 76 against 49"
        ],
        "also": [
          "Open source"
        ],
        "goodFor": "Teams that want Airtable-style typed tables on PostgreSQL that they can also self-host, with an agent reading and writing records through tokens limited by scope and project, or through the vendor's CLI and skill.",
        "slug": "teable",
        "watchFor": "The OpenAPI file documents only 200 and 201 responses for nearly every operation, and the error page lists HTTP statuses without a table of error codes"
      }
    ],
    "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-teable.json",
        "title": "Coda (Superhuman Docs) vs Teable",
        "url": "https://www.anchorterminal.com/compare/coda-vs-teable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-sheets-api-vs-teable.json",
        "title": "Google Sheets API vs Teable",
        "url": "https://www.anchorterminal.com/compare/google-sheets-api-vs-teable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-teable.json",
        "title": "Microsoft Excel (Microsoft Graph workbook API) vs Teable",
        "url": "https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-teable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smartsheet-vs-teable.json",
        "title": "Smartsheet API + MCP vs Teable",
        "url": "https://www.anchorterminal.com/compare/smartsheet-vs-teable"
      },
      {
        "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-seatable.json",
        "title": "Airtable vs SeaTable",
        "url": "https://www.anchorterminal.com/compare/airtable-vs-seatable"
      },
      {
        "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/baserow-vs-teable.json",
        "title": "Baserow vs Teable",
        "url": "https://www.anchorterminal.com/compare/baserow-vs-teable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grist-vs-teable.json",
        "title": "Grist vs Teable",
        "url": "https://www.anchorterminal.com/compare/grist-vs-teable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nocodb-vs-teable.json",
        "title": "NocoDB vs Teable",
        "url": "https://www.anchorterminal.com/compare/nocodb-vs-teable"
      },
      {
        "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": 22,
        "edge": "airtable",
        "key": "reliability",
        "name": "Reliability",
        "teable": 72,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "airtable": 73,
        "by": 2,
        "edge": "teable",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "teable": 75,
        "weight": 13
      },
      {
        "airtable": 68,
        "by": 3,
        "edge": "airtable",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "teable": 65,
        "weight": 13
      },
      {
        "airtable": 78,
        "by": 16,
        "edge": "airtable",
        "key": "security",
        "name": "Security \u0026 auth",
        "teable": 62,
        "weight": 14
      },
      {
        "airtable": 30,
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "teable": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "airtable": 49,
        "by": 27,
        "edge": "teable",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "teable": 76,
        "weight": 7
      },
      {
        "airtable": 86,
        "by": 22,
        "edge": "airtable",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "teable": 64,
        "weight": 7
      }
    ],
    "summary": "Airtable scores 70.9 (BB) on agent readiness against Teable's 61 (C), and leads in 4 of 7 scored categories. Teable leads on 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.",
      "teable": "Personal access tokens and OAuth tokens carry per-action scopes, and tokens can be limited to chosen spaces and projects. The public OpenAPI file covers 841 operations. Error responses beyond 200 and 201 are missing from that file, no idempotency keys were found, and the cloud allows 10 requests a second on every plan."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/airtable-vs-teable",
    "json": "https://www.anchorterminal.com/compare/airtable-vs-teable.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/airtable-vs-teable.md",
    "slim": "https://www.anchorterminal.com/compare/airtable-vs-teable.min.md"
  },
  "markdown": "Airtable scores 70.9 (BB) on agent readiness against Teable's 61 (C), and leads in 4 of 7 scored categories. Teable leads on 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- Teable: grade C, 61/100, rank #379 of 722. Markdown https://www.anchorterminal.com/tools/teable.md · JSON https://www.anchorterminal.com/api/v1/tools/teable.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 72\n- Security \u0026 auth, 78 against 62\n- Transparency \u0026 trust, 86 against 64\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- No incidents deducted, where Teable loses 3 points for them\n\nWatch for: 5 requests a second per base, and a 429 blocks further requests for 30 seconds\n\n### Teable (C)\n\nGood for: Teams that want Airtable-style typed tables on PostgreSQL that they can also self-host, with an agent reading and writing records through tokens limited by scope and project, or through the vendor's CLI and skill.\n\nAhead on:\n- Maintenance \u0026 community, 76 against 49\n\nAlso in its favour:\n- Open source\n\nWatch for: The OpenAPI file documents only 200 and 201 responses for nearly every operation, and the error page lists HTTP statuses without a table of error codes\n\n\n## Score by category\n\n| Category | Weight | Airtable | Teable | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 94 | 72 | Airtable +22 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 73 | 75 | Teable +2 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 65 | Airtable +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 78 | 62 | Airtable +16 |\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 | Teable +27 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 86 | 64 | Airtable +22 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **70.9 · BB** | **61 · C** | |\n\n## Facts side by side\n\n| Fact | Airtable | Teable |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Formagrid Inc (Airtable) | Teable AI, Inc. |\n| Hosted endpoint | `https://api.airtable.com` | `https://app.teable.ai/api` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth or key | OAuth or 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 | AGPL-3.0 with additional brand terms for the backend and web app, MIT for the packages directory. Enterprise functions and the `@teable/cli` package (ISC on npm) are built in a private repository |\n| Tools exposed | 40 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `com.airtable/mcp` | not listed |\n| Last release | 2026-08-07 | 2026-10-06 |\n| Terms last updated | 2024-05-31 | 2026-05-25 |\n| Privacy policy last updated | 2026-07-15 | 2026-10-01 |\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 | yes |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 2.2k stars, 569k npm/wk | 22k stars, 179 npm/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**Teable.** Personal access tokens and OAuth tokens carry per-action scopes, and tokens can be limited to chosen spaces and projects. The public OpenAPI file covers 841 operations. Error responses beyond 200 and 201 are missing from that file, no idempotency keys were found, and the cloud allows 10 requests a second on every plan.\n\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### Teable\n\n1. Send `Authorization: Bearer \u003ctoken\u003e` to `https://app.teable.ai/api`. A 403 with code `restricted_resource` usually means a missing scope or a project outside the token's list\n2. Page records with `take` of 100 at most. Personal keys created on Teable Cloud since 10 September 2026 are capped at 100 a request\n3. Ask for totals from `/api/table/{tableId}/aggregation/row-count`. Record lists stopped returning them by default on 2 September 2026\n4. Keep to 10 requests a second, back off on 429, and check before retrying a failed write because no idempotency key exists\n5. Pass `fieldKeyType=id` so renamed fields don't break writes, and leave `typecast` off unless values need converting\n\n## Questions\n\n### Which is better for AI agents, Airtable or Teable?\n\nAirtable scores 70.9 (BB) on agent readiness against Teable's 61 (C), and leads in 4 of 7 scored categories. Teable leads on maintenance \u0026 community.\n\n### Do Airtable and Teable need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Airtable and Teable without installing anything?\n\nYes. Airtable has a hosted endpoint at https://api.airtable.com and Teable at https://app.teable.ai/api.\n\n### Are Airtable and Teable open source?\n\nNo open-source release is listed for Airtable. Teable is open source (AGPL-3.0 with additional brand terms for the backend and web app, MIT for the packages directory. Enterprise functions and the `@teable/cli` package (ISC on npm) are built in a private repository).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/airtable-vs-teable.json, and with the fewest tokens: https://www.anchorterminal.com/compare/airtable-vs-teable.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"airtable\", \"b\": \"teable\"}`. From a terminal: `anchor compare airtable teable`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/airtable.json and https://www.anchorterminal.com/api/v1/tools/teable.json\n\n## Other comparisons with Airtable or Teable\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 Teable](https://www.anchorterminal.com/compare/coda-vs-teable.md)\n- [Google Sheets API vs Teable](https://www.anchorterminal.com/compare/google-sheets-api-vs-teable.md)\n- [Microsoft Excel (Microsoft Graph workbook API) vs Teable](https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-teable.md)\n- [Smartsheet API + MCP vs Teable](https://www.anchorterminal.com/compare/smartsheet-vs-teable.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 SeaTable](https://www.anchorterminal.com/compare/airtable-vs-seatable.md)\n- [Airtable vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/airtable-vs-smartsheet.md)\n- [Baserow vs Teable](https://www.anchorterminal.com/compare/baserow-vs-teable.md)\n- [Grist vs Teable](https://www.anchorterminal.com/compare/grist-vs-teable.md)\n- [NocoDB vs Teable](https://www.anchorterminal.com/compare/nocodb-vs-teable.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 Teable",
        "url": ""
      }
    ],
    "description": "Airtable scores 70.9 (BB) on agent readiness against Teable's 61 (C), and leads in 4 of 7 scored categories. Teable leads on maintenance \u0026 community. Both do sheets records. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Airtable BB 70.9",
      "Teable C 61",
      "scores"
    ],
    "h1": "Airtable vs Teable",
    "image": "https://www.anchorterminal.com/assets/og/compare-airtable-vs-teable.png",
    "path": "/compare/airtable-vs-teable",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Airtable vs Teable for AI agents, BB 70.9 vs C 61 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/airtable-vs-teable"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 730
  },
  "version": 1
}
