The CalcBloc API
Take-home pay, employer cost and the official tax tables behind every CalcBloc calculator, as JSON or CSV. Free to use with a visible link back to calcbloc.com.
Quick start
- Get a free key (instant, no email needed).
- Send it in the
X-API-Keyheader. Keys in the URL (?key=) are refused, because URLs end up in logs and browser history. - Show "Data by CalcBloc" with a link to calcbloc.com wherever you display the figures.
Endpoints
GET /api/v1/countries
Supported countries, regions, years and parameters
Lists every country with its tax year, the regions and parameters each endpoint accepts, and links to the matching calculator and tax-table pages.
GET /api/v1/net-salary
Take-home pay for a salary
Runs the country's take-home pay engine (the same code and official data as the calculator on calcbloc.com) and returns net pay, taxes and contributions. Per-country parameters are whitelisted; see /api/v1/countries.
GET /api/v1/employer-cost
Total cost of employing someone
Runs the country's employer-cost engine: salary plus employer social security, payroll taxes, pension and other on-costs, as on the calcbloc.com employer cost calculators.
GET /api/v1/compare
Same salary, two countries
Converts the salary at the European Central Bank reference rate and runs each country's take-home engine, as on calcbloc.com/compare/salary.
GET /api/v1/tax-tables/{country}/{year}
Official tax tables for a country and tax year
Every income tax band, threshold, employee contribution and employer rate in the dataset, with effective dates and the official source of each figure. Add region= for a US state, Canadian province or territory, or Scotland or Wales.
GET /api/health
Service status for uptime checks.
Every parameter, its allowed values and its default for each country is listed by /api/v1/countries and in the OpenAPI file. Unknown parameters are rejected with a 400 so typos never pass silently; out-of-range numbers are clamped and reported in warnings.
Countries and parameters
| Country | country= | Tax year | Net salary params | Employer cost params | Tax tables |
|---|---|---|---|---|---|
| Iceland | iceland | 2026 | Not available yet | Not available yet | National |
| Malta | malta | 2026 | Not available yet | Not available yet | National |
| Lithuania | lithuania | 2026 | Not available yet | Not available yet | National |
| Bulgaria | bulgaria | 2026 | Not available yet | Not available yet | National |
| Cyprus | cyprus | 2026 | Not available yet | Not available yet | National |
| Croatia | croatia | 2026 | Not available yet | Not available yet | National + 21 regions |
| Latvia | latvia | 2026 | Not available yet | Not available yet | National |
| Greece | greece | 2026 | Not available yet | Not available yet | National |
| Estonia | estonia | 2026 | Not available yet | Not available yet | National |
| Slovakia | slovakia | 2026 | Not available yet | Not available yet | National |
| Romania | romania | 2026 | Not available yet | Not available yet | National |
| Norway | norway | 2026 | Not available yet | Not available yet | National |
| Czechia | czechia | 2026 | Not available yet | Not available yet | National |
| Luxembourg | luxembourg | 2026 | Not available yet | Not available yet | National |
| Poland | poland | 2026 | Not available yet | Not available yet | National |
| Hungary | hungary | 2026 | Not available yet | Not available yet | National |
| Finland | finland | 2026 | Not available yet | Not available yet | National + 19 regions |
| Slovenia | slovenia | 2026 | Not available yet | Not available yet | National |
| Austria | austria | 2026 | Not available yet | Not available yet | National |
| Sweden | sweden | 2026 | Not available yet | Not available yet | National + 21 regions |
| Switzerland | switzerland | 2026 | Not available yet | Not available yet | National + 26 regions |
| Denmark | denmark | 2026 | Not available yet | Not available yet | National + 5 regions |
| Portugal | portugal | 2026 | Not available yet | Not available yet | National + 2 regions |
| United Arab Emirates | uae | 2026 | Not available yet | Not available yet | National |
| Italy | italy | 2026 | Not available yet | Not available yet | National + 21 regions |
| Singapore | singapore | 2026 | salary, bonus, status, age | salary, bonus, status, age | National |
| France | france | 2026 | salary, cadre, children | Not available yet | National |
| Netherlands | netherlands | 2026 | salary, holiday_allowance, pension_pct, expat_ruling, under_30_masters | salary, holiday_allowance, contract, size, whk_pct | National |
| Spain | spain | 2026 | salary, region, payments, contract, under_one_year, situation, children, children_under_3, age | salary, region, contract, payments, atep_pct | National + 21 regions |
| Germany | germany | 2026 | salary, region, tax_class, church, children, over_23, health_add_on_pct | salary, region, health_add_on_pct, small_employer, u1_pct, u2_pct | National |
| United States | us | 2026 | salary, region, filing_status, frequency, multiple_jobs, children, other_dependents, retirement_pct | salary, region, health_per_month, retirement_match_pct, other_benefits, paid_days_off, overhead_pct | National + 51 regions |
| United Kingdom | uk | 2026-27 | salary, region, frequency, pension_pct, pension_method, student_loan, postgraduate_loan, over_state_pension_age | salary, ni_category, pension_mode, pension_pct, employment_allowance, apprenticeship_levy, other_costs | National + 2 regions |
| Australia | australia | 2026-27 | salary, super_mode, frequency, residency, tax_free_threshold, help_debt, salary_sacrifice, private_hospital_cover | salary, region, super_mode, total_wages, workers_comp_pct, other_costs | National |
| New Zealand | new-zealand | 2026-27 | salary, frequency, tax_code, student_loan, kiwisaver_rate | salary, kiwisaver_member, employer_rate, acc_work_levy_rate, other_costs | National |
| Canada | canada | 2026 | salary, region, frequency, rrsp, dependants | salary, region, total_payroll, wcb_rate, wcb_max, other_costs | National + 13 regions |
| Ireland | ireland | 2026 | salary, status, spouse_income, pension_pct, age_band, medical_card | salary, employer_pension_pct, prsi_class, other_costs | National |
| India | india | 2026-27 | salary, region, regime, age, basic_pct, pf_mode, gratuity_in_ctc | salary, region, basic_pct, pf_mode, wage_rule, gratuity, bonus_pct, other_costs | National |
Money is in the country's currency, per year unless a field name says otherwise; rates are decimals (0.2 = 20%); percent inputs such as pension_pct=5 mean 5%. India's net salary takes annual CTC.
Attribution
Free use requires a visible link to calcbloc.com wherever the figures are shown: on the page, in the app screen or next to the chart (for tax-table data, the CC BY credit below does the same job). Every response carries an attribution block with the text and the calcbloc.com page the figures belong to. Full terms of use.
Tax-table data licence
The tax-table data (/api/v1/tax-tables responses and the CSV and JSON downloads) is © 2026 itmarkerz technologies and licensed under Creative Commons Attribution 4.0 International (CC BY 4.0): reuse and adapt it, commercially too, with the credit “Data by CalcBloc (calcbloc.com/data)” and a link. The licence covers CalcBloc's compilation of official figures; the rates themselves are set by governments. Calculation results (net salary, employer cost, compare) stay under the API terms.
Limits
| Access | Per day | Per minute | Endpoints |
|---|---|---|---|
| No key (per IP address) | 50 | 5 | All |
| Free key | 5,000 | 60 | All |
| Commercial | Higher volumes or no-attribution use: contact us. | ||
Days reset at midnight UTC. Each response says where you stand in X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Over a limit you get a 429 with a Retry-After header in seconds. Responses are cacheable for a day (Cache-Control: public, s-maxage=86400, max-age=3600): cache them on your side and you will rarely get near the limits.
Errors
Errors are JSON: {"error":{"code","message","docs"}}, plus the attribution block.
- 400
unknown_parameterA query parameter the endpoint does not accept for that country. - 400
invalid_parameterA value of the wrong type or outside the allowed options. - 400
missing_parameterA required parameter (country, salary, or region where needed) is missing. - 400
duplicate_parameterThe same parameter appears twice. - 400
unsupported_countryThe country is not covered (tax tables: 404). - 404
unsupported_yearThe tax year is not kept (tax tables: 404); calculations: 400 for a year other than the current one. - 401
api_key_requiredCalculation endpoints need a key. - 401
invalid_keyThe key is wrong or has been revoked. - 429
rate_limitedLimit reached; wait the number of seconds in Retry-After. - 404
not_foundNo such endpoint.
CORS, caching and accuracy
- GET only. Any origin may call the API from a browser (
Access-Control-Allow-Origin: *); no cookies or credentials are used. Keep keys out of public front-end code: call from your server. - The figures come from the same calculator engines and data files as calcbloc.com, which are checked against official sources (IRS, HMRC, ATO, Inland Revenue, CRA, Revenue and others). Each tax-table figure carries its source and retrieval date.
- Results are estimates for planning, not tax advice. When a new tax year is loaded, its year label changes and the old one stops being served.
Changelog
1.2.0 · 2026-11-09
- Additive: Iceland (country=iceland, ISK) in /tax-tables (2026: withholding tax in three steps with the state income tax and the 14.94% average municipal tax, annual thresholds, personal tax credit and its transfer between spouses, tax-free thresholds, children's rate, the 2026 municipal tax (útsvar) of all 62 municipalities, capital income tax, employee 4% and employer 11.5% pension contributions with the 15.5% statutory minimum, supplementary pension, tryggingagjald 6.35% with its parts, minimum-wage position, VAT, calculated remuneration for the self-employed, foreign-expert deduction, the repealed remote-work visa; national page only). /net-salary, /employer-cost and /compare return 400 for Iceland (no calculator yet).
- Additive: Cyprus (country=cyprus, EUR) in /tax-tables (2026: income tax scale after the 2026 tax reform with the €22,000 tax-free amount, child, housing and green deductions with their income limits, special defence contribution, employee and employer social insurance, Social Cohesion, Redundancy, Human Resource Development and Central Holiday funds, GHS rates, maximum insurable earnings, minimum wage, self-employed categories, VAT, the 50%, 20% and 25% inbound exemptions, non-dom status and the digital-nomad visa; national page only) and /countries. /net-salary, /employer-cost and /compare are not available for Cyprus yet (400; Phase 6).
- Additive: Malta (country=malta, EUR) in /tax-tables (2026: resident single, married and parent income-tax scales with the new rates for one child and for two or more children, non-resident scale, part-time, overtime, sports and artistic rates, Class 1 employee and employer contributions with the Maternity Leave Fund, minimum wage by age, cost-of-living increase and statutory bonuses, Class 2 contributions, VAT small-enterprise thresholds, Nomad Residence Permit, Highly Skilled Individuals Rules and the remittance basis; national page only) and /countries. /net-salary, /employer-cost and /compare are not available for Malta yet (400; Phase 6).
- Additive: Lithuania (country=lithuania, EUR) in /tax-tables (2026: income tax 20% / 25% / 32% with thresholds at 36 and 60 times the average wage, other income rates, NPD formula, employee VSD 12.52% and PSD 6.98%, employer unemployment, accident and fund contributions, 60 VDU ceiling and the 2026 VDU, second pillar pension accumulation, minimum wage, individual activity tax and credit, self-employed contributions, business certificate, VAT threshold, startup residence permit). National page only; /net-salary, /employer-cost and /compare return 400 for Lithuania until its calculators ship.
- Additive: Bulgaria (country=bulgaria, EUR) in /tax-tables (2026: 10% flat income tax, child reliefs, employee and employer social and health insurance by fund, labour accident range, minimum and maximum insurable income for both 2026 periods, minimum wage, euro changeover, self-insured contributions, VAT registration threshold and the digital-nomad permit; national page only).
- Additive: Estonia (country=estonia, EUR) in /tax-tables (2026: 22% flat income tax, the 700-euro monthly basic exemption without the former income-based phase-out, annual-return deductions, security tax not introduced, unemployment insurance 1.6% / 0.8%, funded pension 2% / 4% / 6%, 33% social tax with its pension and health shares and the monthly minimum, minimum wage, sole-proprietor (FIE) social tax minimum and ceiling, the entrepreneur account, VAT, freelancer and residence rules) and /countries. /net-salary, /employer-cost and /compare are not available for Estonia yet (400; Phase 6).
- Additive: Croatia (country=croatia, EUR) in /tax-tables (2026: income tax with the €60,000 threshold, default 20% / 30% rates and the local limits, county-seat rates, personal allowance and coefficients, youth, returnee and assisted-area reliefs, first and second pension pillar with the low-wage relief and maximum bases, employer health contribution, minimum wage, VAT, public holidays, paušal bands, self-employed bases, digital-nomad stay; region= for the 20 counties and the City of Zagreb with every city's and municipality's lower and higher rate) and /countries. /net-salary, /employer-cost and /compare are not available for Croatia yet (400; Phase 6).
- Additive: Latvia (country=latvia, EUR) in /tax-tables (2026: income tax 25.5% / 33% above the maximum contribution base with the 3% surcharge above €200,000, non-taxable minimum and dependant relief, employee and employer VSAOI with the split by insurance type, maximum contribution base and solidarity tax, minimum contribution object, business risk duty, minimum wage, self-employed contributions, micro-enterprise tax, reduced patent fee, VAT threshold, remote-work visa and its 15% option; national page only) and /countries. /net-salary, /employer-cost and /compare are not available for Latvia yet (400; Phase 6).
- Additive: Greece (country=greece, EUR) in /tax-tables (2026: income tax scale 9% to 44% with the rates for dependent children and taxpayers up to 30, art. 16 tax reduction with phase-out and effective tax-free amounts, solidarity contribution (abolished), e-EFKA employee and employer contributions by branch with the insurable-earnings ceiling, holiday bonuses and leave allowance, minimum wage, self-employed contribution categories, presumed minimum income, VAT small-business exemption, the art. 5Γ inbound regime, the art. 5Α non-dom regime and the digital-nomad visa; national page only) and /countries. /net-salary, /employer-cost and /compare are not available for Greece yet (400; Phase 6).
- Additive: Slovakia (country=slovakia, EUR) in /tax-tables (2026: income tax 19% / 25% / 30% / 35% on multiples of the subsistence minimum, non-taxable parts for the taxpayer and spouse, child tax bonus with its caps and reduction, employee and employer social insurance by fund with the 11× ceiling, health insurance 5% / 11%, minimum wage, 60% flat-rate expenses and the 15% rate, SZČO social and health minimums and the micro-contribution, VAT, freelancer and residence rules) and /countries. /net-salary, /employer-cost and /compare are not available for Slovakia yet (400; Phase 6).
- Additive: Hungary (country=hungary, HUF) in /tax-tables (2026: flat 15% SZJA, family, first-marriage and personal allowances, the under-25 and mothers' exemptions, 18.5% social security contribution with its split and minimum base, 13% social contribution tax, rehabilitation contribution, minimum wage and guaranteed wage minimum, sole-trader contributions, átalányadózás, KATA, KIVA, VAT and the subjective exemption, the White Card) and /countries. /net-salary, /employer-cost and /compare are not available for Hungary yet (400; Phase 6).
- Additive: Romania (country=romania, RON) in /tax-tables (2026: 10% flat income tax, personal deduction table by gross pay and dependants, tax-free part of minimum-wage salaries, CAS 25%, CASS 10%, CAM 2.25%, minimum wage incl. construction, end of the sector facilities, micro-enterprise, profit and dividend tax, self-employed CAS/CASS bases, VAT and the digital-nomad visa; national page only) and /countries. /net-salary, /employer-cost and /compare are not available for Romania yet (400; Phase 6).
- Additive: Slovenia (country=slovenia, EUR) in /tax-tables (2026: dohodnina scale 16% to 50% and the monthly withholding scale, general allowance with the additional allowance, personal and dependant allowances, employee and employer contributions with long-term care, OZP, minimum contribution base, minimum wage, self-employed contributions, normiranec regime, VAT threshold, digital-nomad permit; national page only) and /countries. /net-salary, /employer-cost and /compare are not available for Slovenia yet (400; Phase 6).
- Additive: Finland (country=finland, EUR) in /tax-tables (2026: state income tax scale, municipal and church tax, work income deduction and basic deduction, Yle tax, capital income and non-resident tax, TyEL, unemployment and health insurance contributions for employees and employers, VAT, minimum-wage position, public holidays, YEL, freelancer, key-employee and permit rules; region= for the 19 regions incl. Åland with every municipality's municipal and church tax rates) and /countries. /net-salary, /employer-cost and /compare are not available for Finland yet (400; Phase 6).
- Additive: Norway (country=norway, NOK) in /tax-tables (2026: tax on general income 22% / 18.5% with fellesskatt and the maximum county and municipal rates, trinnskatt steps, minstefradrag, personfradrag, foreldrefradrag, young-worker deduction pilot, Finnmark deduction, trygdeavgift with the lower limit, arbeidsgiveravgift by zone with the municipalities per zone, OTP minimum, VAT, public holidays, sole-proprietor rules, the PAYE scheme and UDI self-employed permits) and /countries. /net-salary, /employer-cost and /compare are not available for Norway yet (400; Phase 6).
- Additive: Czechia (country=czechia, CZK) in /tax-tables (2026: income tax 15%/23% above 36× the average wage, taxpayer, spouse and disability credits, child tax benefit and tax bonus, DPP and small-scale withholding thresholds, employee and employer social insurance with the 48× ceiling, health insurance, minimum wage, flat-rate expenses, paušální daň bands, self-employed minimum advances, VAT, business visa and the Digital Nomad programme; national page only) and /countries. /net-salary, /employer-cost and /compare are not available for Czechia yet (400; Phase 6).
- Additive: Luxembourg (country=luxembourg, EUR) in /tax-tables (2026: income tax scale with tax classes 1, 1a and 2, employment fund surcharge, CIS, CI-CO2, CIP, CIM and CISSM tax credits, CCSS employee and employer contributions with the minimum base, ceiling and dependency allowance, the 1 June 2026 index tranche, social minimum wage, self-employed contributions, VAT franchise, impatriate regime and self-employed residence permit; national page only) and /countries. /net-salary, /employer-cost and /compare are not available for Luxembourg yet (400; Phase 6).
- Additive: Poland (country=poland, PLN) in /tax-tables (2026: PIT scale 12%/32% with the tax-reducing amount, costs of earning income and author's costs, PIT-0 reliefs, flat 19% tax and ryczałt rates, ZUS employee and employer contributions with the 30× ceiling, Labour Fund, Solidarity Fund, FGŚP, PPK, health contribution by form of taxation, minimum wage, VAT, self-employed ZUS reliefs, mały ZUS plus, business residence permit and Poland. Business Harbour) and /countries. /net-salary, /employer-cost and /compare are not available for Poland yet (400; Phase 6).
- Additive: Austria (country=austria, EUR) in /tax-tables (2026: income tax tariff, Absetzbeträge, Familienbonus Plus and Kindermehrbetrag, fixed rates on the 13th/14th salary, ASVG employee and employer contributions with ceilings and the Geringfügigkeitsgrenze, DB, DZ by Land and Kommunalsteuer, minimum-wage position, SVS (GSVG) contributions, Kleinunternehmer VAT exemption, Basispauschalierung, Zuzugsfreibetrag, Red-White-Red Cards for the self-employed and start-up founders; national page only) and /countries. /net-salary, /employer-cost and /compare are not available for Austria yet (400; Phase 6).
- Additive: Sweden (country=sweden, SEK) in /tax-tables (2026: state income tax and skiktgräns, municipal tax averages and county overview, grundavdrag and jobbskatteavdrag, tax reductions, base amounts, general pension contribution, public service, burial and church fees, SINK, employer contributions incl. the reduced youth rate, egenavgifter, VAT, minimum-wage position, public holidays, freelancer and permit rules; region= for the 21 counties with every municipality's total municipal tax rate) and /countries. /net-salary, /employer-cost and /compare are not available for Sweden yet (400; Phase 6).
- Additive: Denmark (country=denmark, DKK) in /tax-tables (2026: bundskat, mellemskat, topskat and toptopskat after the 2026 reform, personal allowance and tax ceiling, kommuneskat and kirkeskat averages, AM-bidrag, employment and job deductions, ATP, VAT, minimum-wage position, public holidays, freelancer, forskerskatteordningen and Start-up Denmark rules; region= for the five regions with every municipality's kommuneskat, kirkeskat and tax-ceiling reduction) and /countries. /net-salary, /employer-cost and /compare are not available for Denmark yet (400; Phase 6).
- Additive: Switzerland (country=switzerland, CHF) in /tax-tables (2026: direct federal tax and deductions, AHV/IV/EO, ALV, UVG, BVG, family allowances, withholding tax, cantonal multipliers, VAT, cantonal minimum wages, freelancer and permit rules; region= for the 26 cantons with each canton's tariff and multipliers) and /countries. /net-salary, /employer-cost and /compare are not available for Switzerland yet (400; Phase 6).
- Additive: Portugal (country=portugal, EUR) in /tax-tables (2026: mainland IRS scale as cut by Decreto-Lei 212/2026 and solidarity surcharge, specific and dependant deductions, minimum of existence, IRS Jovem, withholding, Segurança Social, RMMG, VAT, simplified regime, self-employed contributions, IFICI, NHR closure, D7/D8 visas; region=ma (Madeira) and region=ac (Azores) with their own IRS tables, withholding, minimum wage and VAT) and /countries. /net-salary, /employer-cost and /compare are not available for Portugal yet (400; Phase 6).
- Additive: /countries gives each country available_endpoints (an array of endpoint names) and tables_only (true where only tax-tables is available). A calculation endpoint a country does not support yet (/net-salary, /employer-cost, /compare) returns 400 unsupported_country with a link to the country's tax tables (page and API).
- Additive: Italy (country=italy, EUR) in /tax-tables (2026: IRPEF scale, employee deduction, cuneo fiscale and 2026 budget measures, regional surcharge summary, INPS employee and employer contributions and ceilings, TFR, minimum-wage position, regime forfettario and coefficients, Gestione Separata and artigiani/commercianti rates, impatriati, new-residents flat tax, digital-nomad and elective-residence visas; region= for 19 regions and the autonomous provinces of Bolzano and Trento with each surcharge and the capital's municipal surcharge) and /countries; net-salary, employer-cost and compare return 400 (tables only).
- Additive: United Arab Emirates (country=uae, AED) in /tax-tables (2026: no personal income tax with its statutory basis, corporate tax, VAT, GPSSA (Law 7/1999 split under review), ADPF, ILOE, gratuity and savings scheme, minimum wage, freelancer permits and visas) and /countries. /net-salary, /employer-cost and /compare are not available for the UAE yet (400; Phase 6). /countries lists only the endpoints a country supports.
- Additive: Singapore (country=singapore, SGD) in /tax-tables (2026: resident and non-resident income tax, residency tests, reliefs, CPF by age band with OW/AW ceilings, SDL, foreign worker levies, self-employed MediSave and voluntary CPF, EntrePass, Tech.Pass and ONE Pass), /net-salary and /employer-cost (salary = monthly ordinary wages), /compare and /countries.
- Additive: France (country=france, EUR) in /tax-tables (2026: income tax scale and rules, PAS grids, employee and employer contributions, RGDU (under review, with a notice field), SMIC, micro-entrepreneur and newcomer rules), /net-salary, /compare and /countries. /employer-cost is not available for France yet (400; /countries lists only the endpoints a country supports).
- Additive: Netherlands (country=netherlands, EUR) in /tax-tables (2026: box 1 below and from AOW age, national insurance, tax credits, employer premiums, minimum wage, 30% ruling, freelancer rules), /net-salary, /employer-cost, /compare and /countries.
- Additive: Spain (country=spain, EUR) in /tax-tables (2026, national plus region= for 15 communities, Ceuta, Melilla, Bizkaia, Gipuzkoa, Álava and Navarra), /net-salary and /employer-cost (region = community or Basque territory), /compare and /countries.
- Additive: Germany (country=germany, EUR) in /tax-tables (2026: income tax tariff, solidarity surcharge, church tax for all 16 Länder, social insurance, Minijob and Midijob, levies, VAT, freelancer rules), /net-salary and /employer-cost (region = Bundesland), /compare (a or b = germany) and /countries.
1.1.0 · 2026-11-09
- Additive: /tax-tables JSON adds rows (the CSV rows, each with tax_year, effective_from, effective_to, source_title, source_url, retrieved_at and status: verified, under_review or not_applicable); the CSV appends tax_year, effective_from, effective_to, source_title and status after the existing columns.
- Years: /tax-tables accepts latest and every kept year (UK 2025-26 is the first earlier year); responses carry requested_year, current_year and years_available, and /countries lists years_available and current_year.
- Calculation endpoints accept year=latest (default) or the current year and echo year and requested_year; an earlier year returns unsupported_year with a link to its tax tables.
1.0.0 · 2026-11-07
- First public version: /countries, /net-salary, /employer-cost and /tax-tables for the US, UK, Australia, New Zealand, Canada, Ireland and India.
- Free keys (5,000 requests a day). OpenAPI 3.1 description at /api/openapi.json.
Tax-year data updates are listed in the data changelog.