住宅ローン借入可能額計算:返済額と融資額
この住宅ローン借入可能額計算では、額面年収、現在の毎月の債務返済額、目標とする返済負担率から、住宅ローンに充てられる毎月の上限額を算出します。さらに、指定された年利と返済期間を使い、その返済額で借りられる元本を推定します。結果は資金計画の目安であり、融資承認ではありません。税金、保険料、管理費、頭金、諸費用、信用履歴、金融機関ごとの審査基準により、実際に購入できる金額は変わります。
無料で実行
年収、債務、慎重なDTI目標を入力します
計算の基礎となるのは、税金や給与控除前の額面所得です。年収を12で割って月収を求め、目標DTIを百分率で掛けることで、毎月許容する債務返済総額を算出します。そこから現在の返済義務を差し引きます。自動車ローン、奨学金、個人ローン、クレジットカードの最低返済額、該当する法的支払いなどを含めてください。新たに検討する住宅ローンは、ここで求める対象なので既存債務には含めません。DTIは資金計画上の選択であり、審査通過を保証するものではありません。商品や金融機関によって定義、必要書類、上限は異なります。低めの目標にすると、貯蓄、修繕、光熱費、収入変動に備える余裕が生まれます。100パーセントを超える値は額面月収の全額以上を債務に充てることになるため、明示的にエラーとなります。
返済額から借入元本を求める仕組み
利用可能な月額を求めた後、固定金利で元利均等返済するローンの現在価値計算式を適用します。年利を12で割って月利を求め、年数を12倍して返済回数を求めます。推定借入額は、元利返済額が利用可能な月額と一致する元本です。金利がゼロの場合は月額に返済回数を掛け、ゼロ除算を避けながら直感的な結果を保ちます。既存債務だけでDTI枠を使い切っている場合、返済上限と借入額はいずれもゼロとなり、負数にはなりません。全期間で金利が一定で、毎月同額を支払うことを前提としています。変動金利、利息のみの期間、最終回の一括返済、借入に組み込む手数料、ローン保険は扱いません。これらの条件では専用の試算が必要で、同じ月予算でも借入可能額が大きく変わる場合があります。
結果を慎重な資金計画の上限として使います
最大返済額は、選択した総DTI枠から現在の債務を差し引いた残額です。ただし実際の住居費や審査上の支払いには、元本と利息以外も含まれることがあります。固定資産税、火災保険、ローン保険、水害保険、管理費なども考慮されます。これらを目標内に収める必要がある場合は、物件比較や融資相談の前に、現実的な月額見込みを計算結果から差し引いてください。推定借入額は住宅価格そのものではありません。頭金は購入可能価格を引き上げますが、諸費用や必要な準備金は手元資金を減らします。金利、期間、DTIを変えて複数案を比較し、最も有利な案を確実なものとは考えないでください。金利や審査基準は変わり、認定所得も入力額と異なる場合があります。自動処理では1回$0.002で、同じ入力から常に同じ結果が得られます。
活用例
物件探しの上限を決める
慎重なDTI目標を返済額と概算元本に換算してから物件を検討できます。
金利別に比較する
同じ月予算で、年利の違いが借入可能額に与える影響を確認できます。
債務削減の効果を調べる
現在の返済額と削減後の返済額を比較し、借入余力への効果を推定できます。
よくある質問
計算料金はいくらですか?
APIは1回$0.002で、ブラウザー上の計算は無料です。
どの債務を含めますか?
ローンやカード最低返済額など毎月必須の支払いを含め、検討中の住宅ローンは除外します。
税金や保険料も返済額に含まれますか?
含まれません。同じ予算に収める場合は、税金、保険料、管理費などを先に差し引いてください。
返済可能額がゼロになるのはなぜですか?
現在の債務が、選択したDTIによる総返済上限に達しているか、超えているためです。
推定借入額は融資の提示ですか?
いいえ。金融機関は別の所得、比率、金利、手数料、審査条件を適用する場合があります。
金利をゼロにできますか?
はい。その場合、推定借入額は月額に返済回数を掛けた金額です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/realestate/mortgage-affordability \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"annual_income":120000,"monthly_debts":1000,"target_dti":36,"interest_rate":6.5,"term_years":30}'const res = await fetch("https://api.kit.forhosting.com/realestate/mortgage-affordability", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"annual_income": 120000,
"monthly_debts": 1000,
"target_dti": 36,
"interest_rate": 6.5,
"term_years": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/realestate/mortgage-affordability",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"annual_income": 120000,
"monthly_debts": 1000,
"target_dti": 36,
"interest_rate": 6.5,
"term_years": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/realestate/mortgage-affordability", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"annual_income":120000,"monthly_debts":1000,"target_dti":36,"interest_rate":6.5,"term_years":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"annual_income":120000,"monthly_debts":1000,"target_dti":36,"interest_rate":6.5,"term_years":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/realestate/mortgage-affordability", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"annual_income": 120000,
"monthly_debts": 1000,
"target_dti": 36,
"interest_rate": 6.5,
"term_years": 30
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "realestate.mortgage_affordability",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |