# Zamp (slim) > 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. - Full: https://www.anchorterminal.com/tools/zamp.md (~8,050 tokens) · this version ~1,880 tokens · JSON https://www.anchorterminal.com/tools/zamp.json · canonical https://www.anchorterminal.com/tools/zamp - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-09 **D · 49.5/100 · rank #609 of 722 · #9 in Tax calculation & compliance · not agent-ready · confidence medium** Assessment: 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. ## Facts - Kind: HTTP API · vendor: Zamp Inc. · category: Tax calculation & compliance · legal entity: Zamp Inc. · provenance 73/100 - Endpoint: `https://api.zamp.com` (HTTP) - Auth: API key · pricing: Paid · x402: no · licence: 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 - Probe metrics: not measured yet (probes haven't run) - API: 11 documented operations under https://api.zamp.com with JSON bodies. No version in the path and no OpenAPI file - Calculation: `POST /calculations` returns `taxDue` and a `taxes` array with one entry per jurisdiction (state, county, city, district) for each line item and for shipping. Historical rates from 2023. Nothing is saved - Transactions: `POST`, `GET`, `PUT` and `DELETE` on `/transactions`. Refunds are new transactions linked by `parentId`. Updates and deletes are refused for closed filing periods - Read-only resources: `GET /filings` (status, due date, confirmation numbers and signed file links that expire after 1 hour), `GET /registrations`, `GET /companies` and `GET /tax-codes` - Exemptions: Set on the transaction with `entity` (seven values such as `NON_PROFIT`) and `purpose` (such as `RESALE`). No certificate endpoint is documented - Coverage: Zamp says 12,000+ US jurisdictions plus Canada. The countries guide also lists the United Kingdom, Australia, New Zealand and 27 EU states for VAT. Address validation is US only - Credentials: API key as a Bearer token. Sandbox key by email, production key from the Integrations page of app.zamp.com. No scopes found - Rate limits: 1,000 requests a minute per the FAQ. 429 returns the code `TOO_MANY_REQUESTS`. Responses carry `x-zamp-rate-limit-remaining` and `x-zamp-rate-limit-reset`, seen on a live response and not documented - Errors: 14 named codes from `PARSE_ERROR` to `INTERNAL_SERVER_ERROR`, each with a message. Validation errors add an `issues` array with `code`, `message` and `path` - Paging: Cursor paging with `limit` 1 to 100, default 10, newest first. `GET /tax-codes` returns every code in one response - Sandbox: 30-day trial key with all 47 remote-seller state registrations preset. Same base URL as production. Data is deleted after 30 days and nothing is filed - Pricing: Not published. Free plan with sandbox, U.S. and U.S. + Canada plans through sales - SDKs: No official SDK found on npm, PyPI or Zamp's GitHub organisation, which holds one Adobe Commerce extension - Webhooks: None, per the FAQ - Status: Statuspage at https://zamp.statuspage.io (status.zamp.com redirects there) with four components. No incident has been posted - Scores: Reliability 72, Performance pending, Schema & documentation 44, Agent ergonomics 64, Security & auth 40, Payments & pricing 20, Task success pending, Maintenance & community 42, Transparency & trust 50 · total over the 7 assessed categories - Why: Reliability, Graded on the public REST API at api.zamp.com with the hosted lines. · Schema & documentation, No machine-readable contract for the API. · Agent ergonomics, List endpoints take `limit` from 1 to 100, default 10, with no field selection. · Security & auth, One Bearer API key per account or integration, emailed for the sandbox and copied from the Integrations page for production. · Payments & pricing, No x402, MPP or L402 (0). · Maintenance & community, Closed service with no API changelog. · Transparency & trust, Closed service. - Sources: 32, open questions: 10, both in the full twin - Capabilities: tax.calculate, tax.transactions, tax.filing, tax.exemptions, shipping.address-validation - JSON: https://www.anchorterminal.com/api/v1/tools/zamp.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/zamp.svg` or a link to https://www.anchorterminal.com/tools/zamp from a page on zamp.com or one of its subdomains, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Call `POST /calculations` for a quote and `POST /transactions` only when the sale is final. Put the returned `taxDue` in `taxCollected` when posting 2. 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 3. 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 4. Send `shipToAddress.state` and `country` set to CA for Canadian orders. `POST /addresses` validates US addresses only 5. 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 6. 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 ## Connect ```bash curl -X POST https://api.zamp.com/calculations \ -H "Authorization: Bearer {your-api-key}" \ -H "Content-Type: application/json" \ -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"}]}' ``` Full config and headless snippets are in the full page. Through letme (picks today, calling later): https://letme.dev/zamp ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | Avalara AvaTax | B | 68.8 | tax.calculate, tax.transactions, tax.exemptions, tax.filing | https://www.anchorterminal.com/tools/avalara.min.md | | Anrok | C | 61.6 | tax.calculate, tax.transactions, tax.exemptions, tax.filing | https://www.anchorterminal.com/tools/anrok.min.md | | Kintsugi | C | 60.7 | tax.calculate, tax.transactions, tax.filing, tax.exemptions | https://www.anchorterminal.com/tools/kintsugi.min.md | | TaxJar | C | 57.6 | tax.calculate, tax.transactions, tax.exemptions, shipping.address-validation | https://www.anchorterminal.com/tools/taxjar.min.md | | TaxCloud | C | 57.4 | tax.calculate, tax.transactions, tax.exemptions, shipping.address-validation | https://www.anchorterminal.com/tools/taxcloud.min.md | ## Panel reviews (0, desk reviews from public material, no calls made)