Libreng Calculator API
Ang bawat kalkulador sa site na ito ay isang libreng JSON API. Walang pag-sign up, walang API key, CORS-enabled — tumawag ito mula sa iyong server o direkta mula sa browser.
Pangkalahatang-ideya
Ipadala ang mga halaga ng patlang ng isang kalkulador bilang mga parameter ng query o JSON at makuha ang mga na-compute na resulta pabalik bilang JSON — kabilang ang anumang amortization schedule o chart data na ginawa ng kalkulador.
- 198+ calculators, ang bawat isa na may sariling endpoint
- Walang API key — anonymous access, rate-limited sa pamamagitan ng IP
- CORS —
Access-Control-Allow-Origin: *(magagamit client-side) - Rate limit: 60 mga kahilingan / oras bawat IP (HTTP 429 kapag lumampas)
- Error ay libre — lamang ng isang matagumpay na (2xx) tugon ay gumagamit ng isang tawag mula sa iyong buwanang quota. Ang bawat 400, 401, 404, 429 at 500 gastos sa iyo walang.
Base URL
https://calculator.free/api/v1/
Index — listahan ng bawat kalkulador
GET https://calculator.free/api/v1/
Ang mga ito ay maaaring maging mga yunit ng pagsukat (i.e., mga unit ng sukat, mga unit ng sukat, mga unit ng sukat, mga unit ng sukat, at iba pa). Ang bawat patlang ay nagdadala din ng isang kinakailangang flag – totoo para sa ilang mga patlang na walang default (mga petsa, karamihan). Ipadala ang mga: isang pares ng calculators ay maaaring hulaan ang isa, ang natitirang sagot 400 nang walang ito.
Compute — patakbuhin ang isang calculator
GET https://calculator.free/api/v1/<slug>/?field=value&field=value
POST https://calculator.free/api/v1/<slug>/ (JSON or form body)
Tugon hugis:
{
"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-aware calculators (mortgage, pautang, kita-tax, benta-tax...) tanggapin ?country=us|uk|ca|au|in|ie|nz|za. Ang 404 (apat na daan at apat na pu) ay isang likas na bilang na pagkatapos ng 403 at bago ng 404.
Parameter, default at error
Ipadala lamang ang mga patlang na iyong pag-aalaga tungkol sa. Anumang iwanan mo out ay puno na may na-publish na default na patlang na iyon - ang parehong halaga ng calculator page pre-fills, kaya ang API at ang website palaging bumalik ang parehong mga numero para sa parehong mga input. Ang bawat tugon ay nakalista kung ano ito napuno sa ilalim defaults_applied.
Ang anumang bagay na hindi malulutas ng API ay isang error, hindi kailanman isang zero: isang misspelled parameter, isang halaga ng maling uri, isang hindi kilalang dropdown na opsyon, o isang nawawalang patlang na walang default (ang mga patlang ng petsa — isang petsa ng kapanganakan ay hindi maaaring hulaan). Bawat 400 pangalan ang mga parameter ng paglabag at echoes ang buong patlang spec kaya ang isang client ay maaaring ayusin ang sarili.
$ 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 | Kapag |
|---|---|---|
unknown_parameter | 400 | isang parameter na hindi isang patlang ng kalkulador na ito (na may isang ginawa-ka-ibig sabihin ng mungkahi) |
invalid_value | 400 | isang numero ng patlang na hindi isang numero, isang dropdown halaga sa labas ng mga pagpipilian nito, isang unparseable petsa, o isang hindi kilalang _mode |
missing_parameter | 400 | Ang kalkulador ginawa walang resulta dahil ang isang patlang na walang default ay kaliwa walang laman |
unsupported_country | 400 | ? bansa = ay hindi isa kalkulador na ito ay may data para sa |
bad_json | 400 | ang POST katawan ay hindi wasto JSON |
unknown_calculator | 404 | walang kalkulador na may slug na |
invalid_key | 401 | isang API key ay ipinadala ngunit ay hindi kilala o hindi aktibo |
rate_limited / quota_exceeded | 429 | ang anonymous oras na IP limitasyon, o buwanang quota ng isang key, ay ginagamit up |
too_many_invalid_requests | 429 | masyadong maraming tinanggihan mga kahilingan sa isang oras para sa key na ito - tinanggihan ang mga tawag ay libre, kaya sila ay rate-limited sa halip. Resets oras-oras; matagumpay na mga tawag hindi kailanman count patungo sa ito. |
Ang /api/v1/ Ang index ay nag-publish ng key, uri, unit, default at kung ito ay kinakailangan sa bawat field - sapat na upang bumuo ng isang client na hindi kailanman guesses.
Pag-authenticate & mga plano
Maaari mong tawagan ang API na walang key sa lahat - anonymous mga kahilingan ay rate-limited sa pamamagitan ng IP. Para sa isang mas mataas na, predictable buwanang quota (at komersyal na paggamit), lumikha ng isang key sa iyong pahina ng account at ipadala ito sa isa sa tatlong paraan:
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"
- Libre — anonymous (IP rate-limited) o isang libreng key na may isang maliit na buwanang quota. Non-commercial.
- Developer — $9/buwan — 10,000 tawag/buwan, komersyal na paggamit.
- Negosyo — $49/buwan — 100,000 tawag/buwan, prayoridad na throughput.
Ano ang bilang laban sa iyong quota
Ang bawat error ay libre: isang 400 para sa isang misspelled parameter, isang masamang halaga o isang nawawalang kinakailangang patlang, isang 404 para sa isang hindi kilalang slug, isang 401 para sa isang masamang key, isang 429, at anumang bagay na napupunta mali sa aming panig. Galugarin ang kontrata at ayusin ang iyong kahilingan bilang maraming beses bilang kailangan mo — ikaw ay billing para sa mga sagot, hindi para sa mga pagwawasto.
Dahil ang mga error ay libre sila ay rate-limited sa halip: kung ang isang key provokes higit pa sa 200 Ang mga hindi tinatanggap na tugon sa isang oras, ito ay makuha ng HTTP 429 "too_many_invalid_requests" hanggang sa oras rolls sa paglipas ng. Matagumpay na tawag hindi kailanman count patungo sa na, kaya isang gumaganang integration ay hindi kailanman makita ito - ito lamang catch isang client na naka-stuck sa isang retry loop.
Ang mga sumusunod na mga halimbawa ay nagpapakita ng mga halimbawa ng mga karaniwang mga error sa HTTP: Ang HTTP 429 ay isang error na hindi nakikita ng mga server. Tingnan ang buong mga plano at mag-sign up sa Pagpepresyo Pahina.
Mga halimbawa
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}'
Lahat ng endpoints
Isang endpoint bawat calculator. Patlang key at resulta key para sa bawat isa ay sa /api/v1/ Index.
Pananalapi (41)
Tax & sahod (2)
Kalusugan & Fitness (28)
Matematika (26)
Mga istatistika (15)
Unit Converter (17)
Agham & Engineering (27)
Petsa & Oras (15)
Araw-araw (27)
Ang mga resulta ay mga pagtatantya para sa pangkalahatang gabay lamang, hindi pinansiyal, medikal o payo sa buwis.