Last updated: May 17, 2026

Free Calculator Data API

Quick answer: Static JSON endpoints with up-to-date constants for finance, health, and real-estate calculators — tax brackets, mortgage rates, BMI categories, heart-rate zones, TDEE multipliers, compounding periods, pregnancy timelines, and 30 world currencies. Free, no authentication, no rate limits, CORS-enabled, CDN-cached.

Why use CalcHub API?

Available Endpoints

All endpoints accept GET requests and return application/json.

GET US Federal Tax Brackets (2026)

https://calc-center.party/api/data/tax-brackets-2026.json

Marginal tax rates and bracket cutoffs for single, married-jointly, married-separately, and head-of-household filers, plus standard deduction amounts.

fetch('https://calc-center.party/api/data/tax-brackets-2026.json')
  .then(r => r.json())
  .then(data => console.log(data.filingStatuses.single));
View Raw JSON →

GET US Mortgage Rates

https://calc-center.party/api/data/mortgage-rates.json

National average rate + APR for 30-year fixed, 15-year fixed, 5/1 ARM, FHA, VA, and jumbo loans.

fetch('https://calc-center.party/api/data/mortgage-rates.json')
  .then(r => r.json())
  .then(data => data.products.forEach(p =>
    console.log(p.name + ': ' + p.rate + '% (' + p.apr + '% APR)')));
View Raw JSON →

GET BMI Categories (WHO)

https://calc-center.party/api/data/bmi-categories.json

WHO adult BMI ranges from underweight through obese class III, each with min/max, color, risk level, and description.

const { categories } = await (await
  fetch('https://calc-center.party/api/data/bmi-categories.json')).json();
const myBmi = 24.1;
const cat = categories.find(c => myBmi >= c.min && (c.max === null || myBmi < c.max));
console.log(cat.label); // "Normal weight"
View Raw JSON →

GET Heart Rate Zones (Karvonen)

https://calc-center.party/api/data/heart-rate-zones.json

Five training zones (recovery, fat-burn, aerobic, anaerobic, max) with %HRmax ranges. The Karvonen formula is documented in _meta.formula.

const res = await fetch('https://calc-center.party/api/data/heart-rate-zones.json');
const { zones } = await res.json();
const age = 30, hrMax = 220 - age;
zones.forEach(z => console.log(
  z.name + ': ' + Math.round(hrMax * z.minPercentHRmax/100) + '-' +
  Math.round(hrMax * z.maxPercentHRmax/100) + ' bpm'));
View Raw JSON →

GET TDEE Activity Multipliers

https://calc-center.party/api/data/tdee-activity-multipliers.json

Five activity levels (sedentary 1.2 → extremely active 1.9) with descriptions and concrete examples.

const r = await fetch('https://calc-center.party/api/data/tdee-activity-multipliers.json');
const { levels } = await r.json();
const bmr = 1650;
levels.forEach(l => console.log(l.label + ': ' + Math.round(bmr * l.multiplier) + ' kcal'));
View Raw JSON →

GET Compound Interest Frequencies

https://calc-center.party/api/data/compound-interest-frequencies.json

Compounding period n values (daily 365 → annually 1) for use in A = P(1 + r/n)^(nt).

const r = await fetch('https://calc-center.party/api/data/compound-interest-frequencies.json');
const { frequencies } = await r.json();
const monthly = frequencies.find(f => f.id === 'monthly');
console.log('n =', monthly.n); // 12
View Raw JSON →

GET Pregnancy Trimesters

https://calc-center.party/api/data/pregnancy-trimesters.json

Trimester week ranges (1st: 1-12, 2nd: 13-26, 3rd: 27-40) with average weight gain, milestones, and common symptoms.

const r = await fetch('https://calc-center.party/api/data/pregnancy-trimesters.json');
const { trimesters } = await r.json();
const week = 22;
const current = trimesters.find(t => week >= t.startWeek && week <= t.endWeek);
console.log(current.label); // "Second Trimester"
View Raw JSON →

GET Currency Symbols (ISO 4217)

https://calc-center.party/api/data/currency-symbols.json

30 major world currencies with ISO code, name, symbol, decimal places, and region.

const r = await fetch('https://calc-center.party/api/data/currency-symbols.json');
const { currencies } = await r.json();
const eur = currencies.find(c => c.code === 'EUR');
console.log(eur.symbol + ' ' + (1234.56).toFixed(eur.decimals));
View Raw JSON →

Quick Example: Lookup & Render a Tax Bracket

Full working snippet — paste into any HTML file. Calculates the marginal bracket for a given income and writes it to the DOM.

<div id="result">Loading...</div>
<script>
const income = 85000;
const status = 'single';

fetch('https://calc-center.party/api/data/tax-brackets-2026.json')
  .then(r => r.json())
  .then(data => {
    const brackets = data.filingStatuses[status];
    const bracket = brackets.find(b =>
      income >= b.min && (b.max === null || income < b.max)
    );
    const pct = (bracket.rate * 100).toFixed(0);
    document.getElementById('result').textContent =
      '$' + income.toLocaleString() + ' (' + status + ') → ' +
      pct + '% marginal bracket';
  })
  .catch(err => console.error('API error:', err));
</script>

Attribution & License

Need a Custom Endpoint?

Have a use case we haven't covered? Need historical data, a different country's tax brackets, or a private dataset? We're open to suggestions.

Request an Endpoint →

Try the live demo: interactive API explorer →