حسابگر آزاد
هر محاسبه گر در این سایت نیز یک API JSON رایگان است. بدون ثبت نام، بدون کلید API، CORS-enabled — از سرور خود یا مستقیماً از مرورگر فراخوانی کنید.
نمای کلی
این API دقیقاً همان ریاضیاتی را اجرا میکند که وبسایت استفاده میکند. مقادیر فیلد یک محاسبهگر را به عنوان پارامترهای جستجو یا JSON ارسال کنید و نتایج محاسبه شده را به عنوان JSON بازگردانید - از جمله هر برنامهٔ بازپرداخت یا دادههای نموداری که محاسبهگر تولید میکند.
- 198+ محاسبهگرها، هر کدام با نقطه پایانی خودشان
- کلید API وجود ندارد — دسترسی ناشناس ، نرخ محدود شده توسط IP
- CORS —
Access-Control-Allow-Origin: *(کارگزار قابل استفاده) - محدودیت نرخ: 60 درخواستها/ ساعت بر IP (HTTP ۴۲۹ هنگام تجاوز)
- خطاها آزادند — فقط یک پاسخ موفق (2xx) یک تماس از سهم ماهانه شما را مصرف میکند. هر ۴۰۰ ، ۴۰۱ ، ۴۰۰۴ ، ۴۲۹ و ۵۰۰ هزینهای برای شما ندارد.
نشانی وب پایه
https://calculator.free/api/v1/
فهرست — فهرست هر محاسبهگر
GET https://calculator.free/api/v1/
یک لیست قابل خواندن توسط ماشین از تمام محاسبهگرها با هر یک از فیلدها (کلید، برچسب، نوع، پیشفرض، واحد) و کلیدهای نتیجه را برمیگرداند - کافی برای ساخت یک مشتری پویا. هر فیلد همچنین یک پرچم لازم را حمل میکند — برای چند فیلد که پیشفرض ندارند (تاریخ، بیشتر) درست است. آنها را ارسال کنید: چند محاسبهگر میتوانند یک را نتیجه بگیرند، بقیه بدون آن پاسخ ۴۰۰ را میدهند.
محاسبه — اجرای یک ماشین حساب
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. Unknown slug 404 را باز میگرداند؛ کشور پشتیبانی نشده یا ورودی نادرست 400 را با یک پیام مفید و مشخصات فیلد باز میگرداند.
پارامترها ، پیشفرضها و خطاها
فقط ارسال دامنههایی که اهمیت میدهید. هر چیزی که کنار میگذارید با پیشفرض منتشر شده آن دامنه پر میشود — همان مقداری که صفحه محاسبهگر از پیش پر میکند ، بنابراین API و وبگاه همیشه اعداد یکسانی را برای ورودیهای یکسان برمیگردانند. هر پاسخ چیزی را که زیر آن پر کرد فهرست میکند defaults_applied.
هر چیزی که API نمیتواند با صادقانه حل کند یک خطا است، هیچگاه صفر: یک پارامتر اشتباه املای شده، یک مقدار از نوع اشتباه، یک گزینه سقوط ناشناخته، یا یک میدان گمشده که هیچ پیشفرض ندارد (فیلدهای تاریخ - تاریخ تولد نمیتواند حدس زده شود). هر ۴۰۰ نام پارامتر متخلف و تکرار کامل مشخصات میدان است تا مشتری بتواند خود را اصلاح کند.
$ 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": [ ... ]
}
| خطا | HTTP | وقتي |
|---|---|---|
unknown_parameter | 400 | یک پارامتر که یک حوزه از این محاسبهگر نیست) با یک پیشنهاد منظور شما چیست ( |
invalid_value | 400 | یک حوزه عددی که یک عدد نیست، یک مقدار پایینرو خارج از گزینههایش، یک تاریخ غیرقابل تجزیه، یا یک حالت _نامعلوم |
missing_parameter | 400 | محاسبهگر هیچ نتیجهای تولید نکرد زیرا یک میدان بدون پیشفرض خالی مانده بود |
unsupported_country | 400 | این محاسبهگر دادههایی برای? country= ندارد |
bad_json | 400 | بدنهی POST JSON معتبر نیست |
unknown_calculator | 404 | با اون حشره حسابگر نداره |
invalid_key | 401 | کلید API فرستاده شد اما ناشناخته یا غیرفعال است |
rate_limited / quota_exceeded | 429 | محدودهی IP ساعتی ناشناس، یا سهمیهماهانه کلید، مصرف شده است |
too_many_invalid_requests | 429 | درخواستهای رد شده زیادی در یک ساعت برای این کلید — تماسهای رد شده رایگان هستند، بنابراین در عوض نرخ محدود میشوند. هر ساعت بازنشانی میشود؛ تماسهای موفق هرگز در آن حساب نمیشوند. |
...اين /api/v1/ index کلید، نوع، واحد، پیشفرض و اینکه آیا نیاز است یا نه را برای هر فیلد منتشر میکند - به اندازه کافی برای ساخت یک کلاینت که هیچگاه حدس نمیزند.
احراز هویت و نقشهها
شما میتوانید 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/mo — 10 تماس ماهي، استفاده تجاري
- تجارتي — 100,000 تماس ماهانه، اولویت انتقال
چي در قبال سهميه تو حساب ميشه
فقط یک پاسخ موفق این کار را انجام میدهد. یک 2xx = یک فراخوان. هر خطای آزاد است: یک ۴۰۰ برای پارامتر اشتباه املایی ، یک مقدار نادرست یا یک حوزه لازم گمشده ، یک ۴۰۴ برای یک سلگ ناشناخته ، یک ۴۰۱ برای کلید نادرست ، یک ۴۲۹ ، و هر چیزی که در سمت ما اشتباه میشود. قرارداد را بررسی کنید و درخواست خود را هر چه بیشتر نیاز دارید تصحیح کنید — شما برای پاسخ ها ، نه برای تصحیح ها ، پرداخت می کنید.
از آنجا که خطاها آزاد هستند، در عوض نرخ محدودی دارند: اگر یک کلید بیش از 200 پاسخهای رد شده در یک ساعت، HTTP 429 "too_many_invalid_requests" را دریافت میکند تا زمانی که ساعت به پایان برسد. تماسهای موفق هیچگاه در این مورد محاسبه نمیشوند، بنابراین یک ادغام کارآیی هرگز آن را نمیبیند - فقط یک کارگزار را در حلقه تلاش مجدد گرفتار میکند.
هنگامی که یک کلید از حداکثر مقدار ماهانه استفاده میکند، 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)
مالیات و دستمزد (2)
| محاسبه | نقطه پایانی |
|---|---|
| محاسبه مالیات بر درآمد | /api/v1/income-tax/ |
| محاسبه مالیات فروش و VAT | /api/v1/sales-tax/ |
سلامت و سلامتی (28)
نوع (26)
آمار (15)
تبدیلکنندگان واحد (17)
علوم و مهندسی (27)
تاریخ و زمان (15)
هر روز (27)
نتایج تخمینها فقط برای راهنمایی عمومی است، نه مشاوره مالی، پزشکی یا مالیاتی.