Finance Calculator API
Embed professional-grade financial calculators into any app, website, or service. RESTful JSON API — no authentication, no limits for reasonable use.
Overview
The FinanceCalcsHub API lets you compute EMI, compound interest, SIP returns, mortgage repayments, GST, income tax, inflation, and more — all via simple GET requests. No registration, no API key, no fees.
Every response returns a structured JSON object with the calculated result, a human-readable breakdown, and formula metadata so you can attribute the computation correctly.
Base URL
All endpoints are append-only paths from this base. Example: https://api.financecalcshub.com/v2/emi?principal=500000&rate=8.5&tenure=60
Authentication
If you plan to exceed 500 requests/minute or use the API in a commercial product, reach out via the contact page for a partnership arrangement.
Rate Limits
| Tier | Limit | Notes |
|---|---|---|
| Free | 200 req / min | Default. No auth required. |
| Partner | 5,000 req / min | Email us for a partner key. |
| Self-hosted | Unlimited | Clone the open-source repo. |
Exceeding the free limit returns 429 Too Many Requests with a Retry-After header.
All Endpoints
EMI Calculator
Calculates the Equated Monthly Instalment for any loan with principal, annual rate, and tenure in months.
| Parameter | Type | Required | Description |
|---|---|---|---|
| principal | number | required | Loan amount in any currency |
| rate | number | required | Annual interest rate in percent (e.g. 8.5 = 8.5%) |
| tenure | integer | required | Loan duration in months |
| currency | string | optional | Currency symbol in response (default: INR). Accepts USD, GBP, SAR |
| schedule | boolean | optional | Include full amortization schedule (default: false) |
{ "status": "success", "calculator": "emi", "inputs": { "principal": 500000, "rate": 8.5, "tenure_months": 60, "currency": "INR" }, "result": { "monthly_emi": 10247.53, "total_payment": 614851.8, "total_interest": 114851.8, "principal_percentage": 81.32, "interest_percentage": 18.68 }, "formula": "EMI = P × r × (1+r)^n / ((1+r)^n - 1)", "attribution": "financecalcshub.com" }
{ "status": "error", "code": 400, "message": "Missing required parameter: principal", "docs": "https://financecalcshub.com/api#emi" }
Compound Interest
| Parameter | Type | Required | Description |
|---|---|---|---|
| principal | number | required | Initial investment amount |
| rate | number | required | Annual interest rate (%) |
| years | integer | required | Investment duration in years |
| frequency | string | optional | daily | monthly | quarterly | annually (default: monthly) |
GET /v2/compound-interest?principal=100000&rate=12&years=5&frequency=monthly Response: { "result": { "future_value": 181669.67, "interest_earned": 81669.67, "growth_multiple": 1.82, "effective_annual_rate": 12.68 } }
SIP Returns
| Parameter | Type | Required | Description |
|---|---|---|---|
| monthly_investment | number | required | Amount invested every month |
| rate | number | required | Expected annual return rate (%) |
| years | integer | required | Investment tenure in years |
Code Examples
// EMI Calculator API — JavaScript const calculateEMI = async (principal, rate, tenure) => { const url = new URL('https://api.financecalcshub.com/v2/emi'); url.searchParams.set('principal', principal); url.searchParams.set('rate', rate); url.searchParams.set('tenure', tenure); const res = await fetch(url); const data = await res.json(); if (data.status === 'success') { console.log(`Monthly EMI: ₹${data.result.monthly_emi}`); console.log(`Total Interest: ₹${data.result.total_interest}`); return data.result; } }; // Usage calculateEMI(500000, 8.5, 60); // Attribution (required in UI) // Powered by <a href="https://financecalcshub.com">FinanceCalcsHub</a>
import requests def calculate_emi(principal, rate, tenure, currency="INR"): url = "https://api.financecalcshub.com/v2/emi" params = { "principal": principal, "rate": rate, "tenure": tenure, "currency": currency } response = requests.get(url, params=params) data = response.json() if data["status"] == "success": result = data["result"] print(f"Monthly EMI: {result['monthly_emi']}") print(f"Total Interest: {result['total_interest']}") return result # Usage emi_data = calculate_emi(500000, 8.5, 60)
<?php function calculateEMI($principal, $rate, $tenure) { $url = 'https://api.financecalcshub.com/v2/emi?' . http_build_query([ 'principal' => $principal, 'rate' => $rate, 'tenure' => $tenure, ]); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true); if ($data['status'] === 'success') { return $data['result']; } } $result = calculateEMI(500000, 8.5, 60); echo "EMI: ₹" . $result['monthly_emi'];
# Basic EMI request curl "https://api.financecalcshub.com/v2/emi?principal=500000&rate=8.5&tenure=60" # Pretty-print JSON (requires jq) curl "https://api.financecalcshub.com/v2/emi?principal=500000&rate=8.5&tenure=60" | jq # SIP with currency curl "https://api.financecalcshub.com/v2/sip?monthly_investment=5000&rate=12&years=10" # GST inclusive curl "https://api.financecalcshub.com/v2/gst?amount=1000&rate=18&mode=inclusive"
Error Codes
| Code | Meaning | Fix |
|---|---|---|
| 200 | OK | Calculation succeeded. |
| 400 | Bad Request | Missing or invalid parameter. Check the error message field. |
| 404 | Not Found | Unknown endpoint. Check the endpoint path. |
| 429 | Too Many Requests | Rate limit hit. Slow down or request a partner key. |
| 500 | Server Error | Contact us. Temporary issue on our end. |
Attribution
Powered by financecalcshub.com. This is how we keep the API free forever — backlinks are our only currency.<a href="https://financecalcshub.com" target="_blank" rel="noopener" style="font-size:12px;opacity:0.7"> Powered by FinanceCalcsHub </a>