B2B API — Omni Calculator has no API. CalcHub does.

Calculator API for fintechs & developers

10 production-ready financial calculators exposed as a clean JSON API. EMI, SIP, FD, GST, Salary, BMI and more. POST inputs, get results. Free tier available — no credit card required.

Simple, transparent pricing

Free
$0
100 req/day
  • All 10 calculators
  • JSON responses
  • X-RateLimit-* headers
  • Community support
  • CORS enabled
Get API key (free)
Most popular
Pro
$29/month
10,000 req/day
  • All 10 calculators
  • Priority support (24h SLA)
  • Webhook delivery on result
  • White-label embeds (no CalcHub branding)
  • Auto-retry on 429
Start free trial
Business
$99/month
100,000 req/day
  • All 10 calculators
  • Custom rate limits
  • Dedicated subdomain
  • Multi-region routing
  • Response caching (TTL configurable)
Contact sales
Enterprise
Custom
Unlimited
  • All 10 calculators
  • SLA guarantee
  • Dedicated support engineer
  • On-prem deployment option
  • HIPAA-adjacent for healthcare fintechs
Talk to founder

10 calculators, all available via API

Every calculator is a single POST endpoint. Same results as the web UI.

🏦EMI Calculator
curl -X POST https://calccrack.com/api/v1/calc/emi-calculator \
  -H "Content-Type: application/json" \
  -d '{"principal":3000000,"annualRate":8.5,"tenureMonths":240}'
{"calc":"emi-calculator","result":{"emi":26035,"totalInterest":3248362,"totalPayment":6248362}}
📈SIP Calculator
curl -X POST .../api/v1/calc/sip-calculator \
  -d '{"monthlyInvestment":10000,"annualRate":12,"years":20}'
{"result":{"totalInvested":2400000,"estimatedReturns":7494104,"totalValue":9894104}}
🏛️FD Calculator
curl -X POST .../api/v1/calc/fd-calculator \
  -d '{"principal":100000,"annualRate":7,"years":5}'
{"result":{"maturity":141478,"interest":41478}}
💰Compound Interest
curl -X POST .../api/v1/calc/compound-interest \
  -d '{"principal":100000,"annualRate":8,"years":10,"frequency":4}'
{"result":{"amount":221964,"interest":121964}}
💼Salary Calculator
curl -X POST .../api/v1/calc/salary-calculator \
  -d '{"annualCTC":1200000}'
{"result":{"grossMonthly":100000,"monthlyTax":20000,"netMonthly":80000,"annualTax":240000}}
🧾GST Calculator
curl -X POST .../api/v1/calc/gst-calculator \
  -d '{"amount":10000,"gstRate":18,"mode":"add"}'
{"result":{"gstAmount":1800,"total":11800,"baseAmount":10000}}
⚖️BMI Calculator
curl -X POST .../api/v1/calc/bmi-calculator \
  -d '{"weightKg":70,"heightCm":175}'
{"result":{"bmi":22.86,"category":"Normal weight","color":"green"}}
🎂Age Calculator
curl -X POST .../api/v1/calc/age-calculator \
  -d '{"dob":"1990-06-15"}'
{"result":{"years":35,"months":9,"days":21,"totalDays":13079}}
📊Percentage Calculator
curl -X POST .../api/v1/calc/percentage-calculator \
  -d '{"mode":"percent-of","a":15,"b":200}'
{"result":30}
🔄Unit Converter
curl -X POST .../api/v1/calc/unit-converter \
  -d '{"value":1,"from":"Kilometer","to":"Mile","category":"length"}'
{"result":0.6214}

Works with any language

cURL
curl -X POST https://calccrack.com/api/v1/calc/emi-calculator \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ch_YOUR_API_KEY" \
  -d '{
    "principal": 3000000,
    "annualRate": 8.5,
    "tenureMonths": 240
  }'
JavaScript (fetch)
const res = await fetch(
  'https://calccrack.com/api/v1/calc/emi-calculator',
  {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': 'Bearer ch_YOUR_API_KEY',
    },
    body: JSON.stringify({
      principal: 3000000,
      annualRate: 8.5,
      tenureMonths: 240,
    }),
  }
);
const { result } = await res.json();
console.log(`EMI: ₹${result.emi.toFixed(0)}/month`);
Python (requests)
import requests

resp = requests.post(
    "https://calccrack.com/api/v1/calc/emi-calculator",
    headers={"Authorization": "Bearer ch_YOUR_API_KEY"},
    json={"principal": 3000000, "annualRate": 8.5, "tenureMonths": 240},
)
result = resp.json()["result"]
print(f"EMI: ₹{result['emi']:.0f}/month")
Go (net/http)
package main

import (
  "bytes"
  "encoding/json"
  "fmt"
  "net/http"
)

func main() {
  body, _ := json.Marshal(map[string]any{
    "principal": 3000000, "annualRate": 8.5, "tenureMonths": 240,
  })
  req, _ := http.NewRequest("POST",
    "https://calccrack.com/api/v1/calc/emi-calculator",
    bytes.NewReader(body))
  req.Header.Set("Content-Type", "application/json")
  req.Header.Set("Authorization", "Bearer ch_YOUR_API_KEY")
  resp, _ := http.DefaultClient.Do(req)
  defer resp.Body.Close()
  var out map[string]any
  json.NewDecoder(resp.Body).Decode(&out)
  fmt.Println(out["result"])
}

What ships on each tier

FeatureFreeProBusinessEnterprise
JSON responses
X-RateLimit-* headers
CORS enabled
OpenAPI 3.0 spec
Auto-retry on 429
Webhook delivery
White-label embeds
Priority support
Response caching
Custom rate limits
Dedicated subdomain
Multi-region routing
SLA guarantee
On-prem option
HIPAA-adjacent support

Trusted by fintech teams

Your logo here
Your logo here
Your logo here
Your logo here
Your logo here
Your logo here

Frequently asked questions

How is billing handled?
Billing is monthly via Stripe. You can upgrade, downgrade, or cancel any time from your dashboard. Prorated refunds on downgrades.
Can I upgrade or downgrade mid-month?
Yes. Upgrades take effect immediately with a prorated charge. Downgrades take effect at the next billing cycle.
What rate limit algorithm do you use?
Fixed window counter: your daily allowance resets at midnight UTC. The X-RateLimit-Reset header gives you the exact Unix timestamp of next reset.
Can I self-host the calculator API?
The calculation logic is MIT-licensed at @calchub/api on npm. You can run the formulas client-side or server-side. The managed API adds rate limiting, monitoring, and a stable URL contract.
Do you store my request data?
No. The API is stateless — inputs are not persisted. We log aggregate request counts per API key for rate limiting and billing only.
What happens when I hit the rate limit?
You receive a 429 Too Many Requests response with X-RateLimit-Remaining: 0 and X-RateLimit-Reset telling you when the window resets.

Ready to build?

Test every endpoint in the interactive playground — no API key required. Get a free key in 30 seconds when you're ready for production.

Try the playground