{
  "data": {
    "a": {
      "slug": "airtable",
      "name": "Airtable",
      "vendor": "Formagrid Inc (Airtable)",
      "vendorUrl": "https://www.airtable.com",
      "kind": "http-api",
      "category": "spreadsheets",
      "summary": "Airtable is a hosted database of typed records organised in bases, tables and views. Agents reach it through a REST Web API and an official hosted MCP server, using personal access tokens or OAuth.",
      "url": "https://www.anchorterminal.com/tools/airtable",
      "markdownUrl": "https://www.anchorterminal.com/tools/airtable.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/airtable.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/airtable.json",
      "repo": "https://github.com/Airtable/airtable-mcp-cli",
      "license": "Proprietary service under Airtable's Terms of Service and Developer Terms. The airtable.js client and the MCP CLI on GitHub are MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.airtable.com",
      "packages": [
        {
          "registry": "npm",
          "name": "airtable"
        },
        {
          "registry": "npm",
          "name": "@airtable/mcp-cli"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. A signed-in user creates a personal access token at airtable.com/create/tokens, choosing scopes and the bases or workspaces it can reach, or registers an OAuth integration at airtable.com/create/oauth with no review step found in the docs. OAuth uses the authorisation code grant with PKCE, 60-minute access tokens and 60-day refresh tokens that rotate on use. The MCP server takes either, and supports dynamic client registration. Tokens act as the granting user, so the user's role on a base still applies. Enterprise admin scopes and service accounts need an Enterprise Scale plan.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 1,000 API calls a month per workspace and 1,000 records per base, so an agent can start without a contract. Team is $20 a seat a month billed annually ($24 monthly) with 100,000 calls a month, Business $45 billed annually, Enterprise Scale through sales. API calls aren't priced separately, and there's no separate sandbox. The MCP server is included on every plan (checked 2026-10-08).",
      "priceSummary": "$20 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Web API docs, the MCP docs or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 40,
      "popularity": {
        "githubStars": 2229,
        "npmWeekly": 568991,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://airtable.com/developers/web/api/introduction",
      "llmsTxt": "https://airtable.com/developers/llms.txt",
      "registryName": "com.airtable/mcp",
      "capabilities": [
        "sheets.records",
        "sheets.read",
        "sheets.write",
        "sheets.tables",
        "sheets.formulas"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "closed-source",
        "free-tier",
        "oauth",
        "llms-txt",
        "webhooks",
        "javascript",
        "status-page",
        "bug-bounty",
        "soc2"
      ],
      "lastRelease": "2026-08-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.9,
        "grade": "BB",
        "agentReady": true,
        "rank": 118,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 49,
          "payments": 30,
          "reliability": 94,
          "schema": 73,
          "security": 78,
          "transparency": 86
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Tokens are limited by scope and by base, and the official MCP server at mcp.airtable.com covers records, schema, interfaces and automations in 40 tools. The REST API allows 5 requests a second per base with a 30-second lockout after a 429, writes take 10 records a call, and the Free plan stops at 1,000 calls a month.",
        "bestFor": "Teams that already keep operational data in Airtable and want an agent to read, filter and update typed records or build bases through MCP.",
        "strengths": [
          "Personal access tokens and OAuth grants are limited by scope and by base or workspace, and the legacy `api_key` URL parameter is refused",
          "Official hosted MCP server at https://mcp.airtable.com/mcp, open to every plan and listed in the MCP registry as com.airtable/mcp",
          "Markdown copy of every API reference page, indexed by llms.txt files under airtable.com/developers",
          "List records takes `fields`, `pageSize`, `maxRecords`, `view`, `sort` and `filterByFormula`, so responses can be sized",
          "Published deprecation guidelines aim for 12 months' notice on the Web API, and no deprecation was listed as upcoming on 8 October 2026"
        ],
        "weaknesses": [
          "5 requests a second per base, and a 429 blocks further requests for 30 seconds",
          "Create, update and delete calls take at most 10 records each",
          "Free plan allows 1,000 API calls a month per workspace and 1,000 records per base",
          "No OpenAPI description was found in the reviewed documentation",
          "The only official client library is airtable.js, last released as v0.12.2 on 16 August 2023"
        ],
        "agentNotes": [
          "Create a personal access token with only the scopes needed and add each base to it. A token with no base added sees nothing",
          "Stay under 5 requests a second per base. After a 429, wait 30 seconds before the next call",
          "Send writes in batches of 10 records, and use `performUpsert` with `fieldsToMergeOn` so a repeated call updates instead of duplicating",
          "Use table and field IDs, not names, and set `returnFieldsByFieldId` so a rename doesn't break the call",
          "POST to `/listRecords` when a `filterByFormula` would push the URL past 16,000 characters"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 70.9
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 49,
          "payments": 30,
          "reliability": 94,
          "schema": 73,
          "security": 78,
          "transparency": 72
        },
        "provenanceScore": 100
      },
      "connect": {
        "install": "npm install -g @airtable/mcp-cli",
        "http": "curl https://api.airtable.com/v0/YOUR_BASE_ID/YOUR_TABLE_ID_OR_NAME -H \\\n\"Authorization: Bearer YOUR_TOKEN\"",
        "claudeCode": "claude mcp add --transport http airtable https://mcp.airtable.com/mcp",
        "config": {
          "mcpServers": {
            "airtable": {
              "type": "http",
              "url": "https://mcp.airtable.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/sheets.records",
        "tool": "https://letme.dev/airtable"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Team",
          "unit": "seat-month",
          "usd": 20,
          "note": "billed annually, $24 billed monthly, 100,000 API calls a month per workspace"
        },
        {
          "item": "Business",
          "unit": "seat-month",
          "usd": 45,
          "note": "billed annually"
        }
      ],
      "provenance": {
        "legalEntity": "Formagrid Inc (doing business as Airtable)",
        "domain": "airtable.com",
        "domainRegistered": "2003-12-10",
        "endpointOnVendorDomain": true,
        "terms": "https://www.airtable.com/company/tos",
        "privacy": "https://www.airtable.com/company/privacy",
        "statusPage": "https://status.airtable.com",
        "changelog": "https://airtable.com/developers/web/api/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Service (last updated 31 May 2024) and the privacy policy (last updated 15 July 2026) name Formagrid Inc, doing business as Airtable, with a postal address at 1 Front Street, Fl 28, San Francisco, CA 94111.",
          "The REST API answers at api.airtable.com and the MCP server at mcp.airtable.com, both airtable.com subdomains.",
          "airtable.com/.well-known/security.txt gives security@airtable.com and the HackerOne programme and has no Expires field. www.airtable.com/.well-known/security.txt returns 404.",
          "RDAP for airtable.com gives a registration date of 2003-12-10.",
          "The Service Level Agreement (last updated 26 March 2024) commits to 99.9 per cent monthly uptime for Enterprise plans."
        ],
        "score": 100
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/airtable.json",
      "live": {
        "slug": "airtable",
        "probe": {
          "target": "https://api.airtable.com",
          "method": "get",
          "lastAt": "2026-10-08T19:08:38.531108439Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 959,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 797,
          "p95ms24h": 910,
          "samples24h": 42,
          "samples30d": 42,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 42,
              "ok": 42
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.airtable.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T19:06:25.482762531Z"
        },
        "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-08T19:08:38.531108439Z"
      }
    },
    "answer": "Airtable scores 70.9 (BB) on agent readiness against Baserow's 63.6 (B), and leads in 3 of 7 scored categories. Baserow leads on payments \u0026 pricing and maintenance \u0026 community.",
    "b": {
      "slug": "baserow",
      "name": "Baserow",
      "vendor": "Baserow B.V.",
      "vendorUrl": "https://baserow.io",
      "kind": "http-api",
      "category": "spreadsheets",
      "summary": "Baserow is an open-source database of typed rows in tables, sold as a hosted cloud and as software to self-host. Agents reach it through a REST API with database tokens and a built-in MCP server.",
      "url": "https://www.anchorterminal.com/tools/baserow",
      "markdownUrl": "https://www.anchorterminal.com/tools/baserow.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/baserow.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/baserow.json",
      "repo": "https://github.com/baserow/baserow",
      "license": "MIT for the core, including the REST API and the MCP server. Code under premium/ and enterprise/ is source-available under Baserow's own licences and needs a paid subscription in production. Docs are CC BY-SA 4.0",
      "transports": [
        "http",
        "sse"
      ],
      "remoteUrl": "https://api.baserow.io",
      "packages": [],
      "auth": "api-key",
      "authNotes": "Self-serve. A signed-in user creates a database token in the workspace settings, choosing the tables it can reach and whether it may create, read, update or delete rows. Tokens don't expire and can be regenerated or deleted. They cover rows only, so changing tables or fields needs a JWT from `/api/user/token-auth/` with the account's email and password, which carries the user's full access. The MCP server has no token header or OAuth. Each endpoint is a URL holding a 32-character key that carries the creating user's access across one workspace, and deleting the endpoint revokes it. On Enterprise licences only workspace admins and builders can create database tokens.",
      "pricing": "freemium",
      "pricingNotes": "Free cloud plan with 3,000 rows and 2 GB of storage per workspace, so an agent can start without a contract. Premium is $10 a user a month billed yearly ($12 monthly) and Advanced $18 ($22 monthly), Enterprise through sales. API calls aren't priced, the MCP server is on every plan, and there's no separate sandbox. The self-hosted core is free with no row or request limits (checked 2026-10-08).",
      "priceSummary": "$10 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI description, the MCP docs or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 7,
      "popularity": {
        "githubStars": 6098,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://baserow.io/user-docs/database-api",
      "llmsTxt": "https://baserow.io/llms.txt",
      "openapi": "https://api.baserow.io/api/schema.json",
      "capabilities": [
        "sheets.records",
        "sheets.read",
        "sheets.write",
        "sheets.tables",
        "sheets.formulas"
      ],
      "tags": [
        "official",
        "hosted",
        "self-hosted",
        "open-source",
        "mcp",
        "free-tier",
        "api-key",
        "openapi",
        "llms-txt",
        "webhooks",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.6,
        "grade": "B",
        "agentReady": false,
        "rank": 276,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 72,
          "payments": 40,
          "reliability": 65,
          "schema": 77,
          "security": 54,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Database tokens are limited to chosen tables and to create, read, update or delete, and the REST API has a public OpenAPI description with batch calls of 200 rows. The MCP server authenticates with a key in its URL, runs over SSE only and has no read-only mode. Cloud requests are capped at 10 at a time.",
        "bestFor": "Teams that want Airtable-style typed tables they can also self-host, with row-level reads and writes by an agent through table-scoped tokens or a small MCP tool set.",
        "strengths": [
          "Database tokens are limited to one workspace, to chosen tables and to create, read, update or delete, and can be regenerated or deleted",
          "Public OpenAPI 3.0.3 description at api.baserow.io/api/schema.json with 424 operations and an enum of error codes on each response",
          "The MCP server exposes 7 tools with typed inputs, and its descriptions tell the caller to read the table schema before writing",
          "List rows takes `include`, `exclude`, `size`, `filters`, `search`, `order_by` and `view_id`, so responses can be sized",
          "The core, including the REST API and the MCP server, is MIT-licensed and can be self-hosted with no row or request limits"
        ],
        "weaknesses": [
          "The MCP endpoint's key sits in the URL path, and the docs say it grants full access to modify data in the workspace",
          "The MCP server speaks only the older SSE transport, with no OAuth, no read-only mode and no tool annotations",
          "Table and field changes over REST need a JWT obtained with the account's email and password, since database tokens cover rows only",
          "No SLA, security.txt, sub-processor list or published DPA text was found, and the privacy policy carries no date or retention periods",
          "No official client library was found, and Baserow isn't in the official MCP registry under its own namespace"
        ],
        "agentNotes": [
          "Create a database token with only the tables and operations needed. It can't change tables or fields, which need a JWT from `/api/user/token-auth/`",
          "Send `Authorization: Token YOUR_DATABASE_TOKEN`, and add `user_field_names=true` or rows come back keyed as `field_123`",
          "Use the `/batch/` endpoints for up to 200 rows a call, and keep to 10 requests in flight on Baserow Cloud",
          "Treat the MCP URL as a password. Keep it out of logs and version control, and delete the endpoint to revoke it",
          "Over MCP, call `get_table_schema` before `create_rows` or `update_rows`, and page `list_table_rows` with `page` and `size`"
        ],
        "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": 63.6
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 72,
          "payments": 40,
          "reliability": 65,
          "schema": 77,
          "security": 54,
          "transparency": 49
        },
        "provenanceScore": 80
      },
      "connect": {
        "http": "curl \\\n-X GET \\\n-H \"Authorization: Token YOUR_DATABASE_TOKEN\" \\\n\"https://api.baserow.io/api/database/fields/table/TABLE_ID/\"",
        "config": {
          "mcpServers": {
            "Baserow MCP": {
              "url": "YOUR_MCP_URL_HERE"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/sheets.records",
        "tool": "https://letme.dev/baserow"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Premium (cloud)",
          "unit": "seat-month",
          "usd": 10,
          "note": "billed yearly, $12 billed monthly, 50,000 rows per workspace"
        },
        {
          "item": "Advanced (cloud)",
          "unit": "seat-month",
          "usd": 18,
          "note": "billed yearly, $22 billed monthly, 250,000 rows per workspace"
        }
      ],
      "provenance": {
        "legalEntity": "Baserow B.V.",
        "domain": "baserow.io",
        "domainRegistered": "2019-01-19",
        "endpointOnVendorDomain": true,
        "terms": "https://baserow.io/terms-and-conditions",
        "privacy": "https://baserow.io/privacy-policy",
        "statusPage": "https://status.baserow.org",
        "changelog": "https://github.com/baserow/baserow/blob/develop/changelog.md",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The General Terms and Conditions name Baserow B.V., a Dutch private company with its registered office at Keurenplein 4, Amsterdam, trade register number 81129254. The page carries no date.",
          "The privacy policy is the only one found. It is written for visitors to baserow.io, mentions account registration, carries no date and names no retention periods. The terms incorporate a Data Processing Agreement by reference, and no public copy was found.",
          "The REST API and the MCP server answer at api.baserow.io, a baserow.io subdomain. The status page is on a separate domain, status.baserow.org, hosted by Better Stack.",
          "baserow.io/.well-known/security.txt and api.baserow.io/.well-known/security.txt return 404. SECURITY.md in the repository gives an email address for vulnerability reports.",
          "RDAP for baserow.io gives a registration date of 2019-01-19."
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/baserow.json",
      "live": {
        "slug": "baserow",
        "probe": {
          "target": "https://api.baserow.io",
          "method": "get",
          "lastAt": "2026-10-08T19:08:40.566752331Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 98,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 98,
          "p95ms24h": 143,
          "samples24h": 19,
          "samples30d": 19,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 19,
              "ok": 19
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.baserow.org",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T17:50:24.00016072Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/baserow/baserow/develop/changelog.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:24:01.724744684Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2a6db4300826"
          },
          {
            "url": "https://baserow.io/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:15:31.424595879Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9e86e4bd4127"
          },
          {
            "url": "https://baserow.io/terms-and-conditions",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:15:33.545863734Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1d9e20c33e8e"
          }
        ],
        "updatedAt": "2026-10-08T19:08:40.566752331Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Formagrid Inc (Airtable)",
        "b": "Baserow B.V.",
        "name": "Vendor"
      },
      {
        "a": "https://api.airtable.com",
        "b": "https://api.baserow.io",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, SSE (legacy)",
        "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": "MIT for the core, including the REST API and the MCP server. Code under premium/ and enterprise/ is source-available under Baserow's own licences and needs a paid subscription in production. Docs are CC BY-SA 4.0",
        "name": "Licence"
      },
      {
        "a": "40",
        "b": "7",
        "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-09-29",
        "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": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2.2k stars, 569k npm/wk",
        "b": "6.1k stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Airtable scores 70.9 (BB) on agent readiness against Baserow's 63.6 (B), and leads in 3 of 7 scored categories. Baserow leads on payments \u0026 pricing and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Airtable or Baserow?"
      },
      {
        "answer": "Airtable takes an API key or an OAuth sign-in. Baserow needs an API key.",
        "question": "Do Airtable and Baserow need an API key?"
      },
      {
        "answer": "Yes. Airtable has a hosted endpoint at https://api.airtable.com and Baserow at https://api.baserow.io.",
        "question": "Can an agent call Airtable and Baserow without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Airtable. Baserow is open source (MIT for the core, including the REST API and the MCP server. Code under premium/ and enterprise/ is source-available under Baserow's own licences and needs a paid subscription in production. Docs are CC BY-SA 4.0).",
        "question": "Are Airtable and Baserow open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 94 against 65",
          "Security \u0026 auth, 78 against 54",
          "Transparency \u0026 trust, 86 against 65"
        ],
        "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": [
          "Payments \u0026 pricing, 40 against 30",
          "Maintenance \u0026 community, 72 against 49"
        ],
        "also": [
          "Open source"
        ],
        "goodFor": "Teams that want Airtable-style typed tables they can also self-host, with row-level reads and writes by an agent through table-scoped tokens or a small MCP tool set.",
        "slug": "baserow",
        "watchFor": "The MCP endpoint's key sits in the URL path, and the docs say it grants full access to modify data in the workspace"
      }
    ],
    "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/baserow-vs-google-sheets-api.json",
        "title": "Baserow vs Google Sheets API",
        "url": "https://www.anchorterminal.com/compare/baserow-vs-google-sheets-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/baserow-vs-microsoft-excel-graph.json",
        "title": "Baserow vs Microsoft Excel (Microsoft Graph workbook API)",
        "url": "https://www.anchorterminal.com/compare/baserow-vs-microsoft-excel-graph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtable-vs-coda.json",
        "title": "Airtable vs Coda (Superhuman Docs)",
        "url": "https://www.anchorterminal.com/compare/airtable-vs-coda"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtable-vs-nocodb.json",
        "title": "Airtable vs NocoDB",
        "url": "https://www.anchorterminal.com/compare/airtable-vs-nocodb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtable-vs-smartsheet.json",
        "title": "Airtable vs Smartsheet API + MCP",
        "url": "https://www.anchorterminal.com/compare/airtable-vs-smartsheet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/baserow-vs-coda.json",
        "title": "Baserow vs Coda (Superhuman Docs)",
        "url": "https://www.anchorterminal.com/compare/baserow-vs-coda"
      },
      {
        "json": "https://www.anchorterminal.com/compare/baserow-vs-nocodb.json",
        "title": "Baserow vs NocoDB",
        "url": "https://www.anchorterminal.com/compare/baserow-vs-nocodb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/baserow-vs-smartsheet.json",
        "title": "Baserow vs Smartsheet API + MCP",
        "url": "https://www.anchorterminal.com/compare/baserow-vs-smartsheet"
      }
    ],
    "scores": [
      {
        "airtable": 94,
        "baserow": 65,
        "by": 29,
        "edge": "airtable",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "airtable": 73,
        "baserow": 77,
        "by": 4,
        "edge": "baserow",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "airtable": 68,
        "baserow": 72,
        "by": 4,
        "edge": "baserow",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "airtable": 78,
        "baserow": 54,
        "by": 24,
        "edge": "airtable",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "airtable": 30,
        "baserow": 40,
        "by": 10,
        "edge": "baserow",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "airtable": 49,
        "baserow": 72,
        "by": 23,
        "edge": "baserow",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "airtable": 86,
        "baserow": 65,
        "by": 21,
        "edge": "airtable",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Airtable scores 70.9 (BB) on agent readiness against Baserow's 63.6 (B), and leads in 3 of 7 scored categories. Baserow leads on payments \u0026 pricing 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.",
      "baserow": "Database tokens are limited to chosen tables and to create, read, update or delete, and the REST API has a public OpenAPI description with batch calls of 200 rows. The MCP server authenticates with a key in its URL, runs over SSE only and has no read-only mode. Cloud requests are capped at 10 at a time."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/airtable-vs-baserow",
    "json": "https://www.anchorterminal.com/compare/airtable-vs-baserow.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/airtable-vs-baserow.md",
    "slim": "https://www.anchorterminal.com/compare/airtable-vs-baserow.min.md"
  },
  "markdown": "Airtable scores 70.9 (BB) on agent readiness against Baserow's 63.6 (B), and leads in 3 of 7 scored categories. Baserow leads on payments \u0026 pricing and maintenance \u0026 community. Both do sheets records.\n\n- Airtable: grade BB, 70.9/100, rank #118 of 629. Markdown https://www.anchorterminal.com/tools/airtable.md · JSON https://www.anchorterminal.com/api/v1/tools/airtable.json\n- Baserow: grade B, 63.6/100, rank #276 of 629. Markdown https://www.anchorterminal.com/tools/baserow.md · JSON https://www.anchorterminal.com/api/v1/tools/baserow.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 65\n- Security \u0026 auth, 78 against 54\n- Transparency \u0026 trust, 86 against 65\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### Baserow (B)\n\nGood for: Teams that want Airtable-style typed tables they can also self-host, with row-level reads and writes by an agent through table-scoped tokens or a small MCP tool set.\n\nAhead on:\n- Payments \u0026 pricing, 40 against 30\n- Maintenance \u0026 community, 72 against 49\n\nAlso in its favour:\n- Open source\n\nWatch for: The MCP endpoint's key sits in the URL path, and the docs say it grants full access to modify data in the workspace\n\n\n## Score by category\n\n| Category | Weight | Airtable | Baserow | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 94 | 65 | Airtable +29 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 73 | 77 | Baserow +4 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 72 | Baserow +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 78 | 54 | Airtable +24 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | Baserow +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 49 | 72 | Baserow +23 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 86 | 65 | Airtable +21 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **70.9 · BB** | **63.6 · B** | |\n\n## Facts side by side\n\n| Fact | Airtable | Baserow |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Formagrid Inc (Airtable) | Baserow B.V. |\n| Hosted endpoint | `https://api.airtable.com` | `https://api.baserow.io` |\n| Transports | HTTP, Streamable HTTP | HTTP, SSE (legacy) |\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 | MIT for the core, including the REST API and the MCP server. Code under premium/ and enterprise/ is source-available under Baserow's own licences and needs a paid subscription in production. Docs are CC BY-SA 4.0 |\n| Tools exposed | 40 | 7 |\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-09-29 |\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 | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 2.2k stars, 569k npm/wk | 6.1k stars |\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**Baserow.** Database tokens are limited to chosen tables and to create, read, update or delete, and the REST API has a public OpenAPI description with batch calls of 200 rows. The MCP server authenticates with a key in its URL, runs over SSE only and has no read-only mode. Cloud requests are capped at 10 at a time.\n\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### Baserow\n\n1. Create a database token with only the tables and operations needed. It can't change tables or fields, which need a JWT from `/api/user/token-auth/`\n2. Send `Authorization: Token YOUR_DATABASE_TOKEN`, and add `user_field_names=true` or rows come back keyed as `field_123`\n3. Use the `/batch/` endpoints for up to 200 rows a call, and keep to 10 requests in flight on Baserow Cloud\n4. Treat the MCP URL as a password. Keep it out of logs and version control, and delete the endpoint to revoke it\n5. Over MCP, call `get_table_schema` before `create_rows` or `update_rows`, and page `list_table_rows` with `page` and `size`\n\n## Questions\n\n### Which is better for AI agents, Airtable or Baserow?\n\nAirtable scores 70.9 (BB) on agent readiness against Baserow's 63.6 (B), and leads in 3 of 7 scored categories. Baserow leads on payments \u0026 pricing and maintenance \u0026 community.\n\n### Do Airtable and Baserow need an API key?\n\nAirtable takes an API key or an OAuth sign-in. Baserow needs an API key.\n\n### Can an agent call Airtable and Baserow without installing anything?\n\nYes. Airtable has a hosted endpoint at https://api.airtable.com and Baserow at https://api.baserow.io.\n\n### Are Airtable and Baserow open source?\n\nNo open-source release is listed for Airtable. Baserow is open source (MIT for the core, including the REST API and the MCP server. Code under premium/ and enterprise/ is source-available under Baserow's own licences and needs a paid subscription in production. Docs are CC BY-SA 4.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/airtable-vs-baserow.json, and with the fewest tokens: https://www.anchorterminal.com/compare/airtable-vs-baserow.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"airtable\", \"b\": \"baserow\"}`. From a terminal: `anchor compare airtable baserow`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/airtable.json and https://www.anchorterminal.com/api/v1/tools/baserow.json\n\n## Other comparisons with Airtable or Baserow\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- [Baserow vs Google Sheets API](https://www.anchorterminal.com/compare/baserow-vs-google-sheets-api.md)\n- [Baserow vs Microsoft Excel (Microsoft Graph workbook API)](https://www.anchorterminal.com/compare/baserow-vs-microsoft-excel-graph.md)\n- [Airtable vs Coda (Superhuman Docs)](https://www.anchorterminal.com/compare/airtable-vs-coda.md)\n- [Airtable vs NocoDB](https://www.anchorterminal.com/compare/airtable-vs-nocodb.md)\n- [Airtable vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/airtable-vs-smartsheet.md)\n- [Baserow vs Coda (Superhuman Docs)](https://www.anchorterminal.com/compare/baserow-vs-coda.md)\n- [Baserow vs NocoDB](https://www.anchorterminal.com/compare/baserow-vs-nocodb.md)\n- [Baserow vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/baserow-vs-smartsheet.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Airtable vs Baserow",
        "url": ""
      }
    ],
    "description": "Airtable scores 70.9 (BB) on agent readiness against Baserow's 63.6 (B), and leads in 3 of 7 scored categories. Baserow leads on payments \u0026 pricing and maintenance \u0026 community. Both do sheets records. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Airtable BB 70.9",
      "Baserow B 63.6",
      "scores"
    ],
    "h1": "Airtable vs Baserow",
    "image": "https://www.anchorterminal.com/assets/og/compare-airtable-vs-baserow.png",
    "path": "/compare/airtable-vs-baserow",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Airtable vs Baserow for AI agents, BB 70.9 vs B 63.6 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/airtable-vs-baserow"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 730
  },
  "version": 1
}
