{
  "data": {
    "category": {
      "area": "domain-data",
      "capabilities": [
        "tax.calculate",
        "tax.transactions",
        "tax.filing",
        "tax.exemptions",
        "tax.invoicing"
      ],
      "description": "Services that calculate sales tax, VAT and GST for a transaction, record it for reporting and handle registrations, exemptions and filing. Compared on calculation coverage by country and US state, the transaction API, filing and price per call.",
      "json": "https://www.anchorterminal.com/categories/tax.json",
      "name": "Tax calculation \u0026 compliance",
      "slug": "tax",
      "test": "The same twenty transactions (US states, EU countries, digital and physical goods, an exempt buyer) sent to each listing's calculation API and committed for reporting. We check the rates returned against published rates, address handling and the report that results. In this run listings are graded from public evidence against the published checklist.",
      "title": "Sales tax and VAT calculation APIs for AI agents",
      "toolCount": 5,
      "tools": [
        "avalara",
        "anrok",
        "quaderno",
        "taxjar",
        "vertex-tax"
      ],
      "url": "https://www.anchorterminal.com/categories/tax"
    },
    "tools": [
      {
        "slug": "avalara",
        "name": "Avalara AvaTax",
        "vendor": "Avalara, Inc.",
        "vendorUrl": "https://www.avalara.com",
        "kind": "http-api",
        "category": "tax",
        "summary": "Avalara AvaTax calculates sales tax, VAT and GST for a transaction and records it for reporting. Agents reach it through the AvaTax REST v2 API or a hosted MCP server, with separate Avalara products for returns, exemption certificates and e-invoicing.",
        "url": "https://www.anchorterminal.com/tools/avalara",
        "markdownUrl": "https://www.anchorterminal.com/tools/avalara.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/avalara.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/avalara.json",
        "repo": "https://github.com/avadev/mcp",
        "license": "Proprietary service under the Avalara Service Terms. The SDKs on GitHub are Apache-2.0. The MCP repository holds a README only, with no licence file",
        "transports": [
          "http",
          "streamable-http"
        ],
        "remoteUrl": "https://rest.avatax.com/api/v2",
        "packages": [
          {
            "registry": "npm",
            "name": "avatax"
          },
          {
            "registry": "pypi",
            "name": "Avalara"
          }
        ],
        "auth": "mixed",
        "authNotes": "The MCP server uses OAuth through identity.avalara.com (sandbox ai-sbx.avlr.sh) with one scope, avalara_mcp, and a person signs in and consents in a browser. The identity server advertises PKCE (S256), a public client registration endpoint, device code and client credentials grants. The REST API accepts HTTP Basic with a username and password or with an account ID and licence key, or a bearer token from the identity server. Licence keys are account-wide, can be named, and a reset revokes the old key at once. What a caller can do follows the user's security role, such as AccountAdmin or CompanyUser. Access is self-serve through the trial signup, with no app review found.",
        "pricing": "paid",
        "pricingNotes": "Free 90-day AvaTax trial, no card, limited to 5 orders and 5 invoices a minute and 1,000 transactions a day, for evaluation with test data only under the AvaTax terms. Paid plans on the public pricing page are Core Compliance at $79 a state a month ($799 a state a year) and Core Compliance with SST services at $69 ($699 a year), both for businesses under $50M in annual revenue and both including AvaTax calculation and managed returns. Above that, plans are quoted. Avalara says price varies with products, states, integrations and monthly transaction volume, and no price per transaction or per API call is published (https://www.avalara.com/us/en/products/sales-and-use-tax/pricing.html, checked 2026-10-08).",
        "priceSummary": "$79 / mo",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402, MPP or L402 in the developer docs, the AvaTax API reference or the pricing page (checked 2026-10-08).",
          "endpoints": []
        },
        "toolCount": 10,
        "popularity": {
          "githubStars": 5,
          "npmWeekly": 330649,
          "pypiWeekly": 37689,
          "asOf": "2026-10-08"
        },
        "docsUrl": "https://developer.avalara.com/",
        "llmsTxt": "https://developer.avalara.com/llms.txt",
        "openapi": "https://sandbox-rest.avatax.com/swagger/v2/swagger.json",
        "registryName": "com.avalara/avatax",
        "capabilities": [
          "tax.calculate",
          "tax.transactions",
          "tax.exemptions",
          "tax.filing",
          "tax.invoicing"
        ],
        "tags": [
          "hosted",
          "paid",
          "free-trial",
          "mcp",
          "oauth",
          "openapi",
          "llms-txt",
          "typescript",
          "python",
          "java",
          "csharp",
          "sandbox",
          "status-page",
          "soc2",
          "iso27001"
        ],
        "lastRelease": "2026-09-16",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 68.8,
          "grade": "B",
          "agentReady": false,
          "rank": 162,
          "ranked": true,
          "rankOf": 629,
          "categoryRank": 1,
          "methodology": "0.4",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 84,
            "maintenance": 79,
            "payments": 30,
            "reliability": 62,
            "schema": 85,
            "security": 65,
            "transparency": 79
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-08"
          },
          "negative": 0,
          "verdict": "The REST API has a public Swagger file with 491 operations, a Markdown page per endpoint and a 90-day trial with no card. Production rate limits and prices per transaction are not published, the API patch notes stop at April 2023, and the tax calculation service was degraded for about 23 hours on 5 and 6 October 2026.",
          "bestFor": "An agent that must calculate and record US sales tax at address level, with VAT and GST in other countries, and hand the records to filing.",
          "strengths": [
            "Public Swagger 2.0 file with 491 operations, plus llms.txt and a Markdown page with a curl example for each endpoint",
            "Hosted MCP server at mcp.avalara.com/avatax with ten documented tools, OAuth sign-in and an entry in the official MCP registry as com.avalara/avatax",
            "90-day AvaTax trial with no card, limited to 5 orders and 5 invoices a minute and 1,000 transactions a day",
            "Errors return a code, number, description and help link, from a published list of 429 codes",
            "SDKs in six languages under Apache-2.0, released monthly, latest 26.9.0 on 16 September 2026"
          ],
          "weaknesses": [
            "Production rate limits are not published. The only numbers found are the trial limits and 5 calls a minute on report exports",
            "No price per transaction. Public plans are $79 a state a month, or $69 with SST services, and larger accounts are quoted",
            "The API patch notes page ends at version 23.4.1 of 26 April 2023, while production reports 26.9.2",
            "Tax calculation was degraded from 22:32 PT on 5 October to 21:20 PT on 6 October 2026, per status.avalara.com",
            "REST guides lead with HTTP Basic using a username and password or an account-wide licence key, and the MCP server has one scope, avalara_mcp"
          ],
          "agentNotes": [
            "Omit `type` or send SalesOrder for an estimate. A type ending in Invoice is recorded, and `commit` set to true locks it for reporting",
            "Retry a timed-out invoice with CreateOrAdjustTransaction, not CreateTransaction, which errors when a committed transaction has the same code",
            "Use sandbox-rest.avatax.com with sandbox credentials for tests. Production is rest.avatax.com and the two accounts are separate",
            "Add `$include=SummaryOnly` or LinesOnly to shrink transaction responses, and page lists with `$top` (1,000 at most) and `$skip`",
            "Call /api/v2/utilities/ping first. It answers without credentials and shows whether the credentials sent were accepted"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 0,
          "avgRating": 0,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "B",
              "methodology": "0.4",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 68.8
            }
          ],
          "editorialScores": {
            "ergonomics": 84,
            "maintenance": 79,
            "payments": 30,
            "reliability": 62,
            "schema": 85,
            "security": 65,
            "transparency": 69
          },
          "provenanceScore": 88
        },
        "connect": {
          "install": "npm install avatax",
          "http": "curl -X POST \"https://sandbox-rest.avatax.com/api/v2/transactions/create\" \\\n  -H \"Authorization: Basic \u003ccredentials\u003e\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Accept: application/json\" \\\n  -d @transaction.json",
          "config": {
            "mcpServers": {
              "avalara-avatax": {
                "type": "http",
                "url": "https://mcp.avalara.com/avatax"
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/tax.calculate",
          "tool": "https://letme.dev/avalara"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Core Compliance (AvaTax and managed returns)",
            "unit": "month",
            "usd": 79,
            "note": "per state, billed monthly; $799 per state billed yearly; annual revenue under $50M"
          },
          {
            "item": "Core Compliance + SST Services",
            "unit": "month",
            "usd": 69,
            "note": "per state, billed monthly; $699 per state billed yearly; qualifying sellers"
          },
          {
            "item": "AvaTax free trial",
            "unit": "month",
            "usd": 0,
            "note": "90 days, 1,000 transactions a day, test data only"
          }
        ],
        "provenance": {
          "legalEntity": "Avalara, Inc.",
          "domain": "avalara.com",
          "domainRegistered": "2003-12-08",
          "endpointOnVendorDomain": true,
          "terms": "https://legal.avalara.com/",
          "privacy": "https://legal.avalara.com/dpa",
          "statusPage": "https://status.avalara.com",
          "changelog": "https://developer.avalara.com/patch-notes/",
          "securityTxt": "none",
          "checked": "2026-10-08",
          "notes": [
            "The Service Terms (version 7.1, effective 1 October 2026) name Avalara, Inc., a Washington corporation at 512 S. Mangum St. #100, Durham, NC 27701, as the contracting entity under New York law, and Avalara Europe Ltd. (England and Wales, No. 8446351) for European customers.",
            "The MCP server answers at mcp.avalara.com. The REST API answers at rest.avatax.com and sandbox-rest.avatax.com. RDAP gives avatax.com a registration date of 2005-01-27, and Avalara's own documentation names those hosts.",
            "www.avalara.com/.well-known/security.txt and developer.avalara.com/.well-known/security.txt return 404. Reports go through the vulnerability disclosure programme at https://www.avalara.com/us/en/legal/responsible-disclosure.html.",
            "The patch notes page lists API releases up to 23.4.1 on 26 April 2023 and nothing later. Current releases are visible only as the version in /api/v2/utilities/ping and as SDK tags on GitHub.",
            "RDAP for avalara.com gives a registration date of 2003-12-08. Privacy notices, the DPA and the subprocessor list are published together at legal.avalara.com/dpa."
          ],
          "score": 88
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/avalara.json",
        "live": {
          "slug": "avalara",
          "probe": {
            "target": "https://rest.avatax.com/api/v2",
            "method": "get",
            "lastAt": "2026-10-08T17:36:30.571722273Z",
            "lastOk": true,
            "lastStatus": 401,
            "lastMs": 313,
            "lastNote": "asks for credentials",
            "authRequired": true,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 328,
            "p95ms24h": 407,
            "samples24h": 25,
            "samples30d": 25,
            "days": [
              {
                "date": "2026-10-08",
                "probes": 25,
                "ok": 25
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.avalara.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-08T17:37:43.046132634Z"
          },
          "versions": [
            {
              "registry": "npm",
              "name": "avatax",
              "version": "26.9.0",
              "seenAt": "2026-10-08T16:00:19.162430293Z"
            },
            {
              "registry": "pypi",
              "name": "Avalara",
              "version": "26.9.0",
              "released": "2026-09-16",
              "seenAt": "2026-10-08T16:00:23.243148692Z"
            }
          ],
          "githubStars": 5,
          "npmWeekly": 330649,
          "pypiWeekly": 37689,
          "securityTxt": {
            "url": "https://avalara.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-08T15:38:36.211738872Z"
          },
          "updatedAt": "2026-10-08T17:37:43.046132634Z"
        }
      },
      {
        "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": 321,
          "ranked": true,
          "rankOf": 629,
          "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-08T17:36:30.014510522Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 144,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 147,
            "p95ms24h": 196,
            "samples24h": 25,
            "samples30d": 25,
            "days": [
              {
                "date": "2026-10-08",
                "probes": 25,
                "ok": 25
              }
            ]
          },
          "vendorStatus": {
            "page": "https://anrok-status.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-08T17:37:26.667835141Z"
          },
          "securityTxt": {
            "url": "https://anrok.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-08T15:38:57.64505605Z"
          },
          "updatedAt": "2026-10-08T17:37:26.667835141Z"
        }
      },
      {
        "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": 377,
          "ranked": true,
          "rankOf": 629,
          "categoryRank": 3,
          "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-08T17:36:43.638591373Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 122,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 112,
            "p95ms24h": 151,
            "samples24h": 25,
            "samples30d": 25,
            "days": [
              {
                "date": "2026-10-08",
                "probes": 25,
                "ok": 25
              }
            ]
          },
          "vendorStatus": {
            "page": "https://quaderno.statuspage.io",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-08T17:25:36.463872065Z"
          },
          "githubStars": 15,
          "securityTxt": {
            "url": "https://quaderno.io/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-08T15:38:48.301371426Z"
          },
          "updatedAt": "2026-10-08T17:36:43.638591373Z"
        }
      },
      {
        "slug": "taxjar",
        "name": "TaxJar",
        "vendor": "TaxJar (Stripe)",
        "vendorUrl": "https://www.taxjar.com",
        "kind": "http-api",
        "category": "tax",
        "summary": "TaxJar is Stripe's US sales tax service for businesses that sell across states. Its REST API calculates tax for an order, looks up rates by address, records orders and refunds for reporting, and stores exempt customers.",
        "url": "https://www.anchorterminal.com/tools/taxjar",
        "markdownUrl": "https://www.anchorterminal.com/tools/taxjar.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/taxjar.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/taxjar.json",
        "repo": "https://github.com/taxjar/taxjar-node",
        "license": "Proprietary service under TaxJar's terms of service and API licence agreement. The official API clients on GitHub are MIT",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://api.taxjar.com/v2",
        "packages": [
          {
            "registry": "npm",
            "name": "taxjar"
          },
          {
            "registry": "pypi",
            "name": "taxjar"
          }
        ],
        "auth": "api-key",
        "authNotes": "A self-serve API token, generated by a signed-in user at Account \u003e TaxJar API in the web app and sent as `Authorization: Bearer \u003ctoken\u003e`. The token has no scopes and covers every endpoint for that account, deletes included. API access needs the Professional plan or the 30-day trial. The sandbox takes its own token. No OAuth, app review or partner approval applies.",
        "pricing": "paid",
        "pricingNotes": "The API needs the Professional plan, from $99 a month at 200 orders, with higher order tiers on a selector. Each calculation or rate lookup counts as a tenth of an order, errors included. A 30-day trial with API access needs no card, so an agent's owner can start without a contract. The sandbox comes with Professional plans (checked 2026-10-08).",
        "priceSummary": "$99 / mo",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402, MPP or L402 in the API reference, the API guides or the pricing page (checked 2026-10-08).",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 57,
          "npmWeekly": 95036,
          "pypiWeekly": 49713,
          "asOf": "2026-10-08"
        },
        "docsUrl": "https://developers.taxjar.com/api/reference/",
        "capabilities": [
          "tax.calculate",
          "tax.transactions",
          "tax.exemptions",
          "shipping.address-validation"
        ],
        "tags": [
          "hosted",
          "closed-source",
          "api-key",
          "sandbox",
          "no-card",
          "python",
          "typescript",
          "ruby",
          "php",
          "java",
          "go",
          "dotnet",
          "status-page",
          "soc2"
        ],
        "lastRelease": "2026-09-02",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 57.6,
          "grade": "C",
          "agentReady": false,
          "rank": 417,
          "ranked": true,
          "rankOf": 629,
          "categoryRank": 4,
          "methodology": "0.4",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 61,
            "maintenance": 64,
            "payments": 30,
            "reliability": 84,
            "schema": 48,
            "security": 43,
            "transparency": 71
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-08"
          },
          "negative": 0,
          "verdict": "A 21-operation REST API with a no-card 30-day trial, caller-chosen transaction IDs that make order pushes safe to repeat, and no status-page incident since March 2026. No OpenAPI spec or llms.txt was found, the API changelog stops at January 2022, tokens carry no scopes, and calculation is US-only for new accounts.",
          "bestFor": "An agent working for a US seller that needs sales tax on an order at checkout and a record of orders and refunds for state reporting, with exempt customers handled by ID.",
          "strengths": [
            "30-day trial with Professional plan access, the API included, and no card needed at signup",
            "Orders and refunds take a caller-chosen `transaction_id`. A duplicate create returns 422 and the docs direct a PUT update",
            "status.taxjar.com lists seven components and no incident since 26 March 2026",
            "Rate limits published as 10,000 requests a minute on Professional and 25,000 on Premium",
            "Official clients for seven languages. The Node client reached 5.0.0 on npm on 2 September 2026 and .NET 5.0.0 on NuGet on 4 August 2026"
          ],
          "weaknesses": [
            "No OpenAPI spec or llms.txt was found. The taxjar/openapi repository on GitHub holds only a README",
            "The API changelog's last entry is 24 January 2022, and no deprecation policy was found",
            "Calculation covers the United States only for new accounts. The docs point other countries to Stripe Tax",
            "API tokens carry no scopes or read-only mode, and the same token can delete transactions and customers",
            "Calls that return an error still count as a tenth of an order against the plan, per the help centre"
          ],
          "agentNotes": [
            "Send `x-api-version: 2022-01-24` on every call. Accounts opened before 3 February 2022 default to an older version with weaker validation",
            "Pass `nexus_addresses[]` or keep nexus states in the account. Without nexus the API returns zero tax and reports no error",
            "Create orders with your own `transaction_id`. On 422 the order already exists, so send a PUT to update it",
            "Post JSON with `Content-Type: application/json`. Form-encoded arrays such as `line_items[]` can return 406",
            "Cache calculations and skip states without nexus. Each calculation or rate lookup counts as a tenth of an order, errors included"
          ],
          "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": 57.6
            }
          ],
          "editorialScores": {
            "ergonomics": 61,
            "maintenance": 64,
            "payments": 30,
            "reliability": 84,
            "schema": 48,
            "security": 43,
            "transparency": 55
          },
          "provenanceScore": 87
        },
        "connect": {
          "install": "npm install taxjar",
          "http": "curl https://api.taxjar.com/v2/categories \\\n  -H \"Authorization: Bearer ${TAXJAR_API_KEY}\""
        },
        "letme": {
          "capability": "https://letme.dev/tax.calculate",
          "tool": "https://letme.dev/taxjar"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Professional, 200 orders a month",
            "unit": "month",
            "usd": 99,
            "note": "the plan with API access; a calculation or rate lookup counts as a tenth of an order"
          },
          {
            "item": "Professional, 500 orders a month",
            "unit": "month",
            "usd": 249,
            "note": "per the flex fee article"
          },
          {
            "item": "Professional, 1,000 orders a month",
            "unit": "month",
            "usd": 499,
            "note": "per the flex fee article"
          },
          {
            "item": "Starter, 200 orders a month",
            "unit": "month",
            "usd": 39,
            "note": "no API access"
          },
          {
            "item": "AutoFile return beyond included credits, Professional",
            "unit": "tx",
            "usd": 55,
            "note": "four credits a year included; $50 on Starter"
          }
        ],
        "provenance": {
          "legalEntity": "TPS Unlimited, Inc. (d/b/a TaxJar, a wholly owned subsidiary of Stripe, Inc.)",
          "domain": "taxjar.com",
          "domainRegistered": "2012-03-02",
          "endpointOnVendorDomain": true,
          "terms": "https://www.taxjar.com/terms-of-service",
          "privacy": "https://www.taxjar.com/privacy",
          "statusPage": "https://status.taxjar.com",
          "changelog": "https://developers.taxjar.com/api/reference/#changelog",
          "securityTxt": "none",
          "checked": "2026-10-08",
          "notes": [
            "The terms of service and the API licence agreement on the same page (last updated 14 May 2026) are with TPS Unlimited, Inc. d/b/a TaxJar. The data processing agreement of the same date calls it a wholly owned subsidiary of Stripe, Inc.",
            "The privacy policy (last updated 7 January 2022) gives TPS Unlimited, Inc., 462 Washington St. #3066, Woburn, Massachusetts 01888, and adds (A Stripe Company). The about page says Stripe acquired TaxJar in 2021.",
            "Stripe is listed separately on Anchor Terminal. TaxJar keeps its own API, account system, terms and status page, and its sub-processor list names Stripe, LLC and affiliates for billing.",
            "The API host is api.taxjar.com and the sandbox api.sandbox.taxjar.com. RDAP gives a registration date of 2012-03-02 for taxjar.com, with Com Laude as registrar.",
            "www.taxjar.com/.well-known/security.txt and api.taxjar.com/.well-known/security.txt return 404. stripe.com serves a valid security.txt that points to HackerOne, and we didn't establish whether that programme covers TaxJar hosts.",
            "The changelog is a section of the API reference page, and its newest entry is dated 24 January 2022."
          ],
          "score": 87
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/taxjar.json",
        "live": {
          "slug": "taxjar",
          "probe": {
            "target": "https://api.taxjar.com/v2",
            "method": "get",
            "lastAt": "2026-10-08T17:36:46.932593194Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 265,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 264,
            "p95ms24h": 336,
            "samples24h": 25,
            "samples30d": 25,
            "days": [
              {
                "date": "2026-10-08",
                "probes": 25,
                "ok": 25
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.taxjar.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-08T17:25:52.193204492Z"
          },
          "versions": [
            {
              "registry": "github",
              "name": "taxjar/taxjar-node",
              "version": "v5.0.0",
              "released": "2026-02-03",
              "seenAt": "2026-10-08T16:31:32.062161715Z"
            },
            {
              "registry": "npm",
              "name": "taxjar",
              "version": "5.0.0",
              "seenAt": "2026-10-08T16:31:31.016239944Z"
            },
            {
              "registry": "pypi",
              "name": "taxjar",
              "version": "2.0.1",
              "released": "2025-04-14",
              "seenAt": "2026-10-08T16:31:31.869241068Z"
            }
          ],
          "githubStars": 57,
          "npmWeekly": 95036,
          "pypiWeekly": 49713,
          "securityTxt": {
            "url": "https://taxjar.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-08T15:39:06.776426979Z"
          },
          "updatedAt": "2026-10-08T17:36:46.932593194Z"
        }
      },
      {
        "slug": "vertex-tax",
        "name": "Vertex O Series",
        "vendor": "Vertex, Inc.",
        "vendorUrl": "https://www.vertexinc.com",
        "kind": "http-api",
        "category": "tax",
        "summary": "Vertex O Series is indirect tax software from Vertex, Inc. that calculates sales tax, use tax and VAT for a transaction and records it for reporting. Agents reach it through REST v2 APIs with OAuth client credentials.",
        "url": "https://www.anchorterminal.com/tools/vertex-tax",
        "markdownUrl": "https://www.anchorterminal.com/tools/vertex-tax.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/vertex-tax.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/vertex-tax.json",
        "license": "Proprietary service under a customer agreement with Vertex, Inc. that isn't published",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://calcconnect.vertexsmb.com/vertex-ws/v2",
        "packages": [],
        "auth": "oauth",
        "authNotes": "Access is granted through a sales contract. OAuth 2.0 client credentials follow. A Cloud Partition System Administrator creates an API credential under Account Settings, Security \u0026 Credentials, choosing the API and the partition it maps to. The client id and secret are exchanged at https://auth.vertexcloud.com/oauth/token with audience `verx://migration-api` for a bearer token that lasts 3,599 seconds. The secret is shown once and a credential can't be edited. Token requests are limited to 10 per 8 hours, and a caching endpoint at tokenguard.vertexcloud.com returns unexpired tokens. On-Premise and On-Demand deployments use a service account with the API User role and their own token URL.",
        "pricing": "paid",
        "pricingNotes": "No public prices. www.vertexinc.com/pricing returns 404 and the O Series product page asks visitors to book a demo. No free tier, trial or self-serve sandbox was found, and the security guide says to work with the Vertex sales team to establish an account. O Series Online Commerce documents a sandbox host that uses the same contracted credentials (checked 2026-10-08).",
        "priceSummary": "Paid",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402, MPP or L402 in the developer docs or the OpenAPI specs (checked 2026-10-08).",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": null,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-10-08"
        },
        "docsUrl": "https://developer.vertexinc.com/oseries/docs/quick-start",
        "openapi": "https://developer.vertexinc.com/oseries/openapi/vertex-tax-calculation-and-tax-gis-api.json",
        "capabilities": [
          "tax.calculate",
          "tax.transactions",
          "tax.exemptions",
          "tax.invoicing"
        ],
        "tags": [
          "hosted",
          "enterprise",
          "oauth",
          "openapi",
          "sales-led",
          "status-page",
          "soc2",
          "on-premise",
          "vat",
          "sales-tax"
        ],
        "lastRelease": "2026-09-25",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 54.7,
          "grade": "C",
          "agentReady": false,
          "rank": 464,
          "ranked": true,
          "rankOf": 629,
          "categoryRank": 5,
          "methodology": "0.4",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 51,
            "maintenance": 62,
            "payments": 0,
            "reliability": 65,
            "schema": 74,
            "security": 57,
            "transparency": 68
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-08"
          },
          "negative": 0,
          "verdict": "Public OpenAPI 3.0 specs cover calculation, transaction management, tax area lookup and tax configuration, and guides are served as Markdown. Access needs a sales contract. No price, free tier, sandbox signup, calculation rate limit, idempotency key or official SDK was found in the reviewed documentation.",
          "bestFor": "An agent working inside a company that already has an O Series licence, for quotes, invoice tax, tax area lookups and tax configuration across sales tax, use tax and VAT.",
          "strengths": [
            "OpenAPI 3.0 specs download without a login. Calculation and Tax GIS is version 2.9.0 with 14 operations, Tax Configuration v2.1.0 with 29",
            "Every guide page is served as Markdown when .md is added to its URL",
            "Each Cloud API credential maps to one API and one partition, and token requests carrying credentials in the URL are rejected",
            "status.vertexinc.com lists 26 components, and no incident from 10 July to 8 October 2026 names O Series Cloud",
            "The trust centre lists SOC 1 Type II and SOC 2 Type II reports for 2025 and five sub-processors with locations"
          ],
          "weaknesses": [
            "No public price, free tier or self-serve signup. The security guide sends new users to the Vertex sales team for an account",
            "No rate limit for the calculation API and no idempotency key were found in the reviewed documentation",
            "The standard token endpoint allows 10 access token requests per 8 hours for each client",
            "No official SDK, MCP server or llms.txt on the developer site was found",
            "The customer agreement, DPA and Service Level Exhibit sit behind an access request in the trust centre"
          ],
          "agentNotes": [
            "Cache the access token for its 3,599-second life. The standard token endpoint allows 10 requests per 8 hours, and tokenguard.vertexcloud.com returns a cached token",
            "Send no `Authorization: Bearer` header to /oauth/token, and put the client id and secret in the body or a Basic header. Credentials in the URL are rejected",
            "Set `saleMessageType` to QUOTATION for an estimate. INVOICE is stored for reporting and remittance",
            "Call GET /v2/transaction-exists/{transactionid} before retrying a failed INVOICE. No idempotency key is documented",
            "Delete, reverse or roll back a Cloud transaction within 90 days of calculation. Later requests can cause calculation errors or duplicates"
          ],
          "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": 54.7
            }
          ],
          "editorialScores": {
            "ergonomics": 51,
            "maintenance": 62,
            "payments": 0,
            "reliability": 65,
            "schema": 74,
            "security": 57,
            "transparency": 52
          },
          "provenanceScore": 84
        },
        "connect": {
          "http": "curl --location 'https://auth.vertexcloud.com/oauth/token' \\\n  --header 'Content-Type: application/x-www-form-urlencoded' \\\n  --data-urlencode 'client_id=\u003cyour-client-id\u003e' \\\n  --data-urlencode 'client_secret=\u003cyour-client-secret\u003e' \\\n  --data-urlencode 'audience=verx://migration-api' \\\n  --data-urlencode 'grant_type=client_credentials'"
        },
        "letme": {
          "capability": "https://letme.dev/tax.calculate",
          "tool": "https://letme.dev/vertex-tax"
        },
        "area": "domain-data",
        "provenance": {
          "legalEntity": "Vertex, Inc.",
          "domain": "vertexinc.com",
          "domainRegistered": "1998-09-01",
          "endpointOnVendorDomain": true,
          "terms": "https://www.vertexinc.com/terms-of-use",
          "privacy": "https://www.vertexinc.com/vertex-privacy-policy",
          "statusPage": "https://status.vertexinc.com",
          "changelog": "https://developer.vertexinc.com/oseries/docs/os-release",
          "securityTxt": "none",
          "checked": "2026-10-08",
          "notes": [
            "The website terms of use and the privacy notice name Vertex, Inc., 2301 Renaissance Blvd., King of Prussia, PA 19406, and the terms choose Pennsylvania law. The privacy notice was last updated on 19 August 2026.",
            "Cloud API calls go to calcconnect.vertexsmb.com and auth.vertexcloud.com, which the vendor's developer docs name as its hosts. We didn't check the registration of those two domains. On-Demand deployments answer on \u003ccustomer\u003e.ondemand.vertexinc.com.",
            "www.vertexinc.com/.well-known/security.txt and /security.txt return 404.",
            "The terms URL is the website terms of use. The customer agreement, DPA, Security Exhibit and Service Level Exhibit are listed in the trust centre behind an access request.",
            "RDAP for vertexinc.com gives a registration date of 1998-09-01."
          ],
          "score": 84
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/vertex-tax.json",
        "live": {
          "slug": "vertex-tax",
          "probe": {
            "target": "https://calcconnect.vertexsmb.com/vertex-ws/v2",
            "method": "get",
            "lastAt": "2026-10-08T17:36:48.565295557Z",
            "lastOk": true,
            "lastStatus": 401,
            "lastMs": 328,
            "lastNote": "asks for credentials",
            "authRequired": true,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 345,
            "p95ms24h": 435,
            "samples24h": 25,
            "samples30d": 25,
            "days": [
              {
                "date": "2026-10-08",
                "probes": 25,
                "ok": 25
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.vertexinc.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-08T17:25:55.487190002Z"
          },
          "securityTxt": {
            "url": "https://vertexinc.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-08T15:38:42.909167355Z"
          },
          "updatedAt": "2026-10-08T17:36:48.565295557Z"
        }
      }
    ]
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/categories/tax",
    "json": "https://www.anchorterminal.com/categories/tax.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/categories/tax.md",
    "slim": "https://www.anchorterminal.com/categories/tax.min.md"
  },
  "markdown": "Services that calculate sales tax, VAT and GST for a transaction, record it for reporting and handle registrations, exemptions and filing. Compared on calculation coverage by country and US state, the transaction API, filing and price per call.\n\n- Tools ranked: 5 · agent-ready (BB or better): 0 · accept x402: 0 · hosted endpoints: 5 · desk reviews by the panel: 0\n- JSON: https://www.anchorterminal.com/api/v1/tools.json (list) · https://www.anchorterminal.com/api/v1/rankings.json (ranked) · https://www.anchorterminal.com/api/v1/x402.json (payable) · https://www.anchorterminal.com/api/v1/capabilities.json (by capability)\n- Grades run AA, A, BB, B, C, D, E, F · methodology: https://www.anchorterminal.com/benchmark/\n\n- Capabilities in this category: tax.calculate, tax.transactions, tax.filing, tax.exemptions, tax.invoicing\n- https://letme.dev/tax.calculate picks the top-graded tool in this list and says how to call it direct; calling through letme comes later (https://www.anchorterminal.com/letme/index.md)\n\n## Ranking\n\n| # | Tool | Vendor | Kind | Category | Grade | Score | Confidence | x402 | Auth | Where | Reviews | Page |\n| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |\n| 162 | Avalara AvaTax | Avalara, Inc. | HTTP API | Tax | B | 68.8 | medium | no | OAuth or key | hosted | none | https://www.anchorterminal.com/tools/avalara.md |\n| 321 | Anrok | Anrok, Inc. | HTTP API | Tax | C | 61.6 | medium | no | OAuth or key | hosted | none | https://www.anchorterminal.com/tools/anrok.md |\n| 377 | Quaderno | Recrea Systems, SL | HTTP API | Tax | C | 59.5 | medium | no | OAuth or key | hosted | none | https://www.anchorterminal.com/tools/quaderno.md |\n| 417 | TaxJar | TaxJar (Stripe) | HTTP API | Tax | C | 57.6 | medium | no | API key | hosted | none | https://www.anchorterminal.com/tools/taxjar.md |\n| 464 | Vertex O Series | Vertex, Inc. | HTTP API | Tax | C | 54.7 | medium | no | OAuth | hosted | none | https://www.anchorterminal.com/tools/vertex-tax.md |\n\nScores are from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/), with Performance and Task success pending. p95 latency and context cost come from our probes, which haven't run yet.\n\n## Summaries\n\n### 162. Avalara AvaTax, B (68.8)\n\nAvalara AvaTax calculates sales tax, VAT and GST for a transaction and records it for reporting. Agents reach it through the AvaTax REST v2 API or a hosted MCP server, with separate Avalara products for returns, exemption certificates and e-invoicing. The REST API has a public Swagger file with 491 operations, a Markdown page per endpoint and a 90-day trial with no card. Production rate limits and prices per transaction are not published, the API patch notes stop at April 2023, and the tax calculation service was degraded for about 23 hours on 5 and 6 October 2026.\n\n- Page: https://www.anchorterminal.com/tools/avalara · Markdown: https://www.anchorterminal.com/tools/avalara.md · JSON: https://www.anchorterminal.com/api/v1/tools/avalara.json\n- Capabilities: tax.calculate, tax.transactions, tax.exemptions, tax.filing, tax.invoicing · endpoint: `https://rest.avatax.com/api/v2`\n\n### 321. Anrok, C (61.6)\n\nAnrok 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. 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- Page: https://www.anchorterminal.com/tools/anrok · Markdown: https://www.anchorterminal.com/tools/anrok.md · JSON: https://www.anchorterminal.com/api/v1/tools/anrok.json\n- Capabilities: tax.calculate, tax.transactions, tax.exemptions, tax.filing · endpoint: `https://api.anrok.com`\n\n### 377. Quaderno, C (59.5)\n\nSales 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. 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- Page: https://www.anchorterminal.com/tools/quaderno · Markdown: https://www.anchorterminal.com/tools/quaderno.md · JSON: https://www.anchorterminal.com/api/v1/tools/quaderno.json\n- Capabilities: tax.calculate, tax.transactions, tax.invoicing · endpoint: `https://quadernoapp.com/api`\n\n### 417. TaxJar, C (57.6)\n\nTaxJar is Stripe's US sales tax service for businesses that sell across states. Its REST API calculates tax for an order, looks up rates by address, records orders and refunds for reporting, and stores exempt customers. A 21-operation REST API with a no-card 30-day trial, caller-chosen transaction IDs that make order pushes safe to repeat, and no status-page incident since March 2026. No OpenAPI spec or llms.txt was found, the API changelog stops at January 2022, tokens carry no scopes, and calculation is US-only for new accounts.\n\n- Page: https://www.anchorterminal.com/tools/taxjar · Markdown: https://www.anchorterminal.com/tools/taxjar.md · JSON: https://www.anchorterminal.com/api/v1/tools/taxjar.json\n- Capabilities: tax.calculate, tax.transactions, tax.exemptions, shipping.address-validation · endpoint: `https://api.taxjar.com/v2`\n\n### 464. Vertex O Series, C (54.7)\n\nVertex O Series is indirect tax software from Vertex, Inc. that calculates sales tax, use tax and VAT for a transaction and records it for reporting. Agents reach it through REST v2 APIs with OAuth client credentials. Public OpenAPI 3.0 specs cover calculation, transaction management, tax area lookup and tax configuration, and guides are served as Markdown. Access needs a sales contract. No price, free tier, sandbox signup, calculation rate limit, idempotency key or official SDK was found in the reviewed documentation.\n\n- Page: https://www.anchorterminal.com/tools/vertex-tax · Markdown: https://www.anchorterminal.com/tools/vertex-tax.md · JSON: https://www.anchorterminal.com/api/v1/tools/vertex-tax.json\n- Capabilities: tax.calculate, tax.transactions, tax.exemptions, tax.invoicing · endpoint: `https://calcconnect.vertexsmb.com/vertex-ws/v2`\n\n## How we test this category\n\nThe same twenty transactions (US states, EU countries, digital and physical goods, an exempt buyer) sent to each listing's calculation API and committed for reporting. We check the rates returned against published rates, address handling and the report that results. In this run listings are graded from public evidence against the published checklist. This test hasn't run yet, so Task success is pending and the grades here come from the categories assessed from public evidence.\n\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": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Tax calculation \u0026 compliance",
        "url": ""
      }
    ],
    "description": "5 tax calculation \u0026 compliance listings ranked by the Anchor benchmark. Leader Avalara AvaTax (B). Services that calculate sales tax, VAT and GST for a transaction, record it for reporting and handle registrations, exemptions and filing. Compared on calculation coverage by country and US state, the transaction API, filing and price per call.",
    "facts": [
      "Avalara AvaTax B",
      "Anrok C",
      "Quaderno C"
    ],
    "h1": "Sales tax and VAT calculation APIs for AI agents",
    "image": "https://www.anchorterminal.com/assets/og/categories-tax.png",
    "path": "/categories/tax",
    "published": "",
    "section": "tools",
    "title": "Sales tax and VAT calculation APIs for AI agents, ranked",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/categories/tax"
  },
  "tokens": {
    "markdown": 1950,
    "slim": 380
  },
  "version": 1
}
