Getting started

Quickstart

Get a key, make one request, and read the response. Five minutes, no credit card.

1. Get an API key

Create a free account. Your Sandbox key is shown once, right after sign-up — copy it into your secret manager or an environment variable. You can create more keys (live and test) from your dashboard.

bash
export ITX_API_KEY="itx_live_…"
Keep keys on your server. Never ship them in a browser or mobile app bundle.

2. Look up the taxes for a paycheck

The base URL is https://tax-api-dev.itensiahr.com/v1. The main endpoint takes a work state and a pay date and returns every federal and state tax in force on that date.

curl "https://tax-api-dev.itensiahr.com/v1/rates/lookup?work_state=CA&pay_date=2025-10-15&filing_status=single" \
  -H "Authorization: Bearer $ITX_API_KEY"

3. Read the response

data.taxes lists each tax with its parameters (rates, wage bases, thresholds) and, for graduated taxes, brackets. Rates are decimal fractions as strings ("0.062" is 6.2%); money is dollars as strings ("176100.00"). Parse them with a decimal library rather than floats.

Response (abridged, illustrative)
{
  "data": {
    "work_state": "CA",
    "pay_date": "2025-10-15",
    "taxes": [
      {
        "tax_code": "US:SS",
        "tax_type": "federal_social_security",
        "rate_structure": "wage_base_capped_rate",
        "effective_from": "2025-01-01",
        "parameters": {
          "employee_rate": "0.062",
          "employer_rate": "0.062",
          "wage_base": "176100.00"
        },
        "version": { "number": 1, "published_at": "2025-01-02T16:04:11Z" },
        "sources": [{ "url": "https://www.ssa.gov/oact/cola/cbb.html", "sha256": "9f2c…" }]
      },
      {
        "tax_code": "US-CA:SUI",
        "tax_type": "state_unemployment",
        "applies_to": "work",
        "parameters": {
          "wage_base": "7000.00",
          "new_employer_rate": "0.034"
        }
      }
    ]
  },
  "meta": {
    "request_id": "req_7hQ2kLp0aX1c",
    "processing_ms": 21,
    "unavailable": []
  }
}

If a tax applies but has no published version for that date yet, it is listed in meta.unavailable instead of being silently left out. Decide in your code whether that should block a payroll run.

Next steps