Authentication
Every Ziptax request is authenticated with an API key. The same key works across every API version (/request/v10 through /request/v60) and against the account metrics, TIC search, and cart calculation endpoints.
Get an API key
- Sign in to platform.zip.tax.
- Navigate to
Develop > API Keysusing the side navigation menu. - Generate a new key and copy the value. Keys are opaque strings; keep them out of client-side code and source control.
For a step-by-step walkthrough with screenshots, see How to create an API key.
Sending the key
Two options. The header form is recommended for production; the query form is fine for quick tests.
Option 1: X-API-Key header (recommended)
Option 2: key query parameter
If both are set, the header wins and the query parameter is ignored.
Which endpoints need a key
Entitlements
Each key carries entitlements that gate specific features and quotas. When a key is missing one, Ziptax returns a specific response code.
Plan upgrades update entitlements on the existing key. No rotation required.
Read current usage against core_request_limit and geo_request_limit from the Account Metrics endpoint.
Invalid or missing keys
A malformed, unknown, or deactivated key returns response code 101 with HTTP 401.
Common causes:
- Trailing whitespace or wrapping quotes after copy-paste.
- A deactivated key (regenerate from the platform).
- Wrong environment.
- Using
apiKeyorapi_keyas the query parameter name. Only lowercasekeyis accepted.
Rate limiting
Per-key, 60-second sliding window. Default is 10,000 requests per minute, controlled by request_rate. Every response includes:
Exceeding the limit returns HTTP 429 with response code 108. See Rate Limiting & Errors for backoff guidance.
Key hygiene
- Store keys as environment variables. Never check them into source control or front-end bundles.
- Use a separate key per environment so you can rotate without affecting others.
- Rotate after a suspected leak: generate a new key, deploy it, then deactivate the old one.
- Never expose keys to the client. Ziptax is server-to-server; route browser and mobile calls through your backend.
- Don’t log raw keys. Ziptax internal logs mask all but the first 8 and last 4 characters; mirror that pattern.
Using keys with the SDKs
Each SDK accepts the key in the constructor and sets the header on every request:
