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