{
  "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:53:28.845128822Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 601,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 602,
          "p95ms24h": 686,
          "samples24h": 28,
          "samples30d": 28,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 28,
              "ok": 28
            }
          ]
        },
        "updatedAt": "2026-10-08T21:53:28.845128822Z"
      }
    },
    "answer": "Zamp and Numeral score within a point of each other on agent readiness, 49.5 (D) and 49.3 (D). Numeral leads on schema \u0026 documentation, agent ergonomics, security \u0026 auth and maintenance \u0026 community.",
    "b": {
      "slug": "zamp",
      "name": "Zamp",
      "vendor": "Zamp Inc.",
      "vendorUrl": "https://zamp.com",
      "kind": "http-api",
      "category": "tax",
      "summary": "Zamp is a managed sales tax service for US and Canadian sellers. Its REST API calculates tax by address, records transactions for filing and reads registrations and filings, while Zamp's team registers, files and remits.",
      "url": "https://www.anchorterminal.com/tools/zamp",
      "markdownUrl": "https://www.anchorterminal.com/tools/zamp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/zamp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/zamp.json",
      "license": "Proprietary service under Zamp's Standard Terms and Conditions, which form part of a signed Order Form. The sandbox has its own Developer trial terms",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.zamp.com",
      "packages": [],
      "auth": "api-key",
      "authNotes": "Every request carries an API key as a Bearer token in the `Authorization` header. A 30-day sandbox key is emailed after a form that asks for a business email, with no card or sales call. A production key is copied from the Integrations page of app.zamp.com or issued by Zamp's account team, and a Zamp account comes through a demo and an Order Form. No scopes, read-only keys or expiry settings were found in the reviewed documentation. The docs tell users to rotate or reset an exposed key without describing how.",
      "pricing": "paid",
      "pricingNotes": "No price is published. The pricing page names three plans, Free, U.S. and U.S. + Canada, and the two paid plans read \"Contact sales\". Free includes a rate-limited 30-day API sandbox with no card. Zamp says API calls are never metered and that usage is counted in committed transactions. The terms count ten calculation calls as one transaction for customers who use calculation only (https://zamp.com/pricing, https://zamp.com/terms-conditions section 6.2, checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the pricing page or the terms (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developer.zamp.com",
      "llmsTxt": "https://developer.zamp.com/llms.txt",
      "capabilities": [
        "tax.calculate",
        "tax.transactions",
        "tax.filing",
        "tax.exemptions",
        "shipping.address-validation"
      ],
      "tags": [
        "hosted",
        "paid",
        "closed-source",
        "api-key",
        "llms-txt",
        "sandbox",
        "free-trial",
        "no-card",
        "sales-led",
        "status-page"
      ],
      "lastRelease": "2026-08-31",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.5,
        "grade": "D",
        "agentReady": false,
        "rank": 609,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 42,
          "payments": 20,
          "reliability": 72,
          "schema": 44,
          "security": 40,
          "transparency": 50
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "A free 30-day sandbox key needs no card or sales call, and the docs are served as Markdown with llms.txt and a published limit of 1,000 requests a minute. There is no OpenAPI file, SDK, API changelog or published price, production keys come with a sales-led account, and the site footer says SOC 2 compliance is in progress.",
        "bestFor": "An agent working for a US or Canadian seller that wants Zamp's team to register, file and remit, and needs calculation and transaction sync through a small API.",
        "strengths": [
          "Free 30-day sandbox key by email with no card or sales call, preloaded with all 47 remote-seller state registrations",
          "Docs served as Markdown with `llms.txt` and `llms-full.txt`, and cURL, Node.js and Python examples in the quickstart",
          "Published limit of 1,000 requests a minute, and responses carry `x-zamp-rate-limit-remaining` and `x-zamp-rate-limit-reset` headers",
          "Errors return a named code and message, and validation failures add an `issues` array with the path of each bad field",
          "One transaction object is used by `/calculations` and `/transactions`, with a per-jurisdiction breakdown in every response"
        ],
        "weaknesses": [
          "No OpenAPI file for the API. The one file on the docs host is the documentation platform's plant store sample",
          "No price is published. The U.S. and U.S. + Canada plans read \"Contact sales\", and production keys come with a Zamp account",
          "No API changelog, version in the path, deprecation policy or official SDK found in the reviewed documentation",
          "API keys have no scopes or read-only mode in the reviewed documentation, and `DELETE /transactions/:id` deletes permanently",
          "No security.txt or disclosure policy found, and the site footer says SOC 2 compliance is in progress",
          "No webhooks, and registrations can't be started or approved through the API"
        ],
        "agentNotes": [
          "Call `POST /calculations` for a quote and `POST /transactions` only when the sale is final. Put the returned `taxDue` in `taxCollected` when posting",
          "Keep transaction and line item ids to 25 characters. A repeated `POST /transactions` with an existing id returns 409 `CONFLICT`, so a retry doesn't create a second record",
          "For a refund, post a new transaction with `parentId` set to the sale's id and a negative `quantity`. Never send a negative `amount` on a line item",
          "Send `shipToAddress.state` and `country` set to CA for Canadian orders. `POST /addresses` validates US addresses only",
          "Page lists with `limit` (1 to 100, default 10) and `cursor` until `nextCursor` is null. `GET /transactions` returns only transactions written with the same key",
          "Don't store sensitive or personal data in the sandbox. Trial data is deleted after 30 days and the trial terms forbid live customer data"
        ],
        "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.5
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 42,
          "payments": 20,
          "reliability": 72,
          "schema": 44,
          "security": 40,
          "transparency": 27
        },
        "provenanceScore": 73
      },
      "connect": {
        "http": "curl -X POST https://api.zamp.com/calculations \\\n  -H \"Authorization: Bearer {your-api-key}\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"id\":\"123\",\"name\":\"INV-123\",\"transactedAt\":\"2023-07-01T00:00:00.000Z\",\"isResale\":false,\"discount\":2,\"subtotal\":18,\"shippingHandling\":5,\"total\":23,\"shipToAddress\":{\"line1\":\"120 SW 10TH AVE\",\"line2\":null,\"state\":\"KS\",\"city\":\"TOPEKA\",\"zip\":\"66612\"},\"lineItems\":[{\"id\":\"LI-123\",\"amount\":10,\"quantity\":2,\"discount\":0,\"shippingHandling\":0,\"productName\":\"The Ultimate Sampler\",\"productSku\":\"SAMPLER-100\",\"productTaxCode\":\"R_TPP_FOOD-BEVERAGE_HOME-CONSUMPTION\"}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/tax.calculate",
        "tool": "https://letme.dev/zamp"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Zamp Inc.",
        "domain": "zamp.com",
        "domainRegistered": "2001-08-01",
        "endpointOnVendorDomain": true,
        "terms": "https://zamp.com/terms-conditions",
        "privacy": "https://zamp.com/privacy-policy",
        "statusPage": "https://zamp.statuspage.io",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The site footer reads \"© 2026 Zamp Inc.\" with an address in Miami, Florida. The terms name the company only as ZAMP, and the Companies API example shows \"Zamp Technologies, Inc.\" trading as Zamp Tax.",
          "The Standard Terms and Conditions at zamp.com/terms-conditions form part of the customer's Order Form and are governed by Delaware law. Section 2.2 covers the API. The page carries no date.",
          "Sandbox use is governed by the Developer trial terms and conditions at developer.zamp.com/guides/developer-trial-terms-and-conditions, effective 1 October 2025.",
          "The privacy policy, last updated 11 February 2025, defines the Service as the website and adds a Global Privacy Statement on data sent through the API. It is the only privacy document found.",
          "The terms refer to a Data Processing Agreement. No link to it was found on the pages we read.",
          "The API answers at api.zamp.com, on the vendor's domain. Its response headers name Vercel as the server.",
          "status.zamp.com redirects to zamp.statuspage.io. The page lists four components and its incident feed is empty.",
          "zamp.com, developer.zamp.com and api.zamp.com all return 404 for /.well-known/security.txt.",
          "No API changelog was found. The docs carry dated release notes for the QuickBooks, WooCommerce and NetSuite connectors only.",
          "RDAP for zamp.com gives a registration date of 2001-08-01, which predates the company's use of the name."
        ],
        "score": 73
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/zamp.json",
      "live": {
        "slug": "zamp",
        "probe": {
          "target": "https://api.zamp.com",
          "method": "get",
          "lastAt": "2026-10-08T21:53:39.098194091Z",
          "lastOk": true,
          "lastStatus": 418,
          "lastMs": 565,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 270,
          "p95ms24h": 1284,
          "samples24h": 28,
          "samples30d": 28,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 28,
              "ok": 28
            }
          ]
        },
        "vendorStatus": {
          "page": "https://zamp.statuspage.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:58:19.582371702Z"
        },
        "updatedAt": "2026-10-08T21:58:19.582371702Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Numeral Two, Inc.",
        "b": "Zamp Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.numeralhq.com",
        "b": "https://api.zamp.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API 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 Zamp's Standard Terms and Conditions, which form part of a signed Order Form. The sandbox has its own Developer trial terms",
        "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-08-31",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2025-02-11",
        "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": "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": "0 stars, 9 npm/wk, 19 PyPI/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Zamp and Numeral score within a point of each other on agent readiness, 49.5 (D) and 49.3 (D). Numeral leads on schema \u0026 documentation, agent ergonomics, security \u0026 auth and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Numeral or Zamp?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Numeral and Zamp need an API key?"
      },
      {
        "answer": "Yes. Numeral has a hosted endpoint at https://api.numeralhq.com and Zamp at https://api.zamp.com.",
        "question": "Can an agent call Numeral and Zamp without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 87 against 44",
          "Agent ergonomics, 71 against 64",
          "Security \u0026 auth, 47 against 40",
          "Maintenance \u0026 community, 60 against 42"
        ],
        "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, 72 against 25",
          "Payments \u0026 pricing, 20 against 10",
          "Transparency \u0026 trust, 50 against 45"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "An agent working for a US or Canadian seller that wants Zamp's team to register, file and remit, and needs calculation and transaction sync through a small API.",
        "slug": "zamp",
        "watchFor": "No OpenAPI file for the API. The one file on the docs host is the documentation platform's plant store sample"
      }
    ],
    "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-zamp.json",
        "title": "Anrok vs Zamp",
        "url": "https://www.anchorterminal.com/compare/anrok-vs-zamp"
      },
      {
        "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-zamp.json",
        "title": "Avalara AvaTax vs Zamp",
        "url": "https://www.anchorterminal.com/compare/avalara-vs-zamp"
      },
      {
        "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-zamp.json",
        "title": "Fonoa vs Zamp",
        "url": "https://www.anchorterminal.com/compare/fonoa-vs-zamp"
      },
      {
        "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-zamp.json",
        "title": "Kintsugi vs Zamp",
        "url": "https://www.anchorterminal.com/compare/kintsugi-vs-zamp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/numeral-vs-quaderno.json",
        "title": "Numeral vs Quaderno",
        "url": "https://www.anchorterminal.com/compare/numeral-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/quaderno-vs-zamp.json",
        "title": "Quaderno vs Zamp",
        "url": "https://www.anchorterminal.com/compare/quaderno-vs-zamp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/taxcloud-vs-zamp.json",
        "title": "TaxCloud vs Zamp",
        "url": "https://www.anchorterminal.com/compare/taxcloud-vs-zamp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/taxjar-vs-zamp.json",
        "title": "TaxJar vs Zamp",
        "url": "https://www.anchorterminal.com/compare/taxjar-vs-zamp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/vertex-tax-vs-zamp.json",
        "title": "Vertex O Series vs Zamp",
        "url": "https://www.anchorterminal.com/compare/vertex-tax-vs-zamp"
      }
    ],
    "scores": [
      {
        "by": 47,
        "edge": "zamp",
        "key": "reliability",
        "name": "Reliability",
        "numeral": 25,
        "weight": 16,
        "zamp": 72
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 43,
        "edge": "numeral",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "numeral": 87,
        "weight": 13,
        "zamp": 44
      },
      {
        "by": 7,
        "edge": "numeral",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "numeral": 71,
        "weight": 13,
        "zamp": 64
      },
      {
        "by": 7,
        "edge": "numeral",
        "key": "security",
        "name": "Security \u0026 auth",
        "numeral": 47,
        "weight": 14,
        "zamp": 40
      },
      {
        "by": 10,
        "edge": "zamp",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "numeral": 10,
        "weight": 10,
        "zamp": 20
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 18,
        "edge": "numeral",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "numeral": 60,
        "weight": 7,
        "zamp": 42
      },
      {
        "by": 5,
        "edge": "zamp",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "numeral": 45,
        "weight": 7,
        "zamp": 50
      }
    ],
    "summary": "Zamp and Numeral score within a point of each other on agent readiness, 49.5 (D) and 49.3 (D). 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.",
      "zamp": "A free 30-day sandbox key needs no card or sales call, and the docs are served as Markdown with llms.txt and a published limit of 1,000 requests a minute. There is no OpenAPI file, SDK, API changelog or published price, production keys come with a sales-led account, and the site footer says SOC 2 compliance is in progress."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/numeral-vs-zamp",
    "json": "https://www.anchorterminal.com/compare/numeral-vs-zamp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/numeral-vs-zamp.md",
    "slim": "https://www.anchorterminal.com/compare/numeral-vs-zamp.min.md"
  },
  "markdown": "Zamp and Numeral score within a point of each other on agent readiness, 49.5 (D) and 49.3 (D). 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- Zamp: grade D, 49.5/100, rank #609 of 722. Markdown https://www.anchorterminal.com/tools/zamp.md · JSON https://www.anchorterminal.com/api/v1/tools/zamp.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 44\n- Agent ergonomics, 71 against 64\n- Security \u0026 auth, 47 against 40\n- Maintenance \u0026 community, 60 against 42\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### Zamp (D)\n\nGood for: An agent working for a US or Canadian seller that wants Zamp's team to register, file and remit, and needs calculation and transaction sync through a small API.\n\nAhead on:\n- Reliability, 72 against 25\n- Payments \u0026 pricing, 20 against 10\n- Transparency \u0026 trust, 50 against 45\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No OpenAPI file for the API. The one file on the docs host is the documentation platform's plant store sample\n\n\n## Score by category\n\n| Category | Weight | Numeral | Zamp | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 25 | 72 | Zamp +47 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 87 | 44 | Numeral +43 |\n| Agent ergonomics | 13% (16.2 this run) | 71 | 64 | Numeral +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 47 | 40 | Numeral +7 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 10 | 20 | Zamp +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 60 | 42 | Numeral +18 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 45 | 50 | Zamp +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **49.3 · D** | **49.5 · D** | |\n\n## Facts side by side\n\n| Fact | Numeral | Zamp |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Numeral Two, Inc. | Zamp Inc. |\n| Hosted endpoint | `https://api.numeralhq.com` | `https://api.zamp.com` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | API key | API 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 Zamp's Standard Terms and Conditions, which form part of a signed Order Form. The sandbox has its own Developer trial terms |\n| Tools exposed | 14 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-15 | 2026-08-31 |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | no document linked | 2025-02-11 |\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 | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 0 stars, 9 npm/wk, 19 PyPI/wk | none |\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**Zamp.** A free 30-day sandbox key needs no card or sales call, and the docs are served as Markdown with llms.txt and a published limit of 1,000 requests a minute. There is no OpenAPI file, SDK, API changelog or published price, production keys come with a sales-led account, and the site footer says SOC 2 compliance is in progress.\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### Zamp\n\n1. Call `POST /calculations` for a quote and `POST /transactions` only when the sale is final. Put the returned `taxDue` in `taxCollected` when posting\n2. Keep transaction and line item ids to 25 characters. A repeated `POST /transactions` with an existing id returns 409 `CONFLICT`, so a retry doesn't create a second record\n3. For a refund, post a new transaction with `parentId` set to the sale's id and a negative `quantity`. Never send a negative `amount` on a line item\n4. Send `shipToAddress.state` and `country` set to CA for Canadian orders. `POST /addresses` validates US addresses only\n5. Page lists with `limit` (1 to 100, default 10) and `cursor` until `nextCursor` is null. `GET /transactions` returns only transactions written with the same key\n6. Don't store sensitive or personal data in the sandbox. Trial data is deleted after 30 days and the trial terms forbid live customer data\n\n## Questions\n\n### Which is better for AI agents, Numeral or Zamp?\n\nZamp and Numeral score within a point of each other on agent readiness, 49.5 (D) and 49.3 (D). Numeral leads on schema \u0026 documentation, agent ergonomics, security \u0026 auth and maintenance \u0026 community.\n\n### Do Numeral and Zamp need an API key?\n\nBoth need an API key.\n\n### Can an agent call Numeral and Zamp without installing anything?\n\nYes. Numeral has a hosted endpoint at https://api.numeralhq.com and Zamp at https://api.zamp.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/numeral-vs-zamp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/numeral-vs-zamp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"numeral\", \"b\": \"zamp\"}`. From a terminal: `anchor compare numeral zamp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/numeral.json and https://www.anchorterminal.com/api/v1/tools/zamp.json\n\n## Other comparisons with Numeral or Zamp\n\n- [Anrok vs Numeral](https://www.anchorterminal.com/compare/anrok-vs-numeral.md)\n- [Anrok vs Zamp](https://www.anchorterminal.com/compare/anrok-vs-zamp.md)\n- [Avalara AvaTax vs Numeral](https://www.anchorterminal.com/compare/avalara-vs-numeral.md)\n- [Avalara AvaTax vs Zamp](https://www.anchorterminal.com/compare/avalara-vs-zamp.md)\n- [Fonoa vs Numeral](https://www.anchorterminal.com/compare/fonoa-vs-numeral.md)\n- [Fonoa vs Zamp](https://www.anchorterminal.com/compare/fonoa-vs-zamp.md)\n- [Kintsugi vs Numeral](https://www.anchorterminal.com/compare/kintsugi-vs-numeral.md)\n- [Kintsugi vs Zamp](https://www.anchorterminal.com/compare/kintsugi-vs-zamp.md)\n- [Numeral vs Quaderno](https://www.anchorterminal.com/compare/numeral-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- [Quaderno vs Zamp](https://www.anchorterminal.com/compare/quaderno-vs-zamp.md)\n- [TaxCloud vs Zamp](https://www.anchorterminal.com/compare/taxcloud-vs-zamp.md)\n- [TaxJar vs Zamp](https://www.anchorterminal.com/compare/taxjar-vs-zamp.md)\n- [Vertex O Series vs Zamp](https://www.anchorterminal.com/compare/vertex-tax-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 Zamp",
        "url": ""
      }
    ],
    "description": "Zamp and Numeral score within a point of each other on agent readiness, 49.5 (D) and 49.3 (D). Numeral leads on schema \u0026 documentation, agent ergonomics, security \u0026 auth and maintenance \u0026 community. Both do tax calculate. Category scores, facts, verdicts and agent notes side by…",
    "facts": [
      "Numeral D 49.3",
      "Zamp D 49.5",
      "scores"
    ],
    "h1": "Numeral vs Zamp",
    "image": "https://www.anchorterminal.com/assets/og/compare-numeral-vs-zamp.png",
    "path": "/compare/numeral-vs-zamp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Numeral vs Zamp for AI agents, D 49.3 vs D 49.5 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/numeral-vs-zamp"
  },
  "tokens": {
    "markdown": 2300,
    "slim": 730
  },
  "version": 1
}
