Federal, state, and local tax rates for 4,246 jurisdictions across all 50 states + DC. Pass a state and pay date, get back every rate you need.
# Look up all taxes for a CA employee curl "https://payrolltaxapi.com/v1/rates/lookup\ ?workState=CA\ &payDate=2026-01-01\ &filingStatus=single\ &grossWages=5000\ &payPeriod=biweekly" \ -H "Authorization: Bearer ptx_free_..."
{
"pay_date": "2026-01-01",
"work_state": "CA",
"taxes": [
{
"tax_type_code": "FED_FICA_SS_EE",
"name": "Social Security",
"rate": 0.062,
"wage_base": 176100
},
{
"tax_type_code": "CA_INCOME_EE",
"name": "CA State Income Tax",
"rate_structure": "graduated",
"brackets": [...]
},
{
"tax_type_code": "CA_SDI_EE",
"rate": 0.009
}
],
"meta": { "processing_ms": 11 }
}
Federal, all 50 states + DC, plus locals. 3,278 cities, 200+ counties, 713 school districts (PA EIT + OH SDIT), and Indiana's 92 counties.
Indexed PostgreSQL + Redis caching. p95 under 50ms on warm cache. Fast enough for real-time payroll runs, even in batch.
GET /v1/rates/lookup with Bearer token auth. No SDK, no SOAP, no XML. Returns every applicable tax in one JSON response.
Every rate tracked by effective date. Pass any pay_date and get the rates that were in effect. Run payroll for last quarter without guessing.
We monitor IRS publications, state revenue departments, and local tax authorities. You stop maintaining spreadsheets.
Plain JSON over HTTPS. Use it from Node, Python, Go, Ruby, C#, or curl. TypeScript type definitions included if you want them.
We were maintaining a 4,000-line tax table in a Google Sheet and updating it by hand every January. Switched to PayrollTax API and deleted the whole thing. The local coverage for Ohio municipalities alone saved us weeks.
I integrated it in about two hours. One GET request, JSON back, done. We were evaluating Symmetry but their sales cycle was 6 weeks and we still didn't have pricing. This had a free key in 30 seconds.
The effective-date versioning is the real differentiator. We run retroactive payroll corrections and need last quarter's rates, not just today's. Every other API I found only returns current rates.
Used in production by payroll software companies, HR platforms, and accounting tools.
Free tier included. No credit card to start.
Free API key in 30 seconds. 1,000 requests/month, no credit card.
Get a free API key