KalkulatèName
Tout calculateur sou sit sa a se tou yon API JSON gratis. Pa gen enskripsyon, pa gen kle API, CORS-enabled — rele li soti nan serveurs ou oswa dirèkteman soti nan navigatè a.
Aperçu
Envoye valè jaden yon calculateur kòm paramèt kesyon oswa JSON ak jwenn rezilta yo konpile tounen kòm JSON — ki gen ladan nenpòt pwogram amortisation oswa grafik done ke calculateur pwodwi.
- 198+ Kalkulatè, chak ak pwent bout li
- Pa gen kle API — anonim
- CORS —
Access-Control-Allow-Origin: *(Itilizabl sou bò kliyan) - Limit pou vitès: 60 demann/èdtan pou IP (HTTP 429 lè depase)
- 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.
URL baz
https://calculator.free/api/v1/
Index — lis chak calculateur
GET https://calculator.free/api/v1/
Retounen yon lis machin-li-ka-li-nan tout calculateurs ak chak yon nan jaden yo (key, label, type, default, unit) ak rezilta kle yo - ase pou bati yon kliyan dinamikman. 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.
Kalkile — kouri yon calculateur
GET https://calculator.free/api/v1/<slug>/?field=value&field=value
POST https://calculator.free/api/v1/<slug>/ (JSON or form body)
Forme repons:
{
"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"]
}
Kalkulatè ki gen rapò ak peyi (ipotèk, prè, taks sou revni, taks sou lavant…) aksepte ?country=us|uk|ca|au|in|ie|nz|za. Unknown slug returns 404; non-supported country or bad input returns 400 with a helpful message and the field spec.
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": [ ... ]
}
| error | HTTP | When |
|---|---|---|
unknown_parameter | 400 | a parameter that is not a field of this calculator (with a did-you-mean suggestion) |
invalid_value | 400 | a number field that is not a number, a dropdown value outside its options, an unparseable date, or an unknown _mode |
missing_parameter | 400 | the calculator produced no result because a field with no default was left empty |
unsupported_country | 400 | ?country= is not one this calculator has data for |
bad_json | 400 | the POST body is not valid JSON |
unknown_calculator | 404 | no calculator with that slug |
invalid_key | 401 | an API key was sent but is unknown or inactive |
rate_limited / quota_exceeded | 429 | the anonymous hourly IP limit, or a key's monthly quota, is used up |
too_many_invalid_requests | 429 | too 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.
Authentication & plans
Ou ka rele API a san yon kle — demann anonim yo limite pa IP. Pou yon komisyon menyèl ki pi wo ak ki ka prevwa (ak pou itilize komèsyal), kreye yon kle sou paj kont ou epi voye li nan youn nan twa fason sa yo:
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"
- Gratis — Ou ka itilize yon modpas anonim (IP rate-limited) oswa yon modpas gratis ak yon ti kantite lajan chak mwa.
- Developer — $9/mo — 10,000 apèl/mwa, pou itilize komèsyal.
- Biznis — $49/mo — 100,000 apèl / mwa, priyorite pwodiksyon.
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.
Lè yon kle a mwayèn de yon mwa se itilize moute API a retounen HTTP 429 ak erè "quota_exceeded"; yon kle ki pa konnen oswa inactif retounen HTTP 401. Gade plan konplè ak enskri sou sit entènèt la Pri paj.
Egzamen
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}'
Tout pwent bout
Yon pwent fen pou chak calculateur. Fòma a kle ak rezilta kle pou chak se nan /api/v1/ Index.
Finans (41)
Taks & salè (2)
Sant sante & Fitness (28)
Matematik (26)
Estatistik (15)
Konvètisè Unite (17)
Syans & enjenyè (27)
Dat & Tan (15)
chak jou (27)
Rezilta yo se estimasyon pou kòmandman jeneral sèlman, pa finansye, medikal oswa konsèy taks.