{
  "data": {
    "a": {
      "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": 470,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 5,
        "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-08T21:53:35.400087132Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 116,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 263,
          "p95ms24h": 331,
          "samples24h": 71,
          "samples30d": 71,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 71,
              "ok": 71
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.taxjar.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:58:16.178812619Z"
        },
        "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"
        },
        "pages": [
          {
            "url": "https://developers.taxjar.com/api/reference/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:18:03.269696625Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fb0fe884536c"
          },
          {
            "url": "https://www.taxjar.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:56.737296724Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b22cd1da61e7"
          },
          {
            "url": "https://www.taxjar.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:59.304705205Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7e694d9c9de5"
          }
        ],
        "updatedAt": "2026-10-08T21:58:16.178812619Z"
      }
    },
    "answer": "TaxJar scores 57.6 (C) on agent readiness against Zamp's 49.5 (D), and leads in 6 of 7 scored categories.",
    "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": "TaxJar (Stripe)",
        "b": "Zamp Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.taxjar.com/v2",
        "b": "https://api.zamp.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under TaxJar's terms of service and API licence agreement. The official API clients on GitHub are MIT",
        "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": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-02",
        "b": "2026-08-31",
        "name": "Last release"
      },
      {
        "a": "2026-05-14",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2022-01-07",
        "b": "2025-02-11",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "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"
      },
      {
        "a": "57 stars, 95k npm/wk, 50k PyPI/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "TaxJar scores 57.6 (C) on agent readiness against Zamp's 49.5 (D), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, TaxJar or Zamp?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do TaxJar and Zamp need an API key?"
      },
      {
        "answer": "Yes. TaxJar has a hosted endpoint at https://api.taxjar.com/v2 and Zamp at https://api.zamp.com.",
        "question": "Can an agent call TaxJar and Zamp without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 84 against 72",
          "Payments \u0026 pricing, 30 against 20",
          "Maintenance \u0026 community, 64 against 42",
          "Transparency \u0026 trust, 71 against 50"
        ],
        "also": null,
        "goodFor": "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.",
        "slug": "taxjar",
        "watchFor": "No OpenAPI spec or llms.txt was found. The taxjar/openapi repository on GitHub holds only a README"
      },
      {
        "aheadOn": null,
        "also": null,
        "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-taxjar.json",
        "title": "Anrok vs TaxJar",
        "url": "https://www.anchorterminal.com/compare/anrok-vs-taxjar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anrok-vs-zamp.json",
        "title": "Anrok vs Zamp",
        "url": "https://www.anchorterminal.com/compare/anrok-vs-zamp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/avalara-vs-taxjar.json",
        "title": "Avalara AvaTax vs TaxJar",
        "url": "https://www.anchorterminal.com/compare/avalara-vs-taxjar"
      },
      {
        "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-taxjar.json",
        "title": "Fonoa vs TaxJar",
        "url": "https://www.anchorterminal.com/compare/fonoa-vs-taxjar"
      },
      {
        "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-taxjar.json",
        "title": "Kintsugi vs TaxJar",
        "url": "https://www.anchorterminal.com/compare/kintsugi-vs-taxjar"
      },
      {
        "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-taxjar.json",
        "title": "Numeral vs TaxJar",
        "url": "https://www.anchorterminal.com/compare/numeral-vs-taxjar"
      },
      {
        "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-taxjar.json",
        "title": "Quaderno vs TaxJar",
        "url": "https://www.anchorterminal.com/compare/quaderno-vs-taxjar"
      },
      {
        "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-taxjar.json",
        "title": "TaxCloud vs TaxJar",
        "url": "https://www.anchorterminal.com/compare/taxcloud-vs-taxjar"
      },
      {
        "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-vertex-tax.json",
        "title": "TaxJar vs Vertex O Series",
        "url": "https://www.anchorterminal.com/compare/taxjar-vs-vertex-tax"
      },
      {
        "json": "https://www.anchorterminal.com/compare/vertex-tax-vs-zamp.json",
        "title": "Vertex O Series vs Zamp",
        "url": "https://www.anchorterminal.com/compare/vertex-tax-vs-zamp"
      }
    ],
    "scores": [
      {
        "by": 12,
        "edge": "taxjar",
        "key": "reliability",
        "name": "Reliability",
        "taxjar": 84,
        "weight": 16,
        "zamp": 72
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 4,
        "edge": "taxjar",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "taxjar": 48,
        "weight": 13,
        "zamp": 44
      },
      {
        "by": 3,
        "edge": "zamp",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "taxjar": 61,
        "weight": 13,
        "zamp": 64
      },
      {
        "by": 3,
        "edge": "taxjar",
        "key": "security",
        "name": "Security \u0026 auth",
        "taxjar": 43,
        "weight": 14,
        "zamp": 40
      },
      {
        "by": 10,
        "edge": "taxjar",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "taxjar": 30,
        "weight": 10,
        "zamp": 20
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 22,
        "edge": "taxjar",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "taxjar": 64,
        "weight": 7,
        "zamp": 42
      },
      {
        "by": 21,
        "edge": "taxjar",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "taxjar": 71,
        "weight": 7,
        "zamp": 50
      }
    ],
    "summary": "TaxJar scores 57.6 (C) on agent readiness against Zamp's 49.5 (D), and leads in 6 of 7 scored categories. Both do tax calculate.",
    "verdicts": {
      "taxjar": "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.",
      "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/taxjar-vs-zamp",
    "json": "https://www.anchorterminal.com/compare/taxjar-vs-zamp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/taxjar-vs-zamp.md",
    "slim": "https://www.anchorterminal.com/compare/taxjar-vs-zamp.min.md"
  },
  "markdown": "TaxJar scores 57.6 (C) on agent readiness against Zamp's 49.5 (D), and leads in 6 of 7 scored categories. Both do tax calculate.\n\n- TaxJar: grade C, 57.6/100, rank #470 of 722. Markdown https://www.anchorterminal.com/tools/taxjar.md · JSON https://www.anchorterminal.com/api/v1/tools/taxjar.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### TaxJar (C)\n\nGood for: 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.\n\nAhead on:\n- Reliability, 84 against 72\n- Payments \u0026 pricing, 30 against 20\n- Maintenance \u0026 community, 64 against 42\n- Transparency \u0026 trust, 71 against 50\n\nWatch for: No OpenAPI spec or llms.txt was found. The taxjar/openapi repository on GitHub holds only a README\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\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 | TaxJar | Zamp | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 84 | 72 | TaxJar +12 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 48 | 44 | TaxJar +4 |\n| Agent ergonomics | 13% (16.2 this run) | 61 | 64 | Zamp +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 43 | 40 | TaxJar +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 20 | TaxJar +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 64 | 42 | TaxJar +22 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 71 | 50 | TaxJar +21 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **57.6 · C** | **49.5 · D** | |\n\n## Facts side by side\n\n| Fact | TaxJar | Zamp |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | TaxJar (Stripe) | Zamp Inc. |\n| Hosted endpoint | `https://api.taxjar.com/v2` | `https://api.zamp.com` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under TaxJar's terms of service and API licence agreement. The official API clients on GitHub are MIT | 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| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-09-02 | 2026-08-31 |\n| Terms last updated | 2026-05-14 | no date given |\n| Privacy policy last updated | 2022-01-07 | 2025-02-11 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | 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| Popularity | 57 stars, 95k npm/wk, 50k PyPI/wk | none |\n\n## Verdicts\n\n**TaxJar.** 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**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### TaxJar\n\n1. Send `x-api-version: 2022-01-24` on every call. Accounts opened before 3 February 2022 default to an older version with weaker validation\n2. Pass `nexus_addresses[]` or keep nexus states in the account. Without nexus the API returns zero tax and reports no error\n3. Create orders with your own `transaction_id`. On 422 the order already exists, so send a PUT to update it\n4. Post JSON with `Content-Type: application/json`. Form-encoded arrays such as `line_items[]` can return 406\n5. Cache calculations and skip states without nexus. Each calculation or rate lookup counts as a tenth of an order, errors included\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, TaxJar or Zamp?\n\nTaxJar scores 57.6 (C) on agent readiness against Zamp's 49.5 (D), and leads in 6 of 7 scored categories.\n\n### Do TaxJar and Zamp need an API key?\n\nBoth need an API key.\n\n### Can an agent call TaxJar and Zamp without installing anything?\n\nYes. TaxJar has a hosted endpoint at https://api.taxjar.com/v2 and Zamp at https://api.zamp.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/taxjar-vs-zamp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/taxjar-vs-zamp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"taxjar\", \"b\": \"zamp\"}`. From a terminal: `anchor compare taxjar zamp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/taxjar.json and https://www.anchorterminal.com/api/v1/tools/zamp.json\n\n## Other comparisons with TaxJar or Zamp\n\n- [Anrok vs TaxJar](https://www.anchorterminal.com/compare/anrok-vs-taxjar.md)\n- [Anrok vs Zamp](https://www.anchorterminal.com/compare/anrok-vs-zamp.md)\n- [Avalara AvaTax vs TaxJar](https://www.anchorterminal.com/compare/avalara-vs-taxjar.md)\n- [Avalara AvaTax vs Zamp](https://www.anchorterminal.com/compare/avalara-vs-zamp.md)\n- [Fonoa vs TaxJar](https://www.anchorterminal.com/compare/fonoa-vs-taxjar.md)\n- [Fonoa vs Zamp](https://www.anchorterminal.com/compare/fonoa-vs-zamp.md)\n- [Kintsugi vs TaxJar](https://www.anchorterminal.com/compare/kintsugi-vs-taxjar.md)\n- [Kintsugi vs Zamp](https://www.anchorterminal.com/compare/kintsugi-vs-zamp.md)\n- [Numeral vs TaxJar](https://www.anchorterminal.com/compare/numeral-vs-taxjar.md)\n- [Numeral vs Zamp](https://www.anchorterminal.com/compare/numeral-vs-zamp.md)\n- [Quaderno vs TaxJar](https://www.anchorterminal.com/compare/quaderno-vs-taxjar.md)\n- [Quaderno vs Zamp](https://www.anchorterminal.com/compare/quaderno-vs-zamp.md)\n- [TaxCloud vs TaxJar](https://www.anchorterminal.com/compare/taxcloud-vs-taxjar.md)\n- [TaxCloud vs Zamp](https://www.anchorterminal.com/compare/taxcloud-vs-zamp.md)\n- [TaxJar vs Vertex O Series](https://www.anchorterminal.com/compare/taxjar-vs-vertex-tax.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": "TaxJar vs Zamp",
        "url": ""
      }
    ],
    "description": "TaxJar scores 57.6 (C) on agent readiness against Zamp's 49.5 (D), and leads in 6 of 7 scored categories. Both do tax calculate. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "TaxJar C 57.6",
      "Zamp D 49.5",
      "scores"
    ],
    "h1": "TaxJar vs Zamp",
    "image": "https://www.anchorterminal.com/assets/og/compare-taxjar-vs-zamp.png",
    "path": "/compare/taxjar-vs-zamp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "TaxJar vs Zamp for AI agents, C 57.6 vs D 49.5 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/taxjar-vs-zamp"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 580
  },
  "version": 1
}
