calculatepaycheck.net
2026 · GET or POST · No key · Sources in every response

Paycheck API

The same deterministic engine that runs every page, as JSON. Every response carries the documents its figures came from and the dates they were checked. Try it below.

GET https://calculatepaycheck.net/api/v1/paycheck?salary=75000&state=CA&filingStatus=single&frequency=biweekly

Endpoint

GET or POST https://calculatepaycheck.net/api/v1/paycheck. Query parameters or a JSON body with the same names: salary (annual, for mode salary), or rate, hours and overtimeHours (mode hourly); frequency (weekly, biweekly, semimonthly, monthly, daily, quarterly, semiannual, annual, weekly53, biweekly27); state (two-letter code, DC allowed); filingStatus (single, married_jointly, married_separately, head_of_household); locality (a verified local slug, e.g. philadelphia, new-york-city, columbus); tips, bonus; twoJobs, dependents (annual credit amount), otherIncome, deductions, extraWithholding; retirement and section125 (per paycheck); postTax; ytdGross. Every parameter is optional; the defaults are a $60,000 biweekly single filer in Texas.

Response

JSON with taxYear, the interpreted input, perPaycheck (gross, federalWithholding, socialSecurity, medicare, additionalMedicare, stateWithholding, localWithholding, preTax, postTax, net, and the itemised lines), annual (gross, federal withheld, federal tax due, refund or owed, state tax, local tax, net, marginal and effective rates, the 2026 deduction estimate), withholding (table used, adjusted annual wage, marginal rate), caveats, and sources — the federal, withholding and state documents with their check dates and verification status. Errors return 400 with a message naming the parameter; the rate limit returns 429.

Limits and terms

Sixty requests a minute per address, CORS open, responses cacheable for an hour. Free with a visible link to calculatepaycheck.net where the figures are shown. No key at this volume; a licence with a key and a service level is available for more. The engine is deterministic and there is no AI in the API: the same request returns the same JSON until a constant changes, and the changelog says when.

Example

GET /api/v1/paycheck?salary=75000&state=CA&filingStatus=single&frequency=biweekly returns perPaycheck.net $2,262.23, federalWithholding $295.00, socialSecurity $178.85, medicare $41.83, stateWithholding $106.71, with sources.federal.citation «IRS Rev. Proc. 2025-32, § 3.01, Tables 1-4». The playground above runs any request and shows the JSON.

Sources

    An estimate for planning, not tax or payroll advice.

    Related

    • Embed

      The widget, for pages rather than code.

    • Business

      A key and a service level at volume.

    • Sources

      Every constant the API uses.