{
  "data": {
    "a": {
      "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-08T20:21:21.236684239Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 300,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 300,
          "p95ms24h": 343,
          "samples24h": 32,
          "samples30d": 32,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 32,
              "ok": 32
            }
          ]
        },
        "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-08T20:21:21.236684239Z"
      }
    },
    "answer": "NocoDB scores 75.7 (BB) on agent readiness against Smartsheet API + MCP's 67.6 (B), and leads in 4 of 7 scored categories. Smartsheet API + MCP leads on transparency \u0026 trust.",
    "b": {
      "slug": "smartsheet",
      "name": "Smartsheet API + MCP",
      "vendor": "Smartsheet Inc.",
      "vendorUrl": "https://www.smartsheet.com",
      "kind": "http-api",
      "category": "spreadsheets",
      "summary": "Smartsheet is a hosted work management product built on sheets with typed columns, rows, formulas, reports and dashboards. Agents reach it through a REST API (187 operations) and a hosted MCP server, both limited to Business plans and above.",
      "url": "https://www.anchorterminal.com/tools/smartsheet",
      "markdownUrl": "https://www.anchorterminal.com/tools/smartsheet.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/smartsheet.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/smartsheet.json",
      "repo": "https://github.com/smartsheet/smartsheet-python-sdk",
      "license": "Proprietary service under Smartsheet's User Agreement and Developer Agreement. The SDKs on GitHub are Apache-2.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.smartsheet.com/2.0",
      "packages": [
        {
          "registry": "pypi",
          "name": "smartsheet-python-sdk"
        },
        {
          "registry": "npm",
          "name": "smartsheet"
        }
      ],
      "auth": "mixed",
      "authNotes": "Access needs a licensed user on a Business plan or higher. A user makes a raw API token in Personal Settings and sends it as a Bearer token. It has no scopes and carries all of that user's access. Apps acting for other users register in Developer Tools (Smartsheet approves the registration request) and use the OAuth 2.0 authorisation code grant with any of 17 scopes such as READ_SHEETS and WRITE_SHEETS. Access tokens last about 7 days and refresh. Scopes can't exceed the user's sharing level on a sheet. The MCP server takes OAuth from ChatGPT, Claude, Gemini Enterprise Plus and Microsoft 365 Copilot, and a Bearer API token from other clients. A System Admin's token can act as any user through the `Assume-User` header.",
      "pricing": "paid",
      "pricingNotes": "API and MCP access start at the Business plan, $24 a member a month billed monthly or $19 billed yearly, with a minimum of three members. Pro ($12, or $9 yearly) has no API calls. Enterprise and Advanced Work Management are priced through sales. API calls carry no separate charge. A 30-day trial needs no card, but we couldn't confirm that a trial account can make API tokens. No developer sandbox was found in the reviewed documentation (https://www.smartsheet.com/pricing, checked 2026-10-08).",
      "priceSummary": "$19 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OpenAPI spec or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 83,
      "popularity": {
        "githubStars": 82,
        "npmWeekly": 47484,
        "pypiWeekly": 311787,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.smartsheet.com",
      "llmsTxt": "https://developers.smartsheet.com/llms.txt",
      "openapi": "https://developers.smartsheet.com/_bundle/api/smartsheet/openapi.yaml",
      "capabilities": [
        "sheets.read",
        "sheets.write",
        "sheets.records",
        "sheets.formulas",
        "automation.workflows"
      ],
      "tags": [
        "official",
        "hosted",
        "closed-source",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "python",
        "typescript",
        "java",
        "csharp",
        "status-page",
        "soc2",
        "sla"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.6,
        "grade": "B",
        "agentReady": false,
        "rank": 205,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 74,
          "maintenance": 80,
          "payments": 20,
          "reliability": 65,
          "schema": 88,
          "security": 66,
          "transparency": 82
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The REST API has a public OpenAPI 3.0.3 spec with 187 operations, Markdown docs and llms.txt, and the hosted MCP server loads its 83 documented tools by toolset. API access needs a Business plan or higher, and the status page lists eight incidents marked major or critical between 15 July and 21 September 2026.",
        "bestFor": "An agent working inside a company that already runs projects in Smartsheet on a Business plan or above, especially row-level reads and batched writes, workflows and dashboards.",
        "strengths": [
          "Public OpenAPI 3.0.3 spec with 187 operations, code samples on 180 of them, plus llms.txt and a Markdown copy of every docs page",
          "Hosted MCP server in three regions (US, EU, Australia) with toolsets, so a client loads tools by domain through `search_tools`",
          "OAuth 2.0 with 17 scopes, including READ_SHEETS for a read-only grant, and sheet sharing levels that scopes can't override",
          "Bulk row writes of up to 500 rows a call with optional partial success and per-row failure details",
          "Dated API changelog (latest 6 October 2026) with DEPRECATION and SUNSET entries and migration guides"
        ],
        "weaknesses": [
          "API and MCP access need a Business plan or higher, from $19 a member a month billed yearly with a three-member minimum",
          "Eight status incidents marked major or critical between 15 July and 21 September 2026, four of them stopping sheets from loading in the US region",
          "A raw API token carries all of its user's access with no scopes, and it's the credential the docs give for Claude Code, Cursor, Codex and Gemini CLI",
          "No idempotency keys, and 429 responses carry no documented Retry-After header",
          "security.txt expired on 1 July 2026, and no prompt-injection guidance was found in the MCP docs"
        ],
        "agentNotes": [
          "Send writes to one sheet one at a time. Parallel updates with the same token return error 4004",
          "Batch row changes, up to 500 rows a call, and add `allowPartialSuccess=true` to get per-row failures instead of a failed batch",
          "On error 4003 (HTTP 429) wait at least 60 seconds before retrying. The limit is 300 requests a minute per token, 30 for attachments and cell history",
          "Through MCP, call `get_columns` before filtering or writing. Column names are case-sensitive and guesses fail validation",
          "Use the regional host that matches the account (api.smartsheet.com, .eu or .au). Tokens don't work across regions"
        ],
        "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": 67.6
          }
        ],
        "editorialScores": {
          "ergonomics": 74,
          "maintenance": 80,
          "payments": 20,
          "reliability": 65,
          "schema": 88,
          "security": 66,
          "transparency": 72
        },
        "provenanceScore": 92
      },
      "connect": {
        "install": "pip install smartsheet-python-sdk",
        "http": "curl \"https://api.smartsheet.com/2.0/workspaces?maxItems=100\" \\\n  -H \"Authorization: Bearer $SMARTSHEET_API_TOKEN\"",
        "claudeCode": "claude mcp add --transport http smartsheet-mcp https://mcp.smartsheet.com -H \"Authorization:Bearer ${SMARTSHEET_API_TOKEN}\"",
        "config": {
          "mcpServers": {
            "smartsheet-mcp": {
              "headers": {
                "Authorization": "Bearer ${SMARTSHEET_API_TOKEN}"
              },
              "httpUrl": "https://mcp.smartsheet.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/sheets.read",
        "tool": "https://letme.dev/smartsheet"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Business plan (lowest plan with API and MCP access)",
          "unit": "seat-month",
          "usd": 19,
          "note": "billed yearly, $24 monthly, 3 members minimum"
        },
        {
          "item": "Pro plan (no API calls)",
          "unit": "seat-month",
          "usd": 9,
          "note": "billed yearly, $12 monthly, up to 10 members"
        }
      ],
      "provenance": {
        "legalEntity": "Smartsheet Inc.",
        "domain": "smartsheet.com",
        "domainRegistered": "2001-04-15",
        "endpointOnVendorDomain": true,
        "terms": "https://www.smartsheet.com/legal/developer-program-agreement",
        "privacy": "https://www.smartsheet.com/legal/privacy",
        "statusPage": "https://status.smartsheet.com",
        "changelog": "https://developers.smartsheet.com/api/smartsheet/changelog",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "The User Agreement (last updated 3 April 2026) and the privacy notice (20 May 2026) give Smartsheet Inc., 500 108th Ave NE, Suite 200, Bellevue, WA 98004.",
          "The Developer Agreement governing the API and SDKs was last updated 1 July 2021. Revisions take effect 15 days after posting.",
          "www.smartsheet.com/.well-known/security.txt names security@smartsheet.com and the bug bounty page, with Expires 2026-07-01, three months before this check.",
          "The API answers at api.smartsheet.com and the MCP server at mcp.smartsheet.com, with regional hosts on smartsheet.eu and smartsheet.au.",
          "RDAP for smartsheet.com gives a registration date of 2001-04-15."
        ],
        "score": 92
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/smartsheet.json",
      "live": {
        "slug": "smartsheet",
        "probe": {
          "target": "https://api.smartsheet.com/2.0",
          "method": "get",
          "lastAt": "2026-10-08T20:21:28.1970065Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 422,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 410,
          "p95ms24h": 467,
          "samples24h": 55,
          "samples30d": 55,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 55,
              "ok": 55
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.smartsheet.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T20:22:53.635673966Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "smartsheet/smartsheet-python-sdk",
            "version": "v4.4.0",
            "released": "2026-08-12",
            "seenAt": "2026-10-08T16:29:43.071236352Z"
          },
          {
            "registry": "npm",
            "name": "smartsheet",
            "version": "5.3.0",
            "seenAt": "2026-10-08T16:29:42.658666425Z"
          },
          {
            "registry": "pypi",
            "name": "smartsheet-python-sdk",
            "version": "4.4.0",
            "released": "2026-08-12",
            "seenAt": "2026-10-08T16:29:42.474478981Z"
          }
        ],
        "githubStars": 82,
        "npmWeekly": 47484,
        "pypiWeekly": 311787,
        "securityTxt": {
          "url": "https://smartsheet.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2026-07-01T04:00:00.000Z",
          "checkedAt": "2026-10-08T15:38:51.088332618Z"
        },
        "pages": [
          {
            "url": "https://developers.smartsheet.com/api/smartsheet/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:18:00.810328989Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "295f068fdad5"
          },
          {
            "url": "https://www.smartsheet.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:35.945478338Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "15466e0b403d"
          },
          {
            "url": "https://www.smartsheet.com/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:35.349940575Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b189b00ce573"
          },
          {
            "url": "https://www.smartsheet.com/legal/developer-program-agreement",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:31.7907332Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ae127c8430bb"
          }
        ],
        "updatedAt": "2026-10-08T20:22:53.635673966Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "NocoDB Inc",
        "b": "Smartsheet Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://app.nocodb.com",
        "b": "https://api.smartsheet.com/2.0",
        "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": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "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",
        "b": "Proprietary service under Smartsheet's User Agreement and Developer Agreement. The SDKs on GitHub are Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "199",
        "b": "83",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-29",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "2025-10-14",
        "b": "2021-07-01",
        "name": "Terms last updated"
      },
      {
        "a": "2026-03-20",
        "b": "2026-05-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": "yes",
        "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": "65k stars, 6.3k npm/wk",
        "b": "82 stars, 47k npm/wk, 312k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "NocoDB scores 75.7 (BB) on agent readiness against Smartsheet API + MCP's 67.6 (B), and leads in 4 of 7 scored categories. Smartsheet API + MCP leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, NocoDB or Smartsheet API + MCP?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do NocoDB and Smartsheet API + MCP need an API key?"
      },
      {
        "answer": "Yes. NocoDB has a hosted endpoint at https://app.nocodb.com and Smartsheet API + MCP at https://api.smartsheet.com/2.0.",
        "question": "Can an agent call NocoDB and Smartsheet API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 97 against 65",
          "Security \u0026 auth, 71 against 66",
          "Payments \u0026 pricing, 30 against 20",
          "Maintenance \u0026 community, 87 against 80"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "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"
      },
      {
        "aheadOn": [
          "Transparency \u0026 trust, 82 against 76"
        ],
        "also": null,
        "goodFor": "An agent working inside a company that already runs projects in Smartsheet on a Business plan or above, especially row-level reads and batched writes, workflows and dashboards.",
        "slug": "smartsheet",
        "watchFor": "API and MCP access need a Business plan or higher, from $19 a member a month billed yearly with a three-member minimum"
      }
    ],
    "job": {
      "capability": "sheets.records",
      "name": "Sheets records"
    },
    "others": [
      {
        "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/coda-vs-smartsheet.json",
        "title": "Coda (Superhuman Docs) vs Smartsheet API + MCP",
        "url": "https://www.anchorterminal.com/compare/coda-vs-smartsheet"
      },
      {
        "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/google-sheets-api-vs-smartsheet.json",
        "title": "Google Sheets API vs Smartsheet API + MCP",
        "url": "https://www.anchorterminal.com/compare/google-sheets-api-vs-smartsheet"
      },
      {
        "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/microsoft-excel-graph-vs-smartsheet.json",
        "title": "Microsoft Excel (Microsoft Graph workbook API) vs Smartsheet API + MCP",
        "url": "https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-smartsheet"
      },
      {
        "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-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-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"
      },
      {
        "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/grist-vs-smartsheet.json",
        "title": "Grist vs Smartsheet API + MCP",
        "url": "https://www.anchorterminal.com/compare/grist-vs-smartsheet"
      },
      {
        "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-teable.json",
        "title": "NocoDB vs Teable",
        "url": "https://www.anchorterminal.com/compare/nocodb-vs-teable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/seatable-vs-smartsheet.json",
        "title": "SeaTable vs Smartsheet API + MCP",
        "url": "https://www.anchorterminal.com/compare/seatable-vs-smartsheet"
      }
    ],
    "scores": [
      {
        "by": 32,
        "edge": "nocodb",
        "key": "reliability",
        "name": "Reliability",
        "nocodb": 97,
        "smartsheet": 65,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 3,
        "edge": "smartsheet",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "nocodb": 85,
        "smartsheet": 88,
        "weight": 13
      },
      {
        "by": 0,
        "edge": "",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "nocodb": 74,
        "smartsheet": 74,
        "weight": 13
      },
      {
        "by": 5,
        "edge": "nocodb",
        "key": "security",
        "name": "Security \u0026 auth",
        "nocodb": 71,
        "smartsheet": 66,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "nocodb",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "nocodb": 30,
        "smartsheet": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "edge": "nocodb",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "nocodb": 87,
        "smartsheet": 80,
        "weight": 7
      },
      {
        "by": 6,
        "edge": "smartsheet",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "nocodb": 76,
        "smartsheet": 82,
        "weight": 7
      }
    ],
    "summary": "NocoDB scores 75.7 (BB) on agent readiness against Smartsheet API + MCP's 67.6 (B), and leads in 4 of 7 scored categories. Smartsheet API + MCP leads on transparency \u0026 trust. Both do sheets records.",
    "verdicts": {
      "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.",
      "smartsheet": "The REST API has a public OpenAPI 3.0.3 spec with 187 operations, Markdown docs and llms.txt, and the hosted MCP server loads its 83 documented tools by toolset. API access needs a Business plan or higher, and the status page lists eight incidents marked major or critical between 15 July and 21 September 2026."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/nocodb-vs-smartsheet",
    "json": "https://www.anchorterminal.com/compare/nocodb-vs-smartsheet.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/nocodb-vs-smartsheet.md",
    "slim": "https://www.anchorterminal.com/compare/nocodb-vs-smartsheet.min.md"
  },
  "markdown": "NocoDB scores 75.7 (BB) on agent readiness against Smartsheet API + MCP's 67.6 (B), and leads in 4 of 7 scored categories. Smartsheet API + MCP leads on transparency \u0026 trust. Both do sheets records.\n\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- Smartsheet API + MCP: grade B, 67.6/100, rank #205 of 722. Markdown https://www.anchorterminal.com/tools/smartsheet.md · JSON https://www.anchorterminal.com/api/v1/tools/smartsheet.json\n\n## Which one, for what\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- Reliability, 97 against 65\n- Security \u0026 auth, 71 against 66\n- Payments \u0026 pricing, 30 against 20\n- Maintenance \u0026 community, 87 against 80\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\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### Smartsheet API + MCP (B)\n\nGood for: An agent working inside a company that already runs projects in Smartsheet on a Business plan or above, especially row-level reads and batched writes, workflows and dashboards.\n\nAhead on:\n- Transparency \u0026 trust, 82 against 76\n\nWatch for: API and MCP access need a Business plan or higher, from $19 a member a month billed yearly with a three-member minimum\n\n\n## Score by category\n\n| Category | Weight | NocoDB | Smartsheet API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 97 | 65 | NocoDB +32 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 88 | Smartsheet API + MCP +3 |\n| Agent ergonomics | 13% (16.2 this run) | 74 | 74 | even |\n| Security \u0026 auth | 14% (17.5 this run) | 71 | 66 | NocoDB +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 20 | NocoDB +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 87 | 80 | NocoDB +7 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 76 | 82 | Smartsheet API + MCP +6 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **75.7 · BB** | **67.6 · B** | |\n\n## Facts side by side\n\n| Fact | NocoDB | Smartsheet API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | NocoDB Inc | Smartsheet Inc. |\n| Hosted endpoint | `https://app.nocodb.com` | `https://api.smartsheet.com/2.0` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | 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 | Proprietary service under Smartsheet's User Agreement and Developer Agreement. The SDKs on GitHub are Apache-2.0 |\n| Tools exposed | 199 | 83 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-09-29 | 2026-10-06 |\n| Terms last updated | 2025-10-14 | 2021-07-01 |\n| Privacy policy last updated | 2026-03-20 | 2026-05-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 | yes |\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 | 65k stars, 6.3k npm/wk | 82 stars, 47k npm/wk, 312k PyPI/wk |\n\n## Verdicts\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**Smartsheet API + MCP.** The REST API has a public OpenAPI 3.0.3 spec with 187 operations, Markdown docs and llms.txt, and the hosted MCP server loads its 83 documented tools by toolset. API access needs a Business plan or higher, and the status page lists eight incidents marked major or critical between 15 July and 21 September 2026.\n\n## Before you call either\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### Smartsheet API + MCP\n\n1. Send writes to one sheet one at a time. Parallel updates with the same token return error 4004\n2. Batch row changes, up to 500 rows a call, and add `allowPartialSuccess=true` to get per-row failures instead of a failed batch\n3. On error 4003 (HTTP 429) wait at least 60 seconds before retrying. The limit is 300 requests a minute per token, 30 for attachments and cell history\n4. Through MCP, call `get_columns` before filtering or writing. Column names are case-sensitive and guesses fail validation\n5. Use the regional host that matches the account (api.smartsheet.com, .eu or .au). Tokens don't work across regions\n\n## Questions\n\n### Which is better for AI agents, NocoDB or Smartsheet API + MCP?\n\nNocoDB scores 75.7 (BB) on agent readiness against Smartsheet API + MCP's 67.6 (B), and leads in 4 of 7 scored categories. Smartsheet API + MCP leads on transparency \u0026 trust.\n\n### Do NocoDB and Smartsheet API + MCP need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call NocoDB and Smartsheet API + MCP without installing anything?\n\nYes. NocoDB has a hosted endpoint at https://app.nocodb.com and Smartsheet API + MCP at https://api.smartsheet.com/2.0.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/nocodb-vs-smartsheet.json, and with the fewest tokens: https://www.anchorterminal.com/compare/nocodb-vs-smartsheet.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"nocodb\", \"b\": \"smartsheet\"}`. From a terminal: `anchor compare nocodb smartsheet`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/nocodb.json and https://www.anchorterminal.com/api/v1/tools/smartsheet.json\n\n## Other comparisons with NocoDB or Smartsheet API + MCP\n\n- [Coda (Superhuman Docs) vs NocoDB](https://www.anchorterminal.com/compare/coda-vs-nocodb.md)\n- [Coda (Superhuman Docs) vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/coda-vs-smartsheet.md)\n- [Google Sheets API vs NocoDB](https://www.anchorterminal.com/compare/google-sheets-api-vs-nocodb.md)\n- [Google Sheets API vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/google-sheets-api-vs-smartsheet.md)\n- [Microsoft Excel (Microsoft Graph workbook API) vs NocoDB](https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-nocodb.md)\n- [Microsoft Excel (Microsoft Graph workbook API) vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/microsoft-excel-graph-vs-smartsheet.md)\n- [Smartsheet API + MCP vs Teable](https://www.anchorterminal.com/compare/smartsheet-vs-teable.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 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- [Grist vs NocoDB](https://www.anchorterminal.com/compare/grist-vs-nocodb.md)\n- [Grist vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/grist-vs-smartsheet.md)\n- [NocoDB vs SeaTable](https://www.anchorterminal.com/compare/nocodb-vs-seatable.md)\n- [NocoDB vs Teable](https://www.anchorterminal.com/compare/nocodb-vs-teable.md)\n- [SeaTable vs Smartsheet API + MCP](https://www.anchorterminal.com/compare/seatable-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": "NocoDB vs Smartsheet API + MCP",
        "url": ""
      }
    ],
    "description": "NocoDB scores 75.7 (BB) on agent readiness against Smartsheet API + MCP's 67.6 (B), and leads in 4 of 7 scored categories. Smartsheet API + MCP leads on transparency \u0026 trust. Both do sheets records. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "NocoDB BB 75.7",
      "Smartsheet API + MCP B 67.6",
      "scores"
    ],
    "h1": "NocoDB vs Smartsheet API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-nocodb-vs-smartsheet.png",
    "path": "/compare/nocodb-vs-smartsheet",
    "published": "2026-10-01",
    "section": "tools",
    "title": "NocoDB vs Smartsheet API + MCP for AI agents, BB 75.7 vs B 67.6",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/nocodb-vs-smartsheet"
  },
  "tokens": {
    "markdown": 2300,
    "slim": 730
  },
  "version": 1
}
