{
  "data": {
    "a": {
      "slug": "anrok",
      "name": "Anrok",
      "vendor": "Anrok, Inc.",
      "vendorUrl": "https://www.anrok.com",
      "kind": "http-api",
      "category": "tax",
      "summary": "Anrok is a hosted sales tax, VAT and GST compliance platform for software and ecommerce sellers. Its API calculates tax and records transactions, and Anrok registers, files and remits. A remote MCP server gives AI assistants access to the account.",
      "url": "https://www.anchorterminal.com/tools/anrok",
      "markdownUrl": "https://www.anchorterminal.com/tools/anrok.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/anrok.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/anrok.json",
      "license": "Proprietary service under the Anrok SaaS Services Agreement. The OpenAPI file states \"All rights reserved\"",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.anrok.com",
      "packages": [],
      "auth": "mixed",
      "authNotes": "The API takes a seller API key as a Bearer token, in the form {sellerId}/{apiKeyId}/secret.{secret}. Any seller account can create keys under Settings, Manage API keys. A key has a note and an enabled switch, with no scopes found. The MCP server uses OAuth 2.1 with PKCE (S256) and dynamic client registration. The user signs in with an Anrok login and approves any of six scopes (certificates, customers, products, registrations, transactionsRead, transactionsWrite), and access follows that user's role. A seller account comes through Anrok's sales team, and MCP needs a plan that includes it.",
      "pricing": "paid",
      "pricingNotes": "Starter is $100 per market a month, a market being one jurisdiction where the seller registers and files. Calculation, filing and MCP are included, and Anrok says high-volume Starter sellers may pay additional fees. Custom is quoted by sales and adds the advanced data API and address resolution API. No free tier or self-serve signup was found. Every seller account has a sandbox, and Anrok says pre-sale sandbox access is available to companies evaluating Custom (https://www.anrok.com/pricing, checked 2026-10-08).",
      "priceSummary": "$100 / mo",
      "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": 31,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://apidocs.anrok.com",
      "llmsTxt": "https://www.anrok.com/llms.txt",
      "openapi": "https://apidocs.anrok.com/openapi.yaml",
      "capabilities": [
        "tax.calculate",
        "tax.transactions",
        "tax.exemptions",
        "tax.filing"
      ],
      "tags": [
        "hosted",
        "paid",
        "closed-source",
        "api-key",
        "oauth",
        "mcp",
        "openapi",
        "sandbox",
        "sales-led",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.6,
        "grade": "C",
        "agentReady": false,
        "rank": 361,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 47,
          "payments": 15,
          "reliability": 88,
          "schema": 71,
          "security": 59,
          "transparency": 54
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The public OpenAPI 3.1 spec covers 26 operations with typed error codes, and the remote MCP server uses OAuth 2.1 with six scopes and keeps voids, refunds and filing approval away from the model. Access needs a seller account arranged through sales, API keys carry no scopes, and no API changelog, SDK or subprocessor list was found.",
        "bestFor": "An agent working for a software or ecommerce seller that already uses Anrok and wants calculation, exemption certificates and filing status in one account.",
        "strengths": [
          "Public OpenAPI 3.1 spec at apidocs.anrok.com/openapi.yaml with 26 operations, 45 enums and typed error codes on 409 responses",
          "Remote MCP server at mcp.anrok.com/mcp with OAuth 2.1, PKCE, dynamic client registration, six scopes and a revocation endpoint",
          "MCP has no void, negation or filing-approval tool, and Anrok says all write operations are audited",
          "Rate limit of 10 requests a second is published, and 429 responses carry an integer Retry-After header",
          "Status page shows no incident since 10 March 2026, and the security page lists SOC 1 Type II and SOC 2 Type II"
        ],
        "weaknesses": [
          "No self-serve signup. Starter is $100 per market a month through \"Talk to us\", and Custom is quoted by sales",
          "API keys have a note and an enabled switch only. No scopes, read-only mode or expiry found in the help centre article",
          "No API changelog, deprecation policy or official SDK found. The spec is version 1.1 with no dated history",
          "List transactions, filings, tax ID validation, certificate requests and street-level international addresses are premium and enabled on request",
          "No security.txt, disclosure policy or public subprocessor list. The DPA is available on request only"
        ],
        "agentNotes": [
          "Send every call as a POST with a JSON body to https://api.anrok.com, including reads such as /v1/seller/products/list",
          "Call createEphemeral for a quote and createOrUpdate only when the invoice is final. createOrUpdate saves the transaction for filing",
          "Reuse the same transaction id on a retry. createOrUpdate overwrites by id, so a repeat doesn't create a second record",
          "Expect transactionFrozenForFiling once a transaction is on a filed return. Negate it with createNegation and write a new id with a suffix such as :s2",
          "On 429 wait the number of seconds in Retry-After. The default limit is 10 requests a second per seller account"
        ],
        "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": 61.6
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 47,
          "payments": 15,
          "reliability": 88,
          "schema": 71,
          "security": 59,
          "transparency": 38
        },
        "provenanceScore": 70
      },
      "connect": {
        "http": "curl https://api.anrok.com/v1/seller/transactions/createOrUpdate \\\n  -H \"Authorization: Bearer $anrok_api_key\" \\\n  --json '{\"id\":\"my-first-transaction\",\"accountingDate\":\"2023-01-01\",\"currencyCode\":\"USD\",\"lineItems\":[{\"productExternalId\":\"saas-product\",\"amount\":1050}],\"customerId\":\"customer-1\",\"customerName\":\"Customer 1\",\"customerAddress\":{\"country\":\"us\",\"line1\":\"310 S Houston St\",\"city\":\"Dallas\",\"state\":\"TX\",\"zipCode\":\"75202\"}}'",
        "claudeCode": "claude mcp add --transport http anrok https://mcp.anrok.com/mcp",
        "config": {
          "mcpServers": {
            "anrok": {
              "url": "https://mcp.anrok.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/tax.calculate",
        "tool": "https://letme.dev/anrok"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Starter plan, per market",
          "unit": "month",
          "usd": 100,
          "note": "One market is one jurisdiction where the seller registers and files. Additional fees may apply at high transaction volumes"
        }
      ],
      "provenance": {
        "legalEntity": "Anrok, Inc.",
        "domain": "anrok.com",
        "domainRegistered": "2019-01-06",
        "endpointOnVendorDomain": true,
        "terms": "https://www.anrok.com/privacy-terms",
        "privacy": "https://www.anrok.com/privacy-terms",
        "statusPage": "https://anrok-status.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service (last updated July 2026) name Anrok, Inc., a Delaware corporation, and are governed by California law with courts in San Francisco.",
          "Terms, the privacy notice (effective May 2024) and the Remittances Services Agreement (effective October 2025) share one page at anrok.com/privacy-terms.",
          "The API answers at api.anrok.com and the MCP server at mcp.anrok.com, both on the vendor's domain.",
          "www.anrok.com/.well-known/security.txt returns 404. The security page names no disclosure address or bug bounty.",
          "The Statuspage site answers at anrok.statuspage.io and gives its address as anrok-status.com. We found no link to it on the pages we read.",
          "No API changelog was found. anrok.com/type/product-updates is a blog of product announcements, the latest dated 7 July 2026.",
          "RDAP for anrok.com gives a registration date of 2019-01-06."
        ],
        "score": 70
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/anrok.json",
      "live": {
        "slug": "anrok",
        "probe": {
          "target": "https://api.anrok.com",
          "method": "get",
          "lastAt": "2026-10-08T21:53:15.541083786Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 148,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 137,
          "p95ms24h": 196,
          "samples24h": 71,
          "samples30d": 71,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 71,
              "ok": 71
            }
          ]
        },
        "vendorStatus": {
          "page": "https://anrok-status.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:57:42.127588851Z"
        },
        "securityTxt": {
          "url": "https://anrok.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:57.64505605Z"
        },
        "pages": [
          {
            "url": "https://www.anrok.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:08.213536567Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "65c19e0d0b34"
          },
          {
            "url": "https://www.anrok.com/privacy-terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:10.475081688Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4eecf8a9839f"
          }
        ],
        "updatedAt": "2026-10-08T21:57:42.127588851Z"
      }
    },
    "answer": "Anrok scores 61.6 (C) on agent readiness against Zamp's 49.5 (D), and leads in 6 of 7 scored categories. Zamp leads on payments \u0026 pricing.",
    "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": "Anrok, Inc.",
        "b": "Zamp Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.anrok.com",
        "b": "https://api.zamp.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Anrok SaaS Services Agreement. The OpenAPI file states \"All rights reserved\"",
        "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": "31",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-06",
        "b": "2026-08-31",
        "name": "Last release"
      },
      {
        "a": "2026-07-01",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-07-01",
        "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": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "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": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      }
    ],
    "faq": [
      {
        "answer": "Anrok scores 61.6 (C) on agent readiness against Zamp's 49.5 (D), and leads in 6 of 7 scored categories. Zamp leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Anrok or Zamp?"
      },
      {
        "answer": "Anrok takes an API key or an OAuth sign-in. Zamp needs an API key.",
        "question": "Do Anrok and Zamp need an API key?"
      },
      {
        "answer": "Yes. Anrok has a hosted endpoint at https://api.anrok.com and Zamp at https://api.zamp.com.",
        "question": "Can an agent call Anrok and Zamp without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 88 against 72",
          "Schema \u0026 documentation, 71 against 44",
          "Agent ergonomics, 70 against 64",
          "Security \u0026 auth, 59 against 40",
          "Maintenance \u0026 community, 47 against 42"
        ],
        "also": null,
        "goodFor": "An agent working for a software or ecommerce seller that already uses Anrok and wants calculation, exemption certificates and filing status in one account.",
        "slug": "anrok",
        "watchFor": "No self-serve signup. Starter is $100 per market a month through \"Talk to us\", and Custom is quoted by sales"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 20 against 15"
        ],
        "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-avalara.json",
        "title": "Anrok vs Avalara AvaTax",
        "url": "https://www.anchorterminal.com/compare/anrok-vs-avalara"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anrok-vs-fonoa.json",
        "title": "Anrok vs Fonoa",
        "url": "https://www.anchorterminal.com/compare/anrok-vs-fonoa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anrok-vs-kintsugi.json",
        "title": "Anrok vs Kintsugi",
        "url": "https://www.anchorterminal.com/compare/anrok-vs-kintsugi"
      },
      {
        "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/anrok-vs-taxcloud.json",
        "title": "Anrok vs TaxCloud",
        "url": "https://www.anchorterminal.com/compare/anrok-vs-taxcloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anrok-vs-taxjar.json",
        "title": "Anrok vs TaxJar",
        "url": "https://www.anchorterminal.com/compare/anrok-vs-taxjar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anrok-vs-vertex-tax.json",
        "title": "Anrok vs Vertex O Series",
        "url": "https://www.anchorterminal.com/compare/anrok-vs-vertex-tax"
      },
      {
        "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-zamp.json",
        "title": "Fonoa vs Zamp",
        "url": "https://www.anchorterminal.com/compare/fonoa-vs-zamp"
      },
      {
        "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-zamp.json",
        "title": "Numeral vs Zamp",
        "url": "https://www.anchorterminal.com/compare/numeral-vs-zamp"
      },
      {
        "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": [
      {
        "anrok": 88,
        "by": 16,
        "edge": "anrok",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16,
        "zamp": 72
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "anrok": 71,
        "by": 27,
        "edge": "anrok",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "zamp": 44
      },
      {
        "anrok": 70,
        "by": 6,
        "edge": "anrok",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13,
        "zamp": 64
      },
      {
        "anrok": 59,
        "by": 19,
        "edge": "anrok",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14,
        "zamp": 40
      },
      {
        "anrok": 15,
        "by": 5,
        "edge": "zamp",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "zamp": 20
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "anrok": 47,
        "by": 5,
        "edge": "anrok",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "zamp": 42
      },
      {
        "anrok": 54,
        "by": 4,
        "edge": "anrok",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "zamp": 50
      }
    ],
    "summary": "Anrok scores 61.6 (C) on agent readiness against Zamp's 49.5 (D), and leads in 6 of 7 scored categories. Zamp leads on payments \u0026 pricing. Both do tax calculate.",
    "verdicts": {
      "anrok": "The public OpenAPI 3.1 spec covers 26 operations with typed error codes, and the remote MCP server uses OAuth 2.1 with six scopes and keeps voids, refunds and filing approval away from the model. Access needs a seller account arranged through sales, API keys carry no scopes, and no API changelog, SDK or subprocessor list was found.",
      "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/anrok-vs-zamp",
    "json": "https://www.anchorterminal.com/compare/anrok-vs-zamp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/anrok-vs-zamp.md",
    "slim": "https://www.anchorterminal.com/compare/anrok-vs-zamp.min.md"
  },
  "markdown": "Anrok scores 61.6 (C) on agent readiness against Zamp's 49.5 (D), and leads in 6 of 7 scored categories. Zamp leads on payments \u0026 pricing. Both do tax calculate.\n\n- Anrok: grade C, 61.6/100, rank #361 of 722. Markdown https://www.anchorterminal.com/tools/anrok.md · JSON https://www.anchorterminal.com/api/v1/tools/anrok.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### Anrok (C)\n\nGood for: An agent working for a software or ecommerce seller that already uses Anrok and wants calculation, exemption certificates and filing status in one account.\n\nAhead on:\n- Reliability, 88 against 72\n- Schema \u0026 documentation, 71 against 44\n- Agent ergonomics, 70 against 64\n- Security \u0026 auth, 59 against 40\n- Maintenance \u0026 community, 47 against 42\n\nWatch for: No self-serve signup. Starter is $100 per market a month through \"Talk to us\", and Custom is quoted by sales\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- Payments \u0026 pricing, 20 against 15\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 | Anrok | Zamp | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 88 | 72 | Anrok +16 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 71 | 44 | Anrok +27 |\n| Agent ergonomics | 13% (16.2 this run) | 70 | 64 | Anrok +6 |\n| Security \u0026 auth | 14% (17.5 this run) | 59 | 40 | Anrok +19 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 20 | Zamp +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 47 | 42 | Anrok +5 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 54 | 50 | Anrok +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **61.6 · C** | **49.5 · D** | |\n\n## Facts side by side\n\n| Fact | Anrok | Zamp |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Anrok, Inc. | Zamp Inc. |\n| Hosted endpoint | `https://api.anrok.com` | `https://api.zamp.com` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under the Anrok SaaS Services Agreement. The OpenAPI file states \"All rights reserved\" | 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 | 31 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-06 | 2026-08-31 |\n| Terms last updated | 2026-07-01 | no date given |\n| Privacy policy last updated | 2026-07-01 | 2025-02-11 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | yes | 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 | not found in the text | not found in the text |\n\n## Verdicts\n\n**Anrok.** The public OpenAPI 3.1 spec covers 26 operations with typed error codes, and the remote MCP server uses OAuth 2.1 with six scopes and keeps voids, refunds and filing approval away from the model. Access needs a seller account arranged through sales, API keys carry no scopes, and no API changelog, SDK or subprocessor list was found.\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### Anrok\n\n1. Send every call as a POST with a JSON body to https://api.anrok.com, including reads such as /v1/seller/products/list\n2. Call createEphemeral for a quote and createOrUpdate only when the invoice is final. createOrUpdate saves the transaction for filing\n3. Reuse the same transaction id on a retry. createOrUpdate overwrites by id, so a repeat doesn't create a second record\n4. Expect transactionFrozenForFiling once a transaction is on a filed return. Negate it with createNegation and write a new id with a suffix such as :s2\n5. On 429 wait the number of seconds in Retry-After. The default limit is 10 requests a second per seller account\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, Anrok or Zamp?\n\nAnrok scores 61.6 (C) on agent readiness against Zamp's 49.5 (D), and leads in 6 of 7 scored categories. Zamp leads on payments \u0026 pricing.\n\n### Do Anrok and Zamp need an API key?\n\nAnrok takes an API key or an OAuth sign-in. Zamp needs an API key.\n\n### Can an agent call Anrok and Zamp without installing anything?\n\nYes. Anrok has a hosted endpoint at https://api.anrok.com and Zamp at https://api.zamp.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/anrok-vs-zamp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/anrok-vs-zamp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"anrok\", \"b\": \"zamp\"}`. From a terminal: `anchor compare anrok zamp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/anrok.json and https://www.anchorterminal.com/api/v1/tools/zamp.json\n\n## Other comparisons with Anrok or Zamp\n\n- [Anrok vs Avalara AvaTax](https://www.anchorterminal.com/compare/anrok-vs-avalara.md)\n- [Anrok vs Fonoa](https://www.anchorterminal.com/compare/anrok-vs-fonoa.md)\n- [Anrok vs Kintsugi](https://www.anchorterminal.com/compare/anrok-vs-kintsugi.md)\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- [Anrok vs TaxCloud](https://www.anchorterminal.com/compare/anrok-vs-taxcloud.md)\n- [Anrok vs TaxJar](https://www.anchorterminal.com/compare/anrok-vs-taxjar.md)\n- [Anrok vs Vertex O Series](https://www.anchorterminal.com/compare/anrok-vs-vertex-tax.md)\n- [Avalara AvaTax vs Zamp](https://www.anchorterminal.com/compare/avalara-vs-zamp.md)\n- [Fonoa vs Zamp](https://www.anchorterminal.com/compare/fonoa-vs-zamp.md)\n- [Kintsugi vs Zamp](https://www.anchorterminal.com/compare/kintsugi-vs-zamp.md)\n- [Numeral vs Zamp](https://www.anchorterminal.com/compare/numeral-vs-zamp.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": "Anrok vs Zamp",
        "url": ""
      }
    ],
    "description": "Anrok scores 61.6 (C) on agent readiness against Zamp's 49.5 (D), and leads in 6 of 7 scored categories. Zamp leads on payments \u0026 pricing. Both do tax calculate. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Anrok C 61.6",
      "Zamp D 49.5",
      "scores"
    ],
    "h1": "Anrok vs Zamp",
    "image": "https://www.anchorterminal.com/assets/og/compare-anrok-vs-zamp.png",
    "path": "/compare/anrok-vs-zamp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Anrok vs Zamp for AI agents, C 61.6 vs D 49.5 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/anrok-vs-zamp"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 630
  },
  "version": 1
}
