حسابکەری ئازاد

هەموو ژمێرەرێکی ئەم ماڵپەڕە API یەکی ئازادە بۆ JSON. هیچ تۆمارکردنێک، هیچ کۆدی API، CORS-ە چالاکەکە - لە خزمەتگوزاریەکەتەوە بانگی بکە یان ڕاستەوخۆ لە برەوکەرەوە.

چاوپێکەوتن

ئەم ئەپی پییە هەمان حسابی ئەو ماڵپەڕەی بەکاردەهێنێت. نرخی مەیدانی ژمێرەرەکە بنێرێت وەک پارامەتری پرسیارکردن یان JSON و ئەنجامە حسابکراوەکان بگەڕێنێتەوە وەک JSON - لەگەڵ هەر کاتژمێرێکی دابەزین یان زانیاری کێشکردن کە ژمێرەرەکە بەرهەمی هێناوە.

  • 198+ ژمێرەرەکان، هەریەکەیان خاڵێکی کۆتایی خۆی هەیە
  • کلیلی API نیە — پەڕەی پەڕەی ناوەکە
  • CORSAccess-Control-Allow-Origin: * (بەکارھێنەری بەشی بەکارهێنەر)
  • سنووری ڕێژەی: 60 داواکاری/کاتژمێر بۆ هەر IPێک (HTTP 429 کاتێک زیاد دەکات)
  • Errors are free — only a successful (2xx) response uses one call from your monthly quota. Every 400, 401, 404, 429 and 500 costs you nothing.

پێگەی بنەڕەتی

https://calculator.free/api/v1/

پەڕەی _هەژمارکردن

GET https://calculator.free/api/v1/

لیستێکی هەموو حسابکەرەکان دەگەڕێنێتەوە کە دەتوانرێت بخورێت لەلایەن ئامێری حسابکردنەوەوە لەگەڵ هەموو شوێنەکانی (کچڵ، ناونووس، جۆر، پێشنیار، یەکە) و کچڵەکانی ئەنجام - کە بەسوودن بۆ دروستکردنی کڕیارێکی چالاک Each field also carries a required flag — true for the few fields that have no default (dates, mostly). Send those: a couple of calculators can infer one, the rest answer 400 without it.

حساب کردن - یەک ژمێرەر بەڕێوە ببە

GET  https://calculator.free/api/v1/<slug>/?field=value&field=value
POST https://calculator.free/api/v1/<slug>/     (JSON or form body)

شێوەی وەڵامدانەوە:

{
  "ok": true,
  "slug": "mortgage",
  "country": "us",
  "inputs":   { ... the values actually computed with ... },
  "results":  { ... computed result keys ... },
  "schedule": { "columns": [...], "rows": [...] } | null,
  "chart":    { "type": "pie", "slices": [...] } | null,
  "defaults_applied": ["tax", "insurance"]
}

حسابی وڵات-زانیاری (هەژاری، قەرز، داهاتی-مافی، فرۆشتن-مافی...) قبوڵ بکە ?country=us|uk|ca|au|in|ie|nz|za. 404 دەگەڕێتەوە؛ وڵاتێک کە پاڵپشتی ناکرێت یان داخڵکردنێکی خراپ 400 دەگەڕێتەوە لەگەڵ پەیامێکی یارمەتیدەر و تایبەتمەندی بەشی.

Parameters, defaults and errors

Send only the fields you care about. Anything you leave out is filled with that field's published default — the same value the calculator page pre-fills, so the API and the website always return the same numbers for the same inputs. Each response lists what it filled in under defaults_applied.

Anything the API cannot resolve honestly is an error, never a zero: a misspelled parameter, a value of the wrong type, an unknown dropdown option, or a missing field that has no default (the date fields — a birth date cannot be guessed). Every 400 names the offending parameter and echoes the full field spec so a client can correct itself.

$ curl "https://calculator.free/api/v1/mortgage/?price=350000&rate=6.5&term=30"
{
  "ok": false,
  "error": "unknown_parameter",
  "message": "Unknown parameter 'term' for calculator 'mortgage'. Did you mean 'years'? ...",
  "unknown_parameters": ["term"],
  "did_you_mean": { "term": "years" },
  "valid_parameters": ["down", "extra", "extra_onetime", "extra_yearly", "hoa",
                       "insurance", "other", "pmi", "price", "rate", "tax", "years"],
  "fields": [ ... ]
}
errorHTTPWhen
unknown_parameter400a parameter that is not a field of this calculator (with a did-you-mean suggestion)
invalid_value400a number field that is not a number, a dropdown value outside its options, an unparseable date, or an unknown _mode
missing_parameter400the calculator produced no result because a field with no default was left empty
unsupported_country400?country= is not one this calculator has data for
bad_json400the POST body is not valid JSON
unknown_calculator404no calculator with that slug
invalid_key401an API key was sent but is unknown or inactive
rate_limited / quota_exceeded429the anonymous hourly IP limit, or a key's monthly quota, is used up
too_many_invalid_requests429too many rejected requests in one hour for this key — rejected calls are free, so they are rate-limited instead. Resets hourly; successful calls never count towards it.

The /api/v1/ index publishes every field's key, type, unit, default and whether it is required — enough to build a client that never guesses.

ناساندنی پلانەکان

دەتوانیت بەبێ هیچ کلیلێک بانگی API بکەیت - داواکاریە نادیارەکان بە پێی IP سنووردار دەکرێن. بۆ زیادکردنی کۆتایەکی مانگانە کە پێشبینی دەکرێت (و بەکارهێنانی بازرگانی)، کلیلێک دروست بکە لەسەر پەڕەی حسابەکەت و بە یەکێک لە سێ ڕێگاکە بینێرێت:

GET  https://calculator.free/api/v1/mortgage/?price=350000&key=YOUR_KEY
curl -H "Authorization: Bearer YOUR_KEY" "https://calculator.free/api/v1/bmi/?units=metric&height=180&weight=80"
curl -H "X-Api-Key: YOUR_KEY"           "https://calculator.free/api/v1/bmi/?units=metric&height=180&weight=80"
  • ئازاد — نادیار (IP نرخی سنووردار) یان کلیلی ئازاد لەگەڵ کۆتایەکی مانگانەی بچوک. بازرگانی نیە.
  • گەشەپێدەر $9/ مانگێک — 10,000 پەیوەندیکردن/مانگ، بەکارهێنانی بازرگانی.
  • بازرگانی $49/ مانگێک — 100,000 پەیوەندیکردن/مانگ، پێشەنگی تێپەڕین.

What counts against your quota

Only a successful response does. One 2xx = one call. Every error is free: a 400 for a misspelled parameter, a bad value or a missing required field, a 404 for an unknown slug, a 401 for a bad key, a 429, and anything that goes wrong on our side. Explore the contract and fix your request as many times as you need — you are billed for answers, not for corrections.

Because errors are free they are rate-limited instead: if one key provokes more than 200 rejected responses in an hour, it gets HTTP 429 "too_many_invalid_requests" until the hour rolls over. Successful calls never count towards that, so a working integration will never see it — it only catches a client stuck in a retry loop.

کاتێک کە کۆتا مانگانەی کلیلەکە بەکاردەهێنرێت API ی HTTP 429 دەگەڕێنێتەوە لەگەڵ هەڵەی "quota_exceeded"؛ کلیلێکی نەناسراو یان نا چالاک HTTP 401 دەگەڕێنێتەوە. پلانی تەواو ببینە و لە نرخ پەڕە.

نمونە

curl

curl "https://calculator.free/api/v1/mortgage/?price=350000&down=70000&rate=6.9&years=30"

JavaScript fetch()

const r = await fetch(
  "https://calculator.free/api/v1/bmi/?" + new URLSearchParams({
    units: "metric", height: "180", weight: "80"
  }));
const { results } = await r.json();
console.log(results.bmi, results.category);

Python

import requests

r = requests.get("https://calculator.free/api/v1/mortgage/",
                 params={"price": 350000, "down": 70000,
                         "rate": 6.9, "years": 30},
                 headers={"Authorization": "Bearer YOUR_KEY"})
print(r.json()["results"])

POST JSON

curl -X POST "https://calculator.free/api/v1/income-tax/?country=uk" \
  -H "Content-Type: application/json" \
  -d '{"income": 60000}'

هەموو خاڵەکانی کۆتایی

خاڵێکی کۆتایی بۆ هەر ژمێرەرێک. کیبۆردەکانی بەشی و کیبۆردەکانی ئەنجام بۆ هەریەک لە ناو /api/v1/ ڕێکەوت.

دارایی (41)
ژمێرەرخاڵى کۆتایی
ژمێرەری موڵک /api/v1/mortgage/
ژمێرەری پارە /api/v1/loan/
ژمێرەری سودی تێکەڵ /api/v1/compound-interest/
ژمێرەری ئاسانی سود /api/v1/simple-interest/
ژمێرەری پارەی کارتی کرێ /api/v1/credit-card-payoff/
ژمێرەری نرخی سووتەمەنی /api/v1/fuel-cost/
ژمێرەری خۆکار /api/v1/auto-loan/
ژمێرەری گەڕانەوە /api/v1/retirement/
ژمێرەری ئامانجی پاراستن /api/v1/savings-goal/
ژمێرەری بڕی قازانج /api/v1/margin/
ژمێرەری نرخی داهاتوو /api/v1/future-value/
ژمێرەری نرخی ئێستا /api/v1/present-value/
ژمێرەر /api/v1/roi/
ژمێرەری پارەدانی ساڵانەی /api/v1/annuity-payout/
ژمێرەری APR بۆ APY /api/v1/apr-to-apy/
ژمێرەری سی دی /api/v1/cd/
ژمێرەری کێشکردن /api/v1/inflation/
ژمێرەری ماڵەوە /api/v1/home-affordability/
[Translation temporarily unavailable. Please try again.] /api/v1/rent-affordability/
ژمێرەری پارەدانی خوارەوە /api/v1/down-payment/
[Translation temporarily unavailable. Please try again.] /api/v1/refinance/
ژمێرەری ڕێژەی پارە بۆ داهات /api/v1/debt-to-income/
ژمێرەری پارەدانی کەشتی /api/v1/boat-loan/
ژمێرەری پارەی خوێندکار /api/v1/student-loan/
[Translation temporarily unavailable. Please try again.] /api/v1/personal-loan/
ژمێرەری ماشێن /api/v1/lease/
ژمێرەری نرخی نێگەتیڤ /api/v1/net-worth/
ژمێرەری خاڵەکانی جیاکردنەوە /api/v1/break-even/
ژمێرەر /api/v1/sip/
ژمێرەر /api/v1/emi/
ژمێرەر /api/v1/401k/
ژمێرەری ڕۆث IRA /api/v1/roth-ira/
ژمێرەری کۆنی IRA /api/v1/ira/
ژمێرەری بودجە (٥٠/٣٠/٢٠) /api/v1/budget/
ژمێرەری ئاسایشی کۆمەڵایەتی /api/v1/social-security/
ژمێرەری پارە /api/v1/debt-payoff/
[Translation temporarily unavailable. Please try again.] /api/v1/rent-vs-buy/
ژمێرەری پارەدانی موڵک /api/v1/mortgage-payoff/
ژمێرەر /api/v1/apr/
ژمێرەری دابەزین /api/v1/depreciation/
ژمێرەری GDP /api/v1/gdp/
پارە و باج (2)
تەندروستی و چاکبوون (28)
ژمێرەرخاڵى کۆتایی
ژمێرەری BMI /api/v1/bmi/
ژمێرەری کالۆری /api/v1/tdee/
ژمێرەری کێشی جەستە /api/v1/body-fat/
ژمێرەری کێشی گونجاو /api/v1/ideal-weight/
ژمێرەری ئاو /api/v1/water-intake/
ژمێرەری BMR /api/v1/bmr/
ژمێرەری خێرایی ڕاکردن /api/v1/running-pace/
ژمێرەر /api/v1/macro/
ژمێرەری کەمی کالۆری /api/v1/calorie-deficit/
ژمێرەری پرۆتین /api/v1/protein-intake/
ژمێرەری زۆرترین دووبارەبوونەوە /api/v1/one-rep-max/
ژمێرەری خێرایی دڵ /api/v1/max-heart-rate/
ژمێرەری بەشی ڕێژەی دڵ /api/v1/heart-rate-zones/
ژمێرەری خواردنەوەی ئەلکحول /api/v1/bac/
ژمێرەری کاتی کۆرپەلەبوون /api/v1/pregnancy-due-date/
ژمێرەری کۆرپەلە و دووگیانی /api/v1/ovulation/
ژمێرەری ڕێژەی پشتی پێ /api/v1/waist-to-hip-ratio/
ژمێرەری ڕێژەی بەرزی و کێشی /api/v1/waist-to-height-ratio/
ژمێرەری کێشی جەستە /api/v1/lean-body-mass/
ژمێرەری کێشی جەستە /api/v1/army-body-fat/
ژمێرەری کالۆرییە سووتاوەکان /api/v1/calories-burned/
ژمێرەری هەنگاوەکان بۆ میل /api/v1/steps-to-miles/
ژمێرەری چرکەکانی خەوتن /api/v1/sleep/
ژمێرەری شوێنی سەرەوەی جەستە /api/v1/body-surface-area/
ژمێرەری کاتی /api/v1/period/
ژمێرەری ڕۆژی کۆچی دوایی /api/v1/conception/
ژمێرەری زیادکردنی کێشی دووگیانی /api/v1/pregnancy-weight-gain/
ژمێرەری GFR (eGFR, CKD-EPI) /api/v1/gfr/
جۆر (26)
ژمێرەرخاڵى کۆتایی
ژمێرەری ڕێژەیی /api/v1/percentage/
ژمێرەری ناوەوەی /api/v1/average/
ژمێرەری گۆڕانی لەسەدەکان /api/v1/percentage-change/
ژمێرەری ڕێژەیی /api/v1/ratio/
ژمێرەری بەشەکان /api/v1/fraction/
ژمێرەری ڕێژەیی /api/v1/fraction-to-percent/
ژمێرەری ژمارەی تێکەڵ بۆ ژمارەی ناڕاست /api/v1/mixed-number/
ژمێرەری توانا /api/v1/exponent/
ژمێرەری ریشەی n /api/v1/root/
[Translation temporarily unavailable. Please try again.] /api/v1/square-root/
ژمێرەری لوگاریتم /api/v1/logarithm/
ژمێرەری GCD و LCM /api/v1/gcd-lcm/
ژمێرەری بەشکردنی یەکەم /api/v1/prime-factorization/
ژمێرەری فاکتۆرەکان /api/v1/factorial/
ژمێرەری گۆڕین /api/v1/permutation/
ژمێرەر /api/v1/combination/
ژمێرەری فۆرمەکانی چوارگۆشە /api/v1/quadratic-formula/
ژمێرەری کێشکردن /api/v1/slope/
حسابی دووری نێوان دوو خاڵ /api/v1/distance-two-points/
ژمێرەری خاڵەکانی ناوەڕاست /api/v1/midpoint/
ژمێرەری زانیاریەکانی فیثاگۆرس /api/v1/pythagorean-theorem/
ژمێرەری ناوچەکان /api/v1/area-of-a-shape/
ژمێرەری دایرەکان /api/v1/circle/
ژمێرەری دەنگ /api/v1/volume-of-a-shape/
گۆڕێنەری نیشانە زانستییەکان /api/v1/scientific-notation/
ژمێرەری خولانەوە /api/v1/rounding/
ئامار (15)
گۆڕێنەری یەکەکان (17)
زانست و ئەندازیاری (27)
ژمێرەرخاڵى کۆتایی
ژمێرەری یاسای ئۆم /api/v1/ohms-law/
ژمێرەری دابەزینی وزەی کارەبا /api/v1/voltage-drop/
ژمێرەری کودی ڕەنگەکانی بەربەست /api/v1/resistor-color-code/
ژمێرەری کێشانی کۆمپیوتەر /api/v1/capacitor-charge/
ژمێرەری وزەی کارەبایی /api/v1/electrical-power/
ژمێرەری هێز /api/v1/force/
ژمێرەری وزەی جوڵە /api/v1/kinetic-energy/
ژمێرەری وزەی پۆتێنشیاڵ /api/v1/potential-energy/
ژمێرەری تووند /api/v1/density/
ژمێرەری مولارێتی /api/v1/molarity/
ژمێرەری یاسای گازی گونجاو /api/v1/ideal-gas-law/
ژمێرەری درێژی شەپۆل و خێرایی /api/v1/wavelength-frequency/
[Translation temporarily unavailable. Please try again.] /api/v1/ph/
ژمێرەری خولانەوە /api/v1/torque/
ژمێرەری ڕێژەی گەزە /api/v1/gear-ratio/
ژمێرەری جوڵانەوەی پڕۆجێکتس /api/v1/projectile-motion/
ژمێرەری تۆڕی ژێری IPv4 CIDR /api/v1/subnet/
گۆڕینی دووجا/ هەژدە/ دەجا /api/v1/binary-hex/
ژمێرەری BTU (AC و گەرمکردن) /api/v1/btu/
ژمێرەری ژیانی نیوە /api/v1/half-life/
ژمێرەری کێشی گەردیلەکان /api/v1/molecular-weight/
ژمێرەری نرخی کارەبا /api/v1/electricity/
ژمێرەری باران /api/v1/wind-chill/
ژمێرەری ڕێژەی گەرمی /api/v1/heat-index/
ژمێرەری خاڵەکانی باران /api/v1/dew-point/
ژمێرەری درێژی باند/ کاتی دابەزاندن /api/v1/bandwidth/
ژمێرەری وزەی ئەسپ /api/v1/horsepower/
کاتی _ڕۆژ (15)
هەموو ڕۆژێک (27)

ئەنجامەکان تەنها بۆ ڕێنمایی گشتین، نەک بۆ ڕاوێژی دارایی، پزیشکی یان باج.