自由計算機API

ここにあるすべての計算機は、 無料の JSON API でもあります。 登録も API キーもなく、 CORS をサポートしています。サーバから呼び出すこともできますし、ブラウザから直接呼び出すこともできます。

概要

計算機のフィールド値をクエリパラメータまたは JSON として送信し、計算結果を JSON として返します。計算機が生成する amortization schedule や chart data を含む。

  • 198+ それぞれのエンドポイントを持つ計算機を
  • API キーなし — 匿名アクセス IPによる速度制限
  • CORSAccess-Control-Allow-Origin: * (クライアント側で使える)
  • 速度制限: 60 要求/IPあたりの時間 (HTTP 429 を超えると)
  • エラーは自由 — 成功した (2xx) 応答のみが 月額割当の 1 回のコールを使います。400、401、404、429、500 は 無料です。

ベース URL

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

インデックス — すべての計算機をリストします

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

クライアントを動的に構築するには十分なフィールド (キー、ラベル、タイプ、デフォルト、単位) と結果キーを含む、すべての計算機の機械読み取れるリストを返します。 各フィールドには必要なフラグが含まれています。デフォルトのないフィールド (大抵日付) はtrueです。これを送信すると、数台の計算機が一つを推定します。残りはそれを無視して 400 を返します。

Compute — 計算機を一つ実行

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を返します。

パラメータ、デフォルト、エラー

重要なフィールドのみを送信します。 省略したフィールドは、そのフィールドの公開デフォルト値で埋め込まれます。これは、計算機ページが予め埋め込んだ値と同じです。APIとウェブサイトは、同じ入力に対して常に同じ数字を返します。各応答は、それが埋め込んだ内容を下にリストします。 defaults_applied.

クライアントは、API が正直に解決できないものは、ゼロではなくエラーである。 これは、スペルミスしたパラメータ、間違ったタイプの値、未知のドロップダウンオプション、デフォルトのない欠けているフィールド (日付フィールド - 誕生日は推測できません) です。 400回ごとに、パラメータの名前を指定し、クライアントが自分で修正できるように、フィールドのスペックを完全にエコーします。

$ 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_parameter400この計算機のフィールドでないパラメータ (意味のあるヒントを含む)
invalid_value400数字ではない数字フィールド、オプションの外のドロップダウン値、解析できない日付、または未知の_モード
missing_parameter400計算機は結果を出せませんでした デフォルトのないフィールドが空になったからです
unsupported_country400?country=は この計算機のデータにない
bad_json400POST ボディは有効な JSON ではありません
unknown_calculator404計算機は使えない
invalid_key401API キーが送信されましたが、未知か非アクティブです
rate_limited / quota_exceeded429匿名IPの時間制限か キーの月額割当が使い切れ
too_many_invalid_requests429このキーに対して1時間で拒否された要求が多すぎます。拒否された呼び出しは無料で、代わりに速度制限がかかります。毎時間リセットします。成功した呼び出しは計算されません。

あの /api/v1/ indexは フィールドのキー、タイプ、単位、デフォルト、必要かどうかを公開します

認証とプラン

匿名リクエストは IP によって速度制限されます。 月額割当が高く予測可能な場合 (商用利用)、アカウントページでキーを作成し、次の3つの方法のいずれかで送信してください。

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速度制限)または月額割当の無料キー 非商用
  • 開発者 — 月1万通話 商用利用
  • ビジネス — 月10万件の通話 優先スループット

割り当てに入るものは

成功した応答のみが有効です。 1 つの 2xx = 1 つのコール。 すべてのエラーは無料です。400 はパラメータのスペルミス、不正な値、必要なフィールドが欠けている、404 は未知のスラグ、401 は不正なキー、429 は我々の側で何かが間違っている。 契約を調べて、必要な限り繰り返して要求を修正してください。 修正は料金を請求されますが、答えは請求されません。

キーの数が 1 つ以上の場合は、 キーの数を 1 つ増やすことで キーの数を減らすことができます。 200 1時間以内に拒否された場合、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}'

すべてのエンドポイント

計算機ごとに1つのエンドポイントを設定します。各エンドポイントのフィールドキーと結果キーは次のとおりです。 /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/
ROI計算機 /api/v1/roi/
年金支払い計算機 /api/v1/annuity-payout/
APR から APY への換算 /api/v1/apr-to-apy/
CD 計算機 /api/v1/cd/
インフレーション計算機 /api/v1/inflation/
住宅価格計算機 /api/v1/home-affordability/
賃貸収入計算機 /api/v1/rent-affordability/
ダウンペイメント計算器 /api/v1/down-payment/
再融資計算機 /api/v1/refinance/
債務収入比率計算機 /api/v1/debt-to-income/
船借り計算機 /api/v1/boat-loan/
[Translation temporarily unavailable. Please try again.] /api/v1/student-loan/
個人ローン計算機 /api/v1/personal-loan/
車リース計算機 /api/v1/lease/
純資産計算器 /api/v1/net-worth/
ブレイクエヴァンポイント計算機 /api/v1/break-even/
SIP 計算機 /api/v1/sip/
EMI計算機 /api/v1/emi/
401(k) 計算機 /api/v1/401k/
ロスIRA /api/v1/roth-ira/
伝統的IRA計算機 /api/v1/ira/
予算計算機 /api/v1/budget/
[Translation temporarily unavailable. Please try again.] /api/v1/social-security/
債務返済計算機 /api/v1/debt-payoff/
賃貸と買い取りの計算機 /api/v1/rent-vs-buy/
モーテル・ペイオフ・カルクタラー /api/v1/mortgage-payoff/
APR 計算機 /api/v1/apr/
[Translation temporarily unavailable. Please try again.] /api/v1/depreciation/
[Translation temporarily unavailable. Please try again.] /api/v1/gdp/
税金と給与 (2)
健康・フィットネス (28)
タイプ (26)
統計学 (15)
単位変換器 (17)
科学技術 (27)
日付と時間 (15)
毎日 (27)

結果は一般的な指導のための推定であり,財務的,医療的または税務的なアドバイスではない。