{
  "data": {
    "a": {
      "slug": "numeral",
      "name": "Numeral",
      "vendor": "Numeral Two, Inc.",
      "vendorUrl": "https://www.numeral.com",
      "kind": "http-api",
      "category": "tax",
      "summary": "Numeral is a hosted sales tax and VAT compliance service from Numeral Two, Inc. Its REST API calculates tax, records transactions and refunds, and manages exempt customers, and Numeral registers and files. A remote MCP server reads the account.",
      "url": "https://www.anchorterminal.com/tools/numeral",
      "markdownUrl": "https://www.anchorterminal.com/tools/numeral.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/numeral.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/numeral.json",
      "repo": "https://github.com/NumeralHQ/numeral-tax-go",
      "license": "Proprietary service under Numeral's terms of service. The Go, Python and Node SDKs are Apache-2.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.numeralhq.com",
      "packages": [
        {
          "registry": "go",
          "name": "github.com/NumeralHQ/numeral-tax-go"
        },
        {
          "registry": "pypi",
          "name": "numeral-tax"
        },
        {
          "registry": "npm",
          "name": "numeral-tax"
        }
      ],
      "auth": "api-key",
      "authNotes": "The API and the MCP server take a secret API key as a Bearer token, `sk_test_` for the sandbox or `sk_prod_` for live data. Keys are created and revoked in the dashboard at dashboard.numeralhq.com under Developers. No scopes, expiry or OAuth flow were found, and publishable keys are rejected by the MCP server. Dashboard access starts with the get-started form or a demo, and the product page says to book a demo before generating test keys. MCP write tools are enabled per account on request.",
      "pricing": "paid",
      "pricingNotes": "Professional is $75 per filing and $150 per state registration, month to month. The tax engine and API are listed under Enterprise at a custom price. Monitoring (nexus study and alerts) is free. Test keys record transactions with no charges or remittance, but no self-serve signup was found and whether a free account can create keys isn't stated (https://www.numeral.com/pricing, checked 2026-10-08).",
      "priceSummary": "$75 / tx",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI spec or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 14,
      "popularity": {
        "githubStars": 0,
        "npmWeekly": 9,
        "pypiWeekly": 19,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.numeral.com",
      "llmsTxt": "https://docs.numeral.com/llms.txt",
      "openapi": "https://docs.numeral.com/api-reference/v2026-03-01/openapi.json",
      "capabilities": [
        "tax.calculate",
        "tax.transactions",
        "tax.exemptions",
        "tax.filing"
      ],
      "tags": [
        "hosted",
        "paid",
        "closed-source",
        "api-key",
        "mcp",
        "openapi",
        "llms-txt",
        "sandbox",
        "sales-led",
        "go",
        "python",
        "typescript"
      ],
      "lastRelease": "2026-09-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.3,
        "grade": "D",
        "agentReady": false,
        "rank": 611,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 60,
          "payments": 10,
          "reliability": 25,
          "schema": 87,
          "security": 47,
          "transparency": 45
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Docs are written for agents, with a public OpenAPI spec for 32 operations, Markdown pages, llms.txt and a remote MCP server whose 14 tools are read-only by default. No status page, numeric rate limit or SLA was found, the API ignores idempotency keys, and API access is sold on a custom plan after a demo.",
        "bestFor": "An agent working for a seller or platform that has a Numeral account and needs tax at checkout, committed transactions for filing, and read access to nexus, registrations and filings through MCP.",
        "strengths": [
          "Public OpenAPI 3.0.1 spec for version 2026-03-01 with 32 operations, 74 schemas and 57 enums, plus llms.txt and a Markdown copy of every docs page",
          "Remote MCP server at `https://mcp.numeralhq.com/mcp` documents 14 read-only tools. Four write tools are off by default and absent from `tools/list` until enabled",
          "Date-versioned API selected with the `X-API-Version` header, with a changelog and migration notes for each of four versions",
          "Errors are flat JSON with `code`, `type` and `message`, and the docs list every `type`. MCP tool errors carry a stable `error_code`",
          "`sk_test_` keys read and write sandbox data only, and the docs say revoking a key takes effect immediately"
        ],
        "weaknesses": [
          "No status page, uptime SLA or numeric rate limit was found. The product page says rate limits can be removed on request",
          "The API ignores an `Idempotency-Key` header. A retried commit is safe only if the client handles `REFERENCE_ORDER_ID_ALREADY_EXISTS`",
          "Secret keys carry no scopes, and the MCP server has no OAuth flow. One key reads all of the account's tax data",
          "API access is listed under the Enterprise plan at a custom price, and the product page says to book a demo first",
          "SDKs are early. Go is v0.1.0, `numeral-tax` on PyPI is 0.1.0a1 from December 2025 and on npm is 0.1.0-alpha.2"
        ],
        "agentNotes": [
          "Send `X-API-Version: 2026-03-01` on every call to `https://api.numeralhq.com`. Merchant, platform and certificate endpoints reject requests without it",
          "Commit with a stable `reference_order_id`. On `REFERENCE_ORDER_ID_ALREADY_EXISTS` look up the existing transaction, because `Idempotency-Key` is ignored",
          "Commit before the calculation's `expires_at`. If it has expired, calculate again and commit the new `calculation_id` with the original `reference_order_id`",
          "Send `amount` as the line total in minor units to `/tax/calculations` and as the per-unit price to `/tax/platform/calculations`",
          "Start with an `sk_test_` key. Certificate endpoints and MCP certificate tools are live only and answer `TESTMODE_NOT_SUPPORTED` or `live_mode_required`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.3
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 60,
          "payments": 10,
          "reliability": 25,
          "schema": 87,
          "security": 47,
          "transparency": 36
        },
        "provenanceScore": 53
      },
      "connect": {
        "install": "go get -u 'github.com/NumeralHQ/numeral-tax-go@v0.1.0'",
        "http": "curl --request POST \\\n  --url https://api.numeralhq.com/tax/calculations \\\n  --header 'Authorization: Bearer \u003ctoken\u003e' \\\n  --header 'Content-Type: application/json' \\\n  --header 'X-API-Version: 2026-03-01' \\\n  --data '{ ... }'",
        "claudeCode": "claude mcp add --transport http numeral https://mcp.numeralhq.com/mcp \\\n  --header \"Authorization: Bearer sk_test_...\"",
        "config": {
          "mcpServers": {
            "numeral": {
              "headers": {
                "Authorization": "Bearer sk_test_..."
              },
              "type": "http",
              "url": "https://mcp.numeralhq.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/tax.calculate",
        "tool": "https://letme.dev/numeral"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Filed return, Professional",
          "unit": "tx",
          "usd": 75,
          "note": "Per return filed. API access is listed under Enterprise at a custom price"
        },
        {
          "item": "State registration, Professional",
          "unit": "tx",
          "usd": 150,
          "note": "One-time fee per state"
        }
      ],
      "provenance": {
        "legalEntity": "Numeral Two, Inc.",
        "domain": "numeral.com",
        "domainRegistered": "1997-10-02",
        "endpointOnVendorDomain": false,
        "terms": "https://www.numeral.com/legal/terms-of-service",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://docs.numeral.com/api-reference/v2026-03-01/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service (last updated 10 June 2025) name Numeral Two, Inc. d/b/a Numeral, 527 Howard St, San Francisco, and are governed by California law.",
          "The API answers at api.numeralhq.com and the MCP server at mcp.numeralhq.com, a second domain. Numeral's docs name both hosts, and the dashboard is at dashboard.numeralhq.com.",
          "The privacy policy at numeral.com/legal/privacy-policy (effective 11 May 2026) covers the websites and says it does not apply to data processed through the platform and APIs. The privacy link here is the Data Processing Agreement (last updated 2 January 2024), which governs that data.",
          "www.numeral.com/.well-known/security.txt returns 404, as do the same paths on www.numeralhq.com and api.numeralhq.com.",
          "No status page was found on the site, the docs or the help centre.",
          "The trust centre at security.numeral.com is a Oneleet page drawn by script, which we couldn't read.",
          "RDAP gives registration dates of 1997-10-02 for numeral.com and 2022-07-14 for numeralhq.com."
        ],
        "score": 53
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/numeral.json",
      "live": {
        "slug": "numeral",
        "probe": {
          "target": "https://api.numeralhq.com",
          "method": "get",
          "lastAt": "2026-10-08T21:12:16.935226704Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 602,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 606,
          "p95ms24h": 672,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 21
            }
          ]
        },
        "updatedAt": "2026-10-08T21:12:16.935226704Z"
      }
    },
    "answer": "Quaderno scores 59.5 (C) on agent readiness against Numeral's 49.3 (D), and leads in 3 of 7 scored categories. Numeral leads on schema \u0026 documentation, agent ergonomics, security \u0026 auth and maintenance \u0026 community.",
    "b": {
      "slug": "quaderno",
      "name": "Quaderno",
      "vendor": "Recrea Systems, SL",
      "vendorUrl": "https://quaderno.io",
      "kind": "http-api",
      "category": "tax",
      "summary": "Sales tax, VAT and GST software for online businesses from Recrea Systems, a Visma company in Spain. Its REST API calculates tax for a sale, records sales and refunds, issues invoices and credit notes and exports tax reports.",
      "url": "https://www.anchorterminal.com/tools/quaderno",
      "markdownUrl": "https://www.anchorterminal.com/tools/quaderno.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/quaderno.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/quaderno.json",
      "repo": "https://github.com/quaderno/quaderno-ruby",
      "license": "Proprietary service under Quaderno's terms of service. The Ruby library on GitHub is MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://quadernoapp.com/api",
      "packages": [
        {
          "registry": "rubygems",
          "name": "quaderno"
        },
        {
          "registry": "packagist",
          "name": "quaderno/quaderno"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve API key. Sign up at quadernoapp.com (or sandbox-quadernoapp.com for the sandbox), copy the key from the API keys page and send it as the HTTP Basic username with an empty password to https://ACCOUNT_NAME.quadernoapp.com/api. The docs say anyone holding the key can read and modify everything the account has access to. Platforms on Quaderno Connect use OAuth 2.0 authorisation code instead, with an app created in the dashboard, scopes read_only (the default) or read_write, access tokens that expire after 25 days and refresh tokens. No app review or sales approval was found for either route.",
      "pricing": "paid",
      "pricingNotes": "Four monthly plans by recorded transactions. Hobby $29 (25 transactions, 1 user, 1 jurisdiction, 1 integration), Startup $49 (250), Business $99 (1,000) and Growth $149 (2,500), with Enterprise on request above that. Yearly billing costs ten months. API calls are capped at ten times the plan's transactions, and passing the transaction limit moves the account up a plan, with no overage fee. An agent can start without a contract through the 7-day trial, which needs no card, or the free sandbox, which is capped at 200 documents. Registration and filing are sold as an add-on service (https://quaderno.io/pricing/, checked 2026-10-08).",
      "priceSummary": "$29 / 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": null,
      "popularity": {
        "githubStars": 15,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.quaderno.io",
      "llmsTxt": "https://quaderno.io/llms.txt",
      "openapi": "https://developers.quaderno.io/redocusaurus/openapi-v20241028.yaml",
      "capabilities": [
        "tax.calculate",
        "tax.transactions",
        "tax.invoicing"
      ],
      "tags": [
        "hosted",
        "paid",
        "free-trial",
        "sandbox",
        "api-key",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "ruby",
        "php",
        "status-page",
        "sla",
        "vat",
        "sales-tax",
        "e-invoicing"
      ],
      "lastRelease": "2026-07-04",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.5,
        "grade": "C",
        "agentReady": false,
        "rank": 427,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 56,
          "maintenance": 28,
          "payments": 30,
          "reliability": 91,
          "schema": 77,
          "security": 39,
          "transparency": 76
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.1 spec covers 92 operations, with a free sandbox and a status page showing no incident since July 2025. The API key has full account access, there are no idempotency keys, and the newest public API version is dated October 2024.",
        "bestFor": "An agent working for a SaaS, digital-goods or e-commerce seller that needs a tax rate at checkout, a record of each sale with location evidence, and compliant invoices, including Spanish Verifactu and TicketBAI.",
        "strengths": [
          "Public OpenAPI 3.1 spec with 92 operations across tax rates, transactions, invoices, credit notes, reporting and webhooks",
          "Separate free sandbox at sandbox-quadernoapp.com with test tax IDs and a purge endpoint, and a 7-day production trial without a card",
          "Statuspage with API and web application components and no incident recorded since 16 July 2025",
          "Published rate limit of 100 calls per 15 seconds, with X-RateLimit headers and a /ping endpoint that reports remaining calls",
          "Subprocessors and hosting locations listed on the Visma Trust Centre (DigitalOcean in the Netherlands, AWS in Ireland)"
        ],
        "weaknesses": [
          "One API key reads and writes everything its user can reach. Scopes exist only on Connect OAuth tokens (read_only, read_write)",
          "No idempotency keys, and the docs say retry logic is the integration's responsibility",
          "The newest public API version is 20241028. A preview of 20260309 is in the docs but not yet available",
          "No security.txt, the bug bounty is marked temporarily closed, and no SOC 2 or ISO 27001 report was found for Quaderno itself",
          "Registration and filing are a done-for-you service booked by call, not API operations. Monthly API calls are capped at ten times the plan's transactions"
        ],
        "agentNotes": [
          "Call GET https://quadernoapp.com/api/authorization first. Its `href` gives the account subdomain that every other call needs",
          "Before retrying a failed POST /transactions, list invoices by `processor_id` to check whether the sale was recorded. There is no idempotency key",
          "Treat GET /invoices/{id}/deliver as a write. It emails the invoice to the customer",
          "Correct a final invoice with a credit note. DELETE on invoices returns 410 and PUT accepts only notes, tags, metadata and address fields",
          "Read X-RateLimit-Remaining and X-RateLimit-Reset, and page with `created_before` and `limit` up to 100"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.5
          }
        ],
        "editorialScores": {
          "ergonomics": 56,
          "maintenance": 28,
          "payments": 30,
          "reliability": 91,
          "schema": 77,
          "security": 39,
          "transparency": 69
        },
        "provenanceScore": 83
      },
      "connect": {
        "install": "gem install quaderno",
        "http": "curl \"https://ACCOUNT_NAME.quadernoapp.com/api/tax_rates/calculate?to_country=US\u0026to_postal_code=10128\" \\\n  -u YOUR_API_KEY:x"
      },
      "letme": {
        "capability": "https://letme.dev/tax.calculate",
        "tool": "https://letme.dev/quaderno"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Hobby plan, 25 transactions",
          "unit": "month",
          "usd": 29,
          "note": "1 user, 1 jurisdiction, 1 integration. $24 a month billed yearly"
        },
        {
          "item": "Startup plan, 250 transactions",
          "unit": "month",
          "usd": 49,
          "note": "$41 a month billed yearly"
        },
        {
          "item": "Business plan, 1,000 transactions",
          "unit": "month",
          "usd": 99,
          "note": "$83 a month billed yearly"
        },
        {
          "item": "Growth plan, 2,500 transactions",
          "unit": "month",
          "usd": 149,
          "note": "$124 a month billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "Recrea Systems, SL",
        "domain": "quaderno.io",
        "domainRegistered": "2012-10-22",
        "endpointOnVendorDomain": true,
        "terms": "https://quaderno.io/legal/terms/",
        "privacy": "https://quaderno.io/legal/privacy/",
        "statusPage": "https://quaderno.statuspage.io",
        "changelog": "https://developers.quaderno.io/api-changelog/",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms (updated 15 September 2026, effective 1 October 2026) name Recrea Systems, SL, company registration number B35635648, Venegas 2A, Local 1, 35003 Las Palmas, Spain, under Spanish law. The DPA calls it a company in the Visma Group.",
          "The API and dashboard answer at quadernoapp.com and its account subdomains, a second domain the vendor's docs and terms point to. RDAP gives its registration date as 2012-04-27.",
          "RDAP for quaderno.io gives a registration date of 2012-10-22 and an expiry of 2026-10-22.",
          "quaderno.io/.well-known/security.txt and quadernoapp.com/.well-known/security.txt both return 404. The security policy says the bug bounty programme is temporarily closed.",
          "Subprocessors are listed on the Visma Trust Centre at https://www.visma.com/trust-centre-products/quaderno, which shows the legal unit as Recrea Systems SL, ES."
        ],
        "score": 83
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/quaderno.json",
      "live": {
        "slug": "quaderno",
        "probe": {
          "target": "https://quadernoapp.com/api",
          "method": "get",
          "lastAt": "2026-10-08T21:12:19.426931695Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 89,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 107,
          "p95ms24h": 155,
          "samples24h": 64,
          "samples30d": 64,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 64,
              "ok": 64
            }
          ]
        },
        "vendorStatus": {
          "page": "https://quaderno.statuspage.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:06:23.200872791Z"
        },
        "githubStars": 15,
        "securityTxt": {
          "url": "https://quaderno.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:48.301371426Z"
        },
        "pages": [
          {
            "url": "https://developers.quaderno.io/api-changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:58.645813139Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "69ea7b5187a7"
          },
          {
            "url": "https://quaderno.io/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:37.065141515Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0674c9e74b70"
          },
          {
            "url": "https://quaderno.io/legal/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:32.930235875Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "02d941cfbb26"
          },
          {
            "url": "https://quaderno.io/legal/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:35.074640255Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9b2392893a86"
          }
        ],
        "updatedAt": "2026-10-08T21:12:19.426931695Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Numeral Two, Inc.",
        "b": "Recrea Systems, SL",
        "name": "Vendor"
      },
      {
        "a": "https://api.numeralhq.com",
        "b": "https://quadernoapp.com/api",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Numeral's terms of service. The Go, Python and Node SDKs are Apache-2.0",
        "b": "Proprietary service under Quaderno's terms of service. The Ruby library on GitHub is MIT",
        "name": "Licence"
      },
      {
        "a": "14",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-15",
        "b": "2026-07-04",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-09-15",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2024-05-16",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "0 stars, 9 npm/wk, 19 PyPI/wk",
        "b": "15 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Quaderno scores 59.5 (C) on agent readiness against Numeral's 49.3 (D), and leads in 3 of 7 scored categories. Numeral leads on schema \u0026 documentation, agent ergonomics, security \u0026 auth and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Numeral or Quaderno?"
      },
      {
        "answer": "Numeral needs an API key. Quaderno takes an API key or an OAuth sign-in.",
        "question": "Do Numeral and Quaderno need an API key?"
      },
      {
        "answer": "Yes. Numeral has a hosted endpoint at https://api.numeralhq.com and Quaderno at https://quadernoapp.com/api.",
        "question": "Can an agent call Numeral and Quaderno without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 87 against 77",
          "Agent ergonomics, 71 against 56",
          "Security \u0026 auth, 47 against 39",
          "Maintenance \u0026 community, 60 against 28"
        ],
        "also": null,
        "goodFor": "An agent working for a seller or platform that has a Numeral account and needs tax at checkout, committed transactions for filing, and read access to nexus, registrations and filings through MCP.",
        "slug": "numeral",
        "watchFor": "No status page, uptime SLA or numeric rate limit was found. The product page says rate limits can be removed on request"
      },
      {
        "aheadOn": [
          "Reliability, 91 against 25",
          "Payments \u0026 pricing, 30 against 10",
          "Transparency \u0026 trust, 76 against 45"
        ],
        "also": null,
        "goodFor": "An agent working for a SaaS, digital-goods or e-commerce seller that needs a tax rate at checkout, a record of each sale with location evidence, and compliant invoices, including Spanish Verifactu and TicketBAI.",
        "slug": "quaderno",
        "watchFor": "One API key reads and writes everything its user can reach. Scopes exist only on Connect OAuth tokens (read_only, read_write)"
      }
    ],
    "job": {
      "capability": "tax.calculate",
      "name": "Tax calculate"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/anrok-vs-numeral.json",
        "title": "Anrok vs Numeral",
        "url": "https://www.anchorterminal.com/compare/anrok-vs-numeral"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anrok-vs-quaderno.json",
        "title": "Anrok vs Quaderno",
        "url": "https://www.anchorterminal.com/compare/anrok-vs-quaderno"
      },
      {
        "json": "https://www.anchorterminal.com/compare/avalara-vs-numeral.json",
        "title": "Avalara AvaTax vs Numeral",
        "url": "https://www.anchorterminal.com/compare/avalara-vs-numeral"
      },
      {
        "json": "https://www.anchorterminal.com/compare/avalara-vs-quaderno.json",
        "title": "Avalara AvaTax vs Quaderno",
        "url": "https://www.anchorterminal.com/compare/avalara-vs-quaderno"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fonoa-vs-numeral.json",
        "title": "Fonoa vs Numeral",
        "url": "https://www.anchorterminal.com/compare/fonoa-vs-numeral"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fonoa-vs-quaderno.json",
        "title": "Fonoa vs Quaderno",
        "url": "https://www.anchorterminal.com/compare/fonoa-vs-quaderno"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kintsugi-vs-numeral.json",
        "title": "Kintsugi vs Numeral",
        "url": "https://www.anchorterminal.com/compare/kintsugi-vs-numeral"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kintsugi-vs-quaderno.json",
        "title": "Kintsugi vs Quaderno",
        "url": "https://www.anchorterminal.com/compare/kintsugi-vs-quaderno"
      },
      {
        "json": "https://www.anchorterminal.com/compare/numeral-vs-taxcloud.json",
        "title": "Numeral vs TaxCloud",
        "url": "https://www.anchorterminal.com/compare/numeral-vs-taxcloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/numeral-vs-taxjar.json",
        "title": "Numeral vs TaxJar",
        "url": "https://www.anchorterminal.com/compare/numeral-vs-taxjar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/numeral-vs-vertex-tax.json",
        "title": "Numeral vs Vertex O Series",
        "url": "https://www.anchorterminal.com/compare/numeral-vs-vertex-tax"
      },
      {
        "json": "https://www.anchorterminal.com/compare/numeral-vs-zamp.json",
        "title": "Numeral vs Zamp",
        "url": "https://www.anchorterminal.com/compare/numeral-vs-zamp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/quaderno-vs-taxcloud.json",
        "title": "Quaderno vs TaxCloud",
        "url": "https://www.anchorterminal.com/compare/quaderno-vs-taxcloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/quaderno-vs-taxjar.json",
        "title": "Quaderno vs TaxJar",
        "url": "https://www.anchorterminal.com/compare/quaderno-vs-taxjar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/quaderno-vs-vertex-tax.json",
        "title": "Quaderno vs Vertex O Series",
        "url": "https://www.anchorterminal.com/compare/quaderno-vs-vertex-tax"
      },
      {
        "json": "https://www.anchorterminal.com/compare/quaderno-vs-zamp.json",
        "title": "Quaderno vs Zamp",
        "url": "https://www.anchorterminal.com/compare/quaderno-vs-zamp"
      }
    ],
    "scores": [
      {
        "by": 66,
        "edge": "quaderno",
        "key": "reliability",
        "name": "Reliability",
        "numeral": 25,
        "quaderno": 91,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "edge": "numeral",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "numeral": 87,
        "quaderno": 77,
        "weight": 13
      },
      {
        "by": 15,
        "edge": "numeral",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "numeral": 71,
        "quaderno": 56,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "numeral",
        "key": "security",
        "name": "Security \u0026 auth",
        "numeral": 47,
        "quaderno": 39,
        "weight": 14
      },
      {
        "by": 20,
        "edge": "quaderno",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "numeral": 10,
        "quaderno": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 32,
        "edge": "numeral",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "numeral": 60,
        "quaderno": 28,
        "weight": 7
      },
      {
        "by": 31,
        "edge": "quaderno",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "numeral": 45,
        "quaderno": 76,
        "weight": 7
      }
    ],
    "summary": "Quaderno scores 59.5 (C) on agent readiness against Numeral's 49.3 (D), and leads in 3 of 7 scored categories. Numeral leads on schema \u0026 documentation, agent ergonomics, security \u0026 auth and maintenance \u0026 community. Both do tax calculate.",
    "verdicts": {
      "numeral": "Docs are written for agents, with a public OpenAPI spec for 32 operations, Markdown pages, llms.txt and a remote MCP server whose 14 tools are read-only by default. No status page, numeric rate limit or SLA was found, the API ignores idempotency keys, and API access is sold on a custom plan after a demo.",
      "quaderno": "A public OpenAPI 3.1 spec covers 92 operations, with a free sandbox and a status page showing no incident since July 2025. The API key has full account access, there are no idempotency keys, and the newest public API version is dated October 2024."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/numeral-vs-quaderno",
    "json": "https://www.anchorterminal.com/compare/numeral-vs-quaderno.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/numeral-vs-quaderno.md",
    "slim": "https://www.anchorterminal.com/compare/numeral-vs-quaderno.min.md"
  },
  "markdown": "Quaderno scores 59.5 (C) on agent readiness against Numeral's 49.3 (D), and leads in 3 of 7 scored categories. Numeral leads on schema \u0026 documentation, agent ergonomics, security \u0026 auth and maintenance \u0026 community. Both do tax calculate.\n\n- Numeral: grade D, 49.3/100, rank #611 of 722. Markdown https://www.anchorterminal.com/tools/numeral.md · JSON https://www.anchorterminal.com/api/v1/tools/numeral.json\n- Quaderno: grade C, 59.5/100, rank #427 of 722. Markdown https://www.anchorterminal.com/tools/quaderno.md · JSON https://www.anchorterminal.com/api/v1/tools/quaderno.json\n\n## Which one, for what\n\n### Numeral (D)\n\nGood for: An agent working for a seller or platform that has a Numeral account and needs tax at checkout, committed transactions for filing, and read access to nexus, registrations and filings through MCP.\n\nAhead on:\n- Schema \u0026 documentation, 87 against 77\n- Agent ergonomics, 71 against 56\n- Security \u0026 auth, 47 against 39\n- Maintenance \u0026 community, 60 against 28\n\nWatch for: No status page, uptime SLA or numeric rate limit was found. The product page says rate limits can be removed on request\n\n### Quaderno (C)\n\nGood for: An agent working for a SaaS, digital-goods or e-commerce seller that needs a tax rate at checkout, a record of each sale with location evidence, and compliant invoices, including Spanish Verifactu and TicketBAI.\n\nAhead on:\n- Reliability, 91 against 25\n- Payments \u0026 pricing, 30 against 10\n- Transparency \u0026 trust, 76 against 45\n\nWatch for: One API key reads and writes everything its user can reach. Scopes exist only on Connect OAuth tokens (read_only, read_write)\n\n\n## Score by category\n\n| Category | Weight | Numeral | Quaderno | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 25 | 91 | Quaderno +66 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 87 | 77 | Numeral +10 |\n| Agent ergonomics | 13% (16.2 this run) | 71 | 56 | Numeral +15 |\n| Security \u0026 auth | 14% (17.5 this run) | 47 | 39 | Numeral +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 10 | 30 | Quaderno +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 60 | 28 | Numeral +32 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 45 | 76 | Quaderno +31 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **49.3 · D** | **59.5 · C** | |\n\n## Facts side by side\n\n| Fact | Numeral | Quaderno |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Numeral Two, Inc. | Recrea Systems, SL |\n| Hosted endpoint | `https://api.numeralhq.com` | `https://quadernoapp.com/api` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under Numeral's terms of service. The Go, Python and Node SDKs are Apache-2.0 | Proprietary service under Quaderno's terms of service. The Ruby library on GitHub is MIT |\n| Tools exposed | 14 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-15 | 2026-07-04 |\n| Terms last updated | no date given | 2026-09-15 |\n| Privacy policy last updated | no document linked | 2024-05-16 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 0 stars, 9 npm/wk, 19 PyPI/wk | 15 stars |\n\n## Verdicts\n\n**Numeral.** Docs are written for agents, with a public OpenAPI spec for 32 operations, Markdown pages, llms.txt and a remote MCP server whose 14 tools are read-only by default. No status page, numeric rate limit or SLA was found, the API ignores idempotency keys, and API access is sold on a custom plan after a demo.\n\n**Quaderno.** A public OpenAPI 3.1 spec covers 92 operations, with a free sandbox and a status page showing no incident since July 2025. The API key has full account access, there are no idempotency keys, and the newest public API version is dated October 2024.\n\n## Before you call either\n\n### Numeral\n\n1. Send `X-API-Version: 2026-03-01` on every call to `https://api.numeralhq.com`. Merchant, platform and certificate endpoints reject requests without it\n2. Commit with a stable `reference_order_id`. On `REFERENCE_ORDER_ID_ALREADY_EXISTS` look up the existing transaction, because `Idempotency-Key` is ignored\n3. Commit before the calculation's `expires_at`. If it has expired, calculate again and commit the new `calculation_id` with the original `reference_order_id`\n4. Send `amount` as the line total in minor units to `/tax/calculations` and as the per-unit price to `/tax/platform/calculations`\n5. Start with an `sk_test_` key. Certificate endpoints and MCP certificate tools are live only and answer `TESTMODE_NOT_SUPPORTED` or `live_mode_required`\n\n### Quaderno\n\n1. Call GET https://quadernoapp.com/api/authorization first. Its `href` gives the account subdomain that every other call needs\n2. Before retrying a failed POST /transactions, list invoices by `processor_id` to check whether the sale was recorded. There is no idempotency key\n3. Treat GET /invoices/{id}/deliver as a write. It emails the invoice to the customer\n4. Correct a final invoice with a credit note. DELETE on invoices returns 410 and PUT accepts only notes, tags, metadata and address fields\n5. Read X-RateLimit-Remaining and X-RateLimit-Reset, and page with `created_before` and `limit` up to 100\n\n## Questions\n\n### Which is better for AI agents, Numeral or Quaderno?\n\nQuaderno scores 59.5 (C) on agent readiness against Numeral's 49.3 (D), and leads in 3 of 7 scored categories. Numeral leads on schema \u0026 documentation, agent ergonomics, security \u0026 auth and maintenance \u0026 community.\n\n### Do Numeral and Quaderno need an API key?\n\nNumeral needs an API key. Quaderno takes an API key or an OAuth sign-in.\n\n### Can an agent call Numeral and Quaderno without installing anything?\n\nYes. Numeral has a hosted endpoint at https://api.numeralhq.com and Quaderno at https://quadernoapp.com/api.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/numeral-vs-quaderno.json, and with the fewest tokens: https://www.anchorterminal.com/compare/numeral-vs-quaderno.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"numeral\", \"b\": \"quaderno\"}`. From a terminal: `anchor compare numeral quaderno`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/numeral.json and https://www.anchorterminal.com/api/v1/tools/quaderno.json\n\n## Other comparisons with Numeral or Quaderno\n\n- [Anrok vs Numeral](https://www.anchorterminal.com/compare/anrok-vs-numeral.md)\n- [Anrok vs Quaderno](https://www.anchorterminal.com/compare/anrok-vs-quaderno.md)\n- [Avalara AvaTax vs Numeral](https://www.anchorterminal.com/compare/avalara-vs-numeral.md)\n- [Avalara AvaTax vs Quaderno](https://www.anchorterminal.com/compare/avalara-vs-quaderno.md)\n- [Fonoa vs Numeral](https://www.anchorterminal.com/compare/fonoa-vs-numeral.md)\n- [Fonoa vs Quaderno](https://www.anchorterminal.com/compare/fonoa-vs-quaderno.md)\n- [Kintsugi vs Numeral](https://www.anchorterminal.com/compare/kintsugi-vs-numeral.md)\n- [Kintsugi vs Quaderno](https://www.anchorterminal.com/compare/kintsugi-vs-quaderno.md)\n- [Numeral vs TaxCloud](https://www.anchorterminal.com/compare/numeral-vs-taxcloud.md)\n- [Numeral vs TaxJar](https://www.anchorterminal.com/compare/numeral-vs-taxjar.md)\n- [Numeral vs Vertex O Series](https://www.anchorterminal.com/compare/numeral-vs-vertex-tax.md)\n- [Numeral vs Zamp](https://www.anchorterminal.com/compare/numeral-vs-zamp.md)\n- [Quaderno vs TaxCloud](https://www.anchorterminal.com/compare/quaderno-vs-taxcloud.md)\n- [Quaderno vs TaxJar](https://www.anchorterminal.com/compare/quaderno-vs-taxjar.md)\n- [Quaderno vs Vertex O Series](https://www.anchorterminal.com/compare/quaderno-vs-vertex-tax.md)\n- [Quaderno vs Zamp](https://www.anchorterminal.com/compare/quaderno-vs-zamp.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": "Numeral vs Quaderno",
        "url": ""
      }
    ],
    "description": "Quaderno scores 59.5 (C) on agent readiness against Numeral's 49.3 (D), and leads in 3 of 7 scored categories. Numeral leads on schema \u0026 documentation, agent ergonomics, security \u0026 auth and maintenance \u0026 community. Both do tax calculate. Category scores, facts, verdicts and…",
    "facts": [
      "Numeral D 49.3",
      "Quaderno C 59.5",
      "scores"
    ],
    "h1": "Numeral vs Quaderno",
    "image": "https://www.anchorterminal.com/assets/og/compare-numeral-vs-quaderno.png",
    "path": "/compare/numeral-vs-quaderno",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Numeral vs Quaderno for AI agents, D 49.3 vs C 59.5 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/numeral-vs-quaderno"
  },
  "tokens": {
    "markdown": 2250,
    "slim": 730
  },
  "version": 1
}
