pragmatic.

Canadian mortgage tools · CAD

Payment Estimator

Current public data and calculations from Pragmatic Mortgage. Anonymous access; no account required.

calculator
slug
payment
title
Payment Estimator
description
See mortgage payment by rate, term, amortization and frequency.
category
payments
input Schema
{
  "type": "object",
  "properties": {
    "principal": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "pattern": "^-?\\d+(?:\\.\\d+)?$"
        }
      ]
    },
    "nominalRatePercent": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "pattern": "^-?\\d+(?:\\.\\d+)?$"
        }
      ]
    },
    "amortization": {
      "type": "object",
      "properties": {
        "years": {
          "type": "integer",
          "minimum": 0,
          "maximum": 40
        },
        "months": {
          "type": "integer",
          "minimum": 0,
          "maximum": 11
        }
      },
      "required": [
        "years",
        "months"
      ],
      "additionalProperties": false
    },
    "term": {
      "type": "object",
      "properties": {
        "years": {
          "type": "integer",
          "minimum": 0,
          "maximum": 40
        },
        "months": {
          "type": "integer",
          "minimum": 0,
          "maximum": 11
        }
      },
      "required": [
        "years",
        "months"
      ],
      "additionalProperties": false
    },
    "compounding": {
      "type": "string",
      "enum": [
        "semi_annual",
        "monthly",
        "annual",
        "quarterly",
        "bi_weekly",
        "weekly",
        "daily"
      ]
    },
    "frequency": {
      "type": "string",
      "enum": [
        "monthly",
        "semi_monthly",
        "biweekly",
        "accelerated_biweekly",
        "weekly",
        "accelerated_weekly"
      ]
    },
    "startDateISO": {
      "type": "string",
      "format": "date-time"
    },
    "interestOnly": {
      "type": "boolean"
    },
    "explicitPayment": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "pattern": "^-?\\d+(?:\\.\\d+)?$"
        }
      ]
    },
    "recurringIncrease": {
      "type": "object",
      "properties": {
        "amount": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "pattern": "^-?\\d+(?:\\.\\d+)?$"
            }
          ]
        },
        "startPayment": {
          "type": "integer",
          "minimum": 1
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "enum": [
            "Option A",
            "Option B",
            "Option C",
            "Current payment",
            "Current offer",
            "Alternative offer",
            "Lender retention",
            "Market offer",
            "Prepayment",
            "Lump sum",
            "Recurring increase"
          ]
        }
      },
      "required": [
        "amount",
        "startPayment"
      ],
      "additionalProperties": false
    },
    "oneTimePrepayments": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "pattern": "^-?\\d+(?:\\.\\d+)?$"
              }
            ]
          },
          "paymentNumber": {
            "type": "integer",
            "minimum": 1
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "enum": [
              "Option A",
              "Option B",
              "Option C",
              "Current payment",
              "Current offer",
              "Alternative offer",
              "Lender retention",
              "Market offer",
              "Prepayment",
              "Lump sum",
              "Recurring increase"
            ]
          }
        },
        "required": [
          "amount",
          "paymentNumber"
        ],
        "additionalProperties": false
      },
      "default": []
    }
  },
  "required": [
    "principal",
    "nominalRatePercent",
    "amortization",
    "term",
    "compounding",
    "frequency"
  ],
  "additionalProperties": false
}

Open the full calculator → · Structured data (JSON)