{
  "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-08T19:52:43.563432512Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 839,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 797,
          "p95ms24h": 910,
          "samples24h": 50,
          "samples30d": 50,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.airtable.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T19:50:24.178911563Z"
        },
        "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:52:43.563432512Z"
      }
    },
    "answer": "NocoDB scores 75.7 (BB) on agent readiness against Airtable's 70.9 (BB), and leads in 4 of 7 scored categories. Airtable leads on security \u0026 auth and transparency \u0026 trust.",
    "b": {
      "slug": "nocodb",
      "name": "NocoDB",
      "vendor": "NocoDB Inc",
      "vendorUrl": "https://nocodb.com",
      "kind": "http-api",
      "category": "spreadsheets",
      "summary": "NocoDB is a database of typed records in bases, tables and views, run on NocoDB Cloud or self-hosted. Agents reach it through a REST API and a built-in MCP server, using scoped API tokens or OAuth.",
      "url": "https://www.anchorterminal.com/tools/nocodb",
      "markdownUrl": "https://www.anchorterminal.com/tools/nocodb.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/nocodb.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nocodb.json",
      "repo": "https://github.com/nocodb/nocodb",
      "license": "Sustainable Use License 1.0 since January 2026 (source-available, not OSI-approved; AGPL-3.0 before). NocoDB Cloud is a proprietary service under NocoDB's Terms of Service",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://app.nocodb.com",
      "packages": [
        {
          "registry": "npm",
          "name": "nocodb-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. A signed-in user creates a fine-grained API token in Account Settings, choosing permission categories, bases and an expiry, and sends it as `xc-token` or `Authorization: Bearer`. For MCP the user creates a connection with its own key, sent as `x-api-key`, or a web client uses OAuth with PKCE and dynamic client registration and the user picks bases and tools on the consent screen. No review step was found. A token or connection never exceeds its owner's role. Workspaces that enforce SSO accept only tokens created after an SSO sign-in.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 1,000 API calls a month, 1,000 records and 3 editor seats, no card required per the pricing page, so an agent can start without a contract. Plus is $12 a seat a month billed annually, Business $24 and Scale $45, with Plus and Business capped at 9 paid seats. Enterprise through sales. API calls aren't priced separately. The self-hosted Community Edition is free for internal use (checked 2026-10-08).",
      "priceSummary": "$12 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the REST API docs, the MCP docs, the OpenAPI file or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 199,
      "popularity": {
        "githubStars": 65215,
        "npmWeekly": 6282,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://nocodb.com/docs/apis-and-mcp",
      "llmsTxt": "https://nocodb.com/llms.txt",
      "openapi": "https://nocodb.com/apis/v3/swagger-v3.json",
      "capabilities": [
        "sheets.records",
        "sheets.read",
        "sheets.write",
        "sheets.tables",
        "sheets.formulas"
      ],
      "tags": [
        "official",
        "hosted",
        "self-hosted",
        "mcp",
        "source-available",
        "free-tier",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "javascript",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 75.7,
        "grade": "BB",
        "agentReady": true,
        "rank": 37,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 74,
          "maintenance": 87,
          "payments": 30,
          "reliability": 97,
          "schema": 85,
          "security": 71,
          "transparency": 76
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "API tokens and MCP connections are limited by permission category and by base, and an MCP connection registers only the tools it is allowed. The v3 REST API has a public OpenAPI file. Requests are capped at 5 a second per user, REST writes take 10 records a call, and the Free plan stops at 1,000 API calls a month.",
        "bestFor": "Teams that want Airtable-style typed records with the option to self-host, and an agent that reads, filters and writes records or builds schema through MCP with a narrow allowlist.",
        "strengths": [
          "Fine-grained API tokens carry eight permission categories at Read or Read and write, a list of bases, an expiry and an on-off switch",
          "An MCP connection lists only the tools its owner allowed, by section at Read, Read and write, or Read, write and delete",
          "Public OpenAPI 3.1 file for the v3 REST API with 114 operations, plus llms.txt and a Markdown copy of every docs page",
          "The MCP record tools in the source set `readOnlyHint` and `destructiveHint`, and `deleteRecords` is marked destructive",
          "status.nocodb.com lists no incident from July to October 2026 and shows 99.9907 per cent for the application over 90 days"
        ],
        "weaknesses": [
          "5 requests a second per user on every plan, shared by all of that user's tokens, with a 30-second block after a 429",
          "REST create, update and upsert calls take 10 records each by default",
          "The Free plan allows 1,000 API calls a month and 1,000 records, and workspace audit logs start at the Scale plan",
          "The licence changed from AGPL-3.0 to the Sustainable Use License in January 2026, which is not OSI-approved",
          "No security.txt and no bug bounty were found, and the MCP server is not in the official MCP registry"
        ],
        "agentNotes": [
          "Create a fine-grained token limited to the bases and categories the task needs. Send it as `xc-token` or as a Bearer token",
          "Stay under 5 requests a second across all tokens of one user. After a 429, honour `Retry-After` or wait 30 seconds",
          "Send REST writes in batches of 10 records. The MCP record tools take up to 100, counted as one API call per 10 records",
          "Write date filters with a sub-operator, such as `(due_date,eq,exactDate,2026-06-01)`, and put no space after `~and` or `~or`",
          "Use `/records/upsert` with a merge key so a repeated write updates the record instead of adding a duplicate"
        ],
        "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": 75.7
          }
        ],
        "editorialScores": {
          "ergonomics": 74,
          "maintenance": 87,
          "payments": 30,
          "reliability": 97,
          "schema": 85,
          "security": 71,
          "transparency": 66
        },
        "provenanceScore": 86
      },
      "connect": {
        "install": "docker run -d \\\n  --name noco \\\n  -v \"$(pwd)\"/nocodb:/usr/app/data/ \\\n  -p 8080:8080 \\\n  nocodb/nocodb:latest",
        "http": "curl -H \"xc-token: nc_pat_...\" https://your-nocodb.com/api/v3/...",
        "config": {
          "mcpServers": {
            "NocoDB MCP": {
              "args": [
                "mcp-remote",
                "https://your-domain.com/mcp/\u003cncId\u003e",
                "--header",
                "x-api-key: \u003cncToken\u003e"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/sheets.records",
        "tool": "https://letme.dev/nocodb"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Plus",
          "unit": "seat-month",
          "usd": 12,
          "note": "billed annually, at most 9 paid seats ($108 a month), 100,000 API calls a month"
        },
        {
          "item": "Business",
          "unit": "seat-month",
          "usd": 24,
          "note": "billed annually, at most 9 paid seats ($216 a month), 1,000,000 API calls a month"
        },
        {
          "item": "Scale",
          "unit": "seat-month",
          "usd": 45,
          "note": "billed annually, 3 seats minimum, 5,000,000 API calls a month"
        }
      ],
      "provenance": {
        "legalEntity": "NocoDB Inc (doing business as NocoDB)",
        "domain": "nocodb.com",
        "domainRegistered": "2021-04-14",
        "endpointOnVendorDomain": true,
        "terms": "https://nocodb.com/docs/legal/terms-of-service",
        "privacy": "https://nocodb.com/docs/legal/privacy",
        "statusPage": "https://status.nocodb.com",
        "changelog": "https://nocodb.com/docs/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Service (last updated 14 October 2025) and the privacy policy (last updated 5 August 2025) name NocoDB Inc, doing business as NocoDB, and cover the website, the hosted services and the APIs. No postal address was found in the parts we read.",
          "The REST API and the MCP server answer at app.nocodb.com, a nocodb.com subdomain. A self-hosted instance answers on the owner's own domain.",
          "nocodb.com/.well-known/security.txt, nocodb.com/security.txt and app.nocodb.com/.well-known/security.txt return 404. SECURITY.md in the repository sends reports to security@nocodb.com.",
          "RDAP for nocodb.com gives a registration date of 2021-04-14.",
          "Organisations on an order form are governed by the Master Subscription Agreement (last updated 14 October 2025), which states SOC 2 Type II compliance with the report on request. The Service Level Agreement (last updated 6 October 2025) commits to 99.9 per cent monthly uptime for Enterprise plans."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/nocodb.json",
      "live": {
        "slug": "nocodb",
        "probe": {
          "target": "https://app.nocodb.com",
          "method": "get",
          "lastAt": "2026-10-08T19:52:56.845940178Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 286,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 299,
          "p95ms24h": 343,
          "samples24h": 27,
          "samples30d": 27,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 27,
              "ok": 27
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.nocodb.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:38:50.166052501Z"
        },
        "pages": [
          {
            "url": "https://nocodb.com/docs/changelog",
            "kind": "changelog",
            "status": 404,
            "checkedAt": "2026-10-08T18:22:20.469505035Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://nocodb.com/docs/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:22:22.574237418Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0c382788e85c"
          },
          {
            "url": "https://nocodb.com/docs/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:22:24.679133564Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "78a7b9c3e6ab"
          }
        ],
        "updatedAt": "2026-10-08T19:52:56.845940178Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Formagrid Inc (Airtable)",
        "b": "NocoDB Inc",
        "name": "Vendor"
      },
      {
        "a": "https://api.airtable.com",
        "b": "https://app.nocodb.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, Streamable 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": "Sustainable Use License 1.0 since January 2026 (source-available, not OSI-approved; AGPL-3.0 before). NocoDB Cloud is a proprietary service under NocoDB's Terms of Service",
        "name": "Licence"
      },
      {
        "a": "40",
        "b": "199",
        "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": "2025-10-14",
        "name": "Terms last updated"
      },
      {
        "a": "2026-07-15",
        "b": "2026-03-20",
        "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": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2.2k stars, 569k npm/wk",
        "b": "65k stars, 6.3k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "NocoDB scores 75.7 (BB) on agent readiness against Airtable's 70.9 (BB), and leads in 4 of 7 scored categories. Airtable leads on security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Airtable or NocoDB?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Airtable and NocoDB need an API key?"
      },
      {
        "answer": "Yes. Airtable has a hosted endpoint at https://api.airtable.com and NocoDB at https://app.nocodb.com.",
        "question": "Can an agent call Airtable and NocoDB without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 78 against 71",
          "Transparency \u0026 trust, 86 against 76"
        ],
        "also": null,
        "goodFor": "Teams that already keep operational data in Airtable and want an agent to read, filter and update typed records or build bases through MCP.",
        "slug": "airtable",
        "watchFor": "5 requests a second per base, and a 429 blocks further requests for 30 seconds"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 85 against 73",
          "Agent ergonomics, 74 against 68",
          "Maintenance \u0026 community, 87 against 49"
        ],
        "also": null,
        "goodFor": "Teams that want Airtable-style typed records with the option to self-host, and an agent that reads, filters and writes records or builds schema through MCP with a narrow allowlist.",
        "slug": "nocodb",
        "watchFor": "5 requests a second per user on every plan, shared by all of that user's tokens, with a 30-second block after a 429"
      }
    ],
    "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-nocodb.json",
        "title": "Coda (Superhuman Docs) vs NocoDB",
        "url": "https://www.anchorterminal.com/compare/coda-vs-nocodb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-sheets-api-vs-nocodb.json",
        "title": "Google Sheets API vs NocoDB",
        "url": "https://www.anchorterminal.com/compare/google-sheets-api-vs-nocodb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-nocodb.json",
        "title": "Microsoft Excel (Microsoft Graph workbook API) vs NocoDB",
        "url": "https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-nocodb"
      },
      {
        "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-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/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-nocodb.json",
        "title": "Baserow vs NocoDB",
        "url": "https://www.anchorterminal.com/compare/baserow-vs-nocodb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grist-vs-nocodb.json",
        "title": "Grist vs NocoDB",
        "url": "https://www.anchorterminal.com/compare/grist-vs-nocodb"
      },
      {
        "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/nocodb-vs-smartsheet.json",
        "title": "NocoDB vs Smartsheet API + MCP",
        "url": "https://www.anchorterminal.com/compare/nocodb-vs-smartsheet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nocodb-vs-teable.json",
        "title": "NocoDB vs Teable",
        "url": "https://www.anchorterminal.com/compare/nocodb-vs-teable"
      }
    ],
    "scores": [
      {
        "airtable": 94,
        "by": 3,
        "edge": "nocodb",
        "key": "reliability",
        "name": "Reliability",
        "nocodb": 97,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "airtable": 73,
        "by": 12,
        "edge": "nocodb",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "nocodb": 85,
        "weight": 13
      },
      {
        "airtable": 68,
        "by": 6,
        "edge": "nocodb",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "nocodb": 74,
        "weight": 13
      },
      {
        "airtable": 78,
        "by": 7,
        "edge": "airtable",
        "key": "security",
        "name": "Security \u0026 auth",
        "nocodb": 71,
        "weight": 14
      },
      {
        "airtable": 30,
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "nocodb": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "airtable": 49,
        "by": 38,
        "edge": "nocodb",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "nocodb": 87,
        "weight": 7
      },
      {
        "airtable": 86,
        "by": 10,
        "edge": "airtable",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "nocodb": 76,
        "weight": 7
      }
    ],
    "summary": "NocoDB scores 75.7 (BB) on agent readiness against Airtable's 70.9 (BB), and leads in 4 of 7 scored categories. Airtable leads on security \u0026 auth and transparency \u0026 trust. 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.",
      "nocodb": "API tokens and MCP connections are limited by permission category and by base, and an MCP connection registers only the tools it is allowed. The v3 REST API has a public OpenAPI file. Requests are capped at 5 a second per user, REST writes take 10 records a call, and the Free plan stops at 1,000 API calls a month."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/airtable-vs-nocodb",
    "json": "https://www.anchorterminal.com/compare/airtable-vs-nocodb.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/airtable-vs-nocodb.md",
    "slim": "https://www.anchorterminal.com/compare/airtable-vs-nocodb.min.md"
  },
  "markdown": "NocoDB scores 75.7 (BB) on agent readiness against Airtable's 70.9 (BB), and leads in 4 of 7 scored categories. Airtable leads on security \u0026 auth and transparency \u0026 trust. 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- NocoDB: grade BB, 75.7/100, rank #37 of 722. Markdown https://www.anchorterminal.com/tools/nocodb.md · JSON https://www.anchorterminal.com/api/v1/tools/nocodb.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- Security \u0026 auth, 78 against 71\n- Transparency \u0026 trust, 86 against 76\n\nWatch for: 5 requests a second per base, and a 429 blocks further requests for 30 seconds\n\n### NocoDB (BB)\n\nGood for: Teams that want Airtable-style typed records with the option to self-host, and an agent that reads, filters and writes records or builds schema through MCP with a narrow allowlist.\n\nAhead on:\n- Schema \u0026 documentation, 85 against 73\n- Agent ergonomics, 74 against 68\n- Maintenance \u0026 community, 87 against 49\n\nWatch for: 5 requests a second per user on every plan, shared by all of that user's tokens, with a 30-second block after a 429\n\n\n## Score by category\n\n| Category | Weight | Airtable | NocoDB | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 94 | 97 | NocoDB +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 73 | 85 | NocoDB +12 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 74 | NocoDB +6 |\n| Security \u0026 auth | 14% (17.5 this run) | 78 | 71 | Airtable +7 |\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 | 87 | NocoDB +38 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 86 | 76 | Airtable +10 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **70.9 · BB** | **75.7 · BB** | |\n\n## Facts side by side\n\n| Fact | Airtable | NocoDB |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Formagrid Inc (Airtable) | NocoDB Inc |\n| Hosted endpoint | `https://api.airtable.com` | `https://app.nocodb.com` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable 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 | Sustainable Use License 1.0 since January 2026 (source-available, not OSI-approved; AGPL-3.0 before). NocoDB Cloud is a proprietary service under NocoDB's Terms of Service |\n| Tools exposed | 40 | 199 |\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 | 2025-10-14 |\n| Privacy policy last updated | 2026-07-15 | 2026-03-20 |\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 | yes |\n| Popularity | 2.2k stars, 569k npm/wk | 65k stars, 6.3k 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**NocoDB.** API tokens and MCP connections are limited by permission category and by base, and an MCP connection registers only the tools it is allowed. The v3 REST API has a public OpenAPI file. Requests are capped at 5 a second per user, REST writes take 10 records a call, and the Free plan stops at 1,000 API calls a month.\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### NocoDB\n\n1. Create a fine-grained token limited to the bases and categories the task needs. Send it as `xc-token` or as a Bearer token\n2. Stay under 5 requests a second across all tokens of one user. After a 429, honour `Retry-After` or wait 30 seconds\n3. Send REST writes in batches of 10 records. The MCP record tools take up to 100, counted as one API call per 10 records\n4. Write date filters with a sub-operator, such as `(due_date,eq,exactDate,2026-06-01)`, and put no space after `~and` or `~or`\n5. Use `/records/upsert` with a merge key so a repeated write updates the record instead of adding a duplicate\n\n## Questions\n\n### Which is better for AI agents, Airtable or NocoDB?\n\nNocoDB scores 75.7 (BB) on agent readiness against Airtable's 70.9 (BB), and leads in 4 of 7 scored categories. Airtable leads on security \u0026 auth and transparency \u0026 trust.\n\n### Do Airtable and NocoDB need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Airtable and NocoDB without installing anything?\n\nYes. Airtable has a hosted endpoint at https://api.airtable.com and NocoDB at https://app.nocodb.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/airtable-vs-nocodb.json, and with the fewest tokens: https://www.anchorterminal.com/compare/airtable-vs-nocodb.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"airtable\", \"b\": \"nocodb\"}`. From a terminal: `anchor compare airtable nocodb`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/airtable.json and https://www.anchorterminal.com/api/v1/tools/nocodb.json\n\n## Other comparisons with Airtable or NocoDB\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 NocoDB](https://www.anchorterminal.com/compare/coda-vs-nocodb.md)\n- [Google Sheets API vs NocoDB](https://www.anchorterminal.com/compare/google-sheets-api-vs-nocodb.md)\n- [Microsoft Excel (Microsoft Graph workbook API) vs NocoDB](https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-nocodb.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 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- [Airtable vs Teable](https://www.anchorterminal.com/compare/airtable-vs-teable.md)\n- [Baserow vs NocoDB](https://www.anchorterminal.com/compare/baserow-vs-nocodb.md)\n- [Grist vs NocoDB](https://www.anchorterminal.com/compare/grist-vs-nocodb.md)\n- [NocoDB vs SeaTable](https://www.anchorterminal.com/compare/nocodb-vs-seatable.md)\n- [NocoDB vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/nocodb-vs-smartsheet.md)\n- [NocoDB vs Teable](https://www.anchorterminal.com/compare/nocodb-vs-teable.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 NocoDB",
        "url": ""
      }
    ],
    "description": "NocoDB scores 75.7 (BB) on agent readiness against Airtable's 70.9 (BB), and leads in 4 of 7 scored categories. Airtable leads on security \u0026 auth and transparency \u0026 trust. Both do sheets records. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Airtable BB 70.9",
      "NocoDB BB 75.7",
      "scores"
    ],
    "h1": "Airtable vs NocoDB",
    "image": "https://www.anchorterminal.com/assets/og/compare-airtable-vs-nocodb.png",
    "path": "/compare/airtable-vs-nocodb",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Airtable vs NocoDB for AI agents, BB 70.9 vs BB 75.7 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/airtable-vs-nocodb"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 630
  },
  "version": 1
}
