SA Financial Calculators API

API ID 12762

A comprehensive suite of South African financial calculators covering bond and property costs, vehicle finance, PAYE tax, VAT, retirement lump sums, personal loans, and inflation. All monetary values in ZAR. Covers 25 endpoints across bond, vehicle, tax, and personal finance modules. Data sourced from SARS, LPC, Government Gazette, SARB, and Stats SA.

187 ms avg response

API Documentation

Endpoints

Request
Returns the current health status of the API including version number, uptime in seconds, and environment. Use this endpoint to verify the API is live before making calculation requests. No parameters required.
Endpoint ID: 24863
GET https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24863/health+check
INPUT PARAMETERS

Free test requests remaining: 3 of 3.

This endpoint does not require any input parameters.

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"version":"1.0.0","uptime_seconds":137620,"environment":"production"}}
Health Check — CODE SNIPPETS

curl --location --request GET 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24863/health+check' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Request

Calculates the monthly bond repayment, total repayment, and total interest for a South African home loan using standard amortisation. Returns a full breakdown including principal, deposit, term, and interest rate. Request Body: - property_price (required): Purchase price of the property in Rands. - deposit (optional): Deposit amount in Rands. Defaults to 0 if not provided. - term_years (required): Loan term in years. Example: 20. - annual_interest_rate (required): Annual interest rate as a percentage. Example: 10.25.

Endpoint ID: 24864
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24864/bond+repayment+calculator
INPUT PARAMETERS

Bond Repayment Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"monthly_repayment":17669.58,"principal":1800000,"deposit":200000,"property_price":2000000,"total_repayment":4240699.2,"total_interest":2440699.2,"term_months":240,"term_years":20,"annual_interest_rate":10.25},"meta":{"tax_year":"2026/27","disclaimer":"Estimates only. Consult a qualified financial advisor before making any property or financial decisions.","cached":false}}
Bond Repayment Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24864/bond+repayment+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "property_price": 2000000,
  "deposit": 200000,
  "term_years": 20,
  "annual_interest_rate": 10.25
}'

    
Request

Calculates the maximum property price a buyer can afford based on gross monthly income. Uses the standard 30 percent affordability ratio applied by South African banks. Returns maximum property price, maximum loan amount, and maximum monthly repayment. Request Body: - gross_monthly_income (required): Gross monthly income before deductions in Rands. - deposit (optional): Available deposit amount in Rands. Defaults to 0 if not provided. - term_years (required): Loan term in years. Example: 20. - annual_interest_rate (required): Annual interest rate as a percentage. Example: 10.25.

Endpoint ID: 24865
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24865/bond+affordability+calculator
INPUT PARAMETERS

Bond Affordability Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"max_property_price":1628049.82,"max_loan_amount":1528049.82,"max_monthly_repayment":15000,"deposit":100000,"gross_monthly_income":50000,"affordability_ratio":0.3,"term_years":20,"annual_interest_rate":10.25},"meta":{"tax_year":"2026/27","disclaimer":"Estimates only. Consult a qualified financial advisor before making any property or financial decisions.","cached":false,"notes":"Max monthly repayment is capped at 30% of gross monthly income. Individual banks may apply stricter qualifying criteria and will assess net income, existing debt, and credit profile."}}
Bond Affordability Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24865/bond+affordability+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "gross_monthly_income": 50000,
  "deposit": 100000,
  "term_years": 20,
  "annual_interest_rate": 10.25
}'

    
Request

Calculates the full cost of transferring a property in South Africa. Includes SARS transfer duty using the current tiered bracket system, transfer attorney fees (also known as conveyancing fees) based on the LPC guideline tariff, deeds office transfer fees from the Government Gazette, lodgement fee, and disbursements. Request Body: - property_price (required): Purchase price of the property in Rands.

Endpoint ID: 24866
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24866/bond+transfer+costs+calculator
INPUT PARAMETERS

Bond Transfer Costs Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"property_price":2000000,"transfer_duty":33786,"transfer_attorney_fee":{"also_known_as":"conveyancing fee","amount":40963,"is_estimate":true},"deeds_office_transfer_fee":{"amount":1738,"is_estimate":true},"lodgement_fee":52,"disbursements":{"amount":1750,"is_estimate":true},"total_transfer_costs":78289},"meta":{"tax_year":"2026/27","disclaimer":"Estimates only. Consult a qualified financial advisor before making any property or financial decisions.","cached":false,"notes":"Attorney fee includes VAT at 15% and is a guideline estimate — actual fee varies by firm. Disbursements are indicative."}}
Bond Transfer Costs Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24866/bond+transfer+costs+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "property_price": 2000000
}'

    
Request

Calculates the cost of registering a new mortgage bond in South Africa. Includes bond registration attorney fees based on the LPC guideline tariff, deeds office registration fees from the Government Gazette, lodgement fee, and disbursements. Calculated on the bond amount, not the purchase price. Request Body: - bond_amount (required): The loan amount in Rands. This is the bond amount, not the property purchase price.

Endpoint ID: 24867
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24867/bond+registration+costs+calculator
INPUT PARAMETERS

Bond Registration Costs Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"bond_amount":1800000,"bond_registration_attorney_fee":{"amount":38605.5,"is_estimate":true},"deeds_office_registration_fee":{"amount":1738,"is_estimate":true},"lodgement_fee":52,"disbursements":{"amount":1750,"is_estimate":true},"total_registration_costs":42145.5},"meta":{"tax_year":"2026/27","disclaimer":"Estimates only. Consult a qualified financial advisor before making any property or financial decisions.","cached":false,"notes":"Attorney fee includes VAT at 15% and is a guideline estimate — actual fee varies by firm. Disbursements are indicative."}}
Bond Registration Costs Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24867/bond+registration+costs+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "bond_amount": 1800000
}'

    
Request

Calculates how much interest you save and how many months you cut from your bond term by making an additional monthly payment on top of the standard repayment. Returns months saved, years saved, original total interest, new total interest, and total interest saved. Request Body: - property_price (required): Purchase price of the property in Rands. - deposit (optional): Deposit amount in Rands. Defaults to 0 if not provided. - term_years (required): Original loan term in years. Example: 20. - annual_interest_rate (required): Annual interest rate as a percentage. Example: 10.25. - extra_monthly_payment (required): Additional monthly payment amount in Rands on top of standard repayment.

Endpoint ID: 24868
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24868/bond+extra+payment+calculator
INPUT PARAMETERS

Bond Extra Payment Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"standard_monthly_repayment":17669.58,"extra_monthly_payment":2000,"new_monthly_repayment":19669.58,"original_term_months":240,"new_term_months":179,"months_saved":61,"years_saved":5.1,"original_total_interest":2440699.2,"new_total_interest":1719136.68,"interest_saved":721562.52},"meta":{"tax_year":"2026/27","disclaimer":"Estimates only. Consult a qualified financial advisor before making any property or financial decisions.","cached":false}}
Bond Extra Payment Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24868/bond+extra+payment+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "property_price": 2000000,
  "deposit": 200000,
  "term_years": 20,
  "annual_interest_rate": 10.25,
  "extra_monthly_payment": 2000
}'

    
Request

Returns a complete cost breakdown for purchasing a property in South Africa. Combines transfer costs, bond registration costs, and the property price into a single total acquisition cost. Shows the minimum cash required on transfer day including deposit and all fees. Request Body: - property_price (required): Purchase price of the property in Rands. - deposit (optional): Deposit amount in Rands. Defaults to 0 if not provided. If deposit equals or exceeds property price, bond registration costs are omitted.

Endpoint ID: 24869
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24869/bond+total+purchase+cost+calculator
INPUT PARAMETERS

Bond Total Purchase Cost Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"property_price":2000000,"deposit":200000,"bond_amount":1800000,"transfer_costs":{"transfer_duty":33786,"transfer_attorney_fee":{"also_known_as":"conveyancing fee","amount":40963,"is_estimate":true},"deeds_office_transfer_fee":{"amount":1738,"is_estimate":true},"lodgement_fee":52,"disbursements":{"amount":1750,"is_estimate":true},"subtotal":78289},"registration_costs":{"bond_registration_attorney_fee":{"amount":38605.5,"is_estimate":true},"deeds_office_registration_fee":{"amount":1738,"is_estimate":true},"lodgement_fee":52,"disbursements":{"amount":1750,"is_estimate":true},"subtotal":42145.5},"total_fees":120434.5,"total_cash_required":320434.5,"total_acquisition_cost":2120434.5},"meta":{"tax_year":"2026/27","disclaimer":"Estimates only. Consult a qualified financial advisor before making any property or financial decisions.","cached":false,"notes":"Attorney fees include VAT at 15%. All fee line items are guideline estimates — actual amounts vary by firm and transaction. total_cash_required is the minimum cash needed on transfer day (deposit + all fees)."}}
Bond Total Purchase Cost Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24869/bond+total+purchase+cost+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "property_price": 2000000,
  "deposit": 200000
}'

    
Request

Returns a full month-by-month amortisation schedule for a South African home loan. Each entry shows the payment amount, principal portion, interest portion, and remaining balance for every month of the loan term. Includes a summary of total payments, total principal, and total interest. Request Body: - property_price (required): Purchase price of the property in Rands. - deposit (optional): Deposit amount in Rands. Defaults to 0 if not provided. - term_years (required): Loan term in years. Example: 20. - annual_interest_rate (required): Annual interest rate as a percentage. Example: 10.25.

Endpoint ID: 24870
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24870/bond+amortisation+schedule
INPUT PARAMETERS

Bond Amortisation Schedule — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"schedule":[{"month":1,"payment":38466.47,"principal":23091.47,"interest":15375,"balance":1776908.53},{"month":2,"payment":38466.47,"principal":23288.71,"interest":15177.76,"balance":1753619.82},{"month":3,"payment":38466.47,"principal":23487.63,"interest":14978.84,"balance":1730132.19},{"month":4,"payment":38466.47,"principal":23688.26,"interest":14778.21,"balance":1706443.93},{"month":5,"payment":38466.47,"principal":23890.59,"interest":14575.88,"balance":1682553.34},{"month":6,"payment":38466.47,"principal":24094.66,"interest":14371.81,"balance":1658458.68},{"month":7,"payment":38466.47,"principal":24300.47,"interest":14166,"balance":1634158.21},{"month":8,"payment":38466.47,"principal":24508.04,"interest":13958.43,"balance":1609650.17},{"month":9,"payment":38466.47,"principal":24717.37,"interest":13749.1,"balance":1584932.8},{"month":10,"payment":38466.47,"principal":24928.5,"interest":13537.97,"balance":1560004.3},{"month":11,"payment":38466.47,"principal":25141.43,"interest":13325.04,"balance":1534862.87},{"month":12,"payment":38466.47,"principal":25356.18,"interest":13110.29,"balance":1509506.69},{"month":13,"payment":38466.47,"principal":25572.77,"interest":12893.7,"balance":1483933.92},{"month":14,"payment":38466.47,"principal":25791.2,"interest":12675.27,"balance":1458142.72},{"month":15,"payment":38466.47,"principal":26011.5,"interest":12454.97,"balance":1432131.22},{"month":16,"payment":38466.47,"principal":26233.68,"interest":12232.79,"balance":1405897.54},{"month":17,"payment":38466.47,"principal":26457.76,"interest":12008.71,"balance":1379439.78},{"month":18,"payment":38466.47,"principal":26683.76,"interest":11782.71,"balance":1352756.02},{"month":19,"payment":38466.47,"principal":26911.68,"interest":11554.79,"balance":1325844.34},{"month":20,"payment":38466.47,"principal":27141.55,"interest":11324.92,"balance":1298702.79},{"month":21,"payment":38466.47,"principal":27373.38,"interest":11093.09,"balance":1271329.41},{"month":22,"payment":38466.47,"principal":27607.2,"interest":10859.27,"balance":1243722.21},{"month":23,"payment":38466.47,"principal":27843.01,"interest":10623.46,"balance":1215879.2},{"month":24,"payment":38466.47,"principal":28080.84,"interest":10385.63,"balance":1187798.36},{"month":25,"payment":38466.47,"principal":28320.69,"interest":10145.78,"balance":1159477.67},{"month":26,"payment":38466.47,"principal":28562.6,"interest":9903.87,"balance":1130915.07},{"month":27,"payment":38466.47,"principal":28806.57,"interest":9659.9,"balance":1102108.5},{"month":28,"payment":38466.47,"principal":29052.63,"interest":9413.84,"balance":1073055.87},{"month":29,"payment":38466.47,"principal":29300.78,"interest":9165.69,"balance":1043755.09},{"month":30,"payment":38466.47,"principal":29551.06,"interest":8915.41,"balance":1014204.03},{"month":31,"payment":38466.47,"principal":29803.48,"interest":8662.99,"balance":984400.55},{"month":32,"payment":38466.47,"principal":30058.05,"interest":8408.42,"balance":954342.5},{"month":33,"payment":38466.47,"principal":30314.79,"interest":8151.68,"balance":924027.71},{"month":34,"payment":38466.47,"principal":30573.73,"interest":7892.74,"balance":893453.98},{"month":35,"payment":38466.47,"principal":30834.88,"interest":7631.59,"balance":862619.1},{"month":36,"payment":38466.47,"principal":31098.27,"interest":7368.2,"balance":831520.83},{"month":37,"payment":38466.47,"principal":31363.9,"interest":7102.57,"balance":800156.93},{"month":38,"payment":38466.47,"principal":31631.8,"interest":6834.67,"balance":768525.13},{"month":39,"payment":38466.47,"principal":31901.98,"interest":6564.49,"balance":736623.15},{"month":40,"payment":38466.47,"principal":32174.48,"interest":6291.99,"balance":704448.67},{"month":41,"payment":38466.47,"principal":32449.3,"interest":6017.17,"balance":671999.37},{"month":42,"payment":38466.47,"principal":32726.48,"interest":5739.99,"balance":639272.89},{"month":43,"payment":38466.47,"principal":33006.01,"interest":5460.46,"balance":606266.88},{"month":44,"payment":38466.47,"principal":33287.94,"interest":5178.53,"balance":572978.94},{"month":45,"payment":38466.47,"principal":33572.27,"interest":4894.2,"balance":539406.67},{"month":46,"payment":38466.47,"principal":33859.04,"interest":4607.43,"balance":505547.63},{"month":47,"payment":38466.47,"principal":34148.25,"interest":4318.22,"balance":471399.38},{"month":48,"payment":38466.47,"principal":34439.93,"interest":4026.54,"balance":436959.45},{"month":49,"payment":38466.47,"principal":34734.11,"interest":3732.36,"balance":402225.34},{"month":50,"payment":38466.47,"principal":35030.8,"interest":3435.67,"balance":367194.54},{"month":51,"payment":38466.47,"principal":35330.02,"interest":3136.45,"balance":331864.52},{"month":52,"payment":38466.47,"principal":35631.79,"interest":2834.68,"balance":296232.73},{"month":53,"payment":38466.47,"principal":35936.15,"interest":2530.32,"balance":260296.58},{"month":54,"payment":38466.47,"principal":36243.1,"interest":2223.37,"balance":224053.48},{"month":55,"payment":38466.47,"principal":36552.68,"interest":1913.79,"balance":187500.8},{"month":56,"payment":38466.47,"principal":36864.9,"interest":1601.57,"balance":150635.9},{"month":57,"payment":38466.47,"principal":37179.79,"interest":1286.68,"balance":113456.11},{"month":58,"payment":38466.47,"principal":37497.37,"interest":969.1,"balance":75958.74},{"month":59,"payment":38466.47,"principal":37817.66,"interest":648.81,"balance":38141.08},{"month":60,"payment":38466.87,"principal":38141.08,"interest":325.79,"balance":0}],"summary":{"total_payments":2307988.6,"total_principal":1800000,"total_interest":507988.6}},"meta":{"tax_year":"2026/27","disclaimer":"Estimates only. Consult a qualified financial advisor before making any property or financial decisions.","cached":false}}
Bond Amortisation Schedule — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24870/bond+amortisation+schedule' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "property_price": 2000000,
  "deposit": 200000,
  "term_years": 5,
  "annual_interest_rate": 10.25
}'

    
Request

Compares two South African home loan scenarios side by side. Returns both repayment breakdowns and a structured comparison showing which option is cheaper overall, total interest saving, monthly payment difference, and a trade-off note when the cheaper overall option has higher monthly repayments. Request Body: - bond_a (required): First bond scenario object containing property_price, deposit (optional), term_years, and annual_interest_rate. - bond_b (required): Second bond scenario object containing property_price, deposit (optional), term_years, and annual_interest_rate.

Endpoint ID: 24871
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24871/bond+comparison+calculator
INPUT PARAMETERS

Bond Comparison Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"bond_a":{"property_price":2000000,"deposit":200000,"principal":1800000,"term_years":20,"annual_interest_rate":10.25,"monthly_repayment":17669.58,"total_repayment":4240699.2,"total_interest":2440699.2},"bond_b":{"property_price":2000000,"deposit":200000,"principal":1800000,"term_years":15,"annual_interest_rate":10.25,"monthly_repayment":19619.12,"total_repayment":3531441.6,"total_interest":1731441.6},"comparison":{"cheaper_option":"bond_b","total_saving":709257.6,"monthly_difference":1949.54,"note":"Bond B costs less overall but has higher monthly repayments. Bond A is cheaper month-to-month but costs more in total interest."}},"meta":{"tax_year":"2026/27","disclaimer":"Estimates only. Consult a qualified financial advisor before making any property or financial decisions.","cached":false}}
Bond Comparison Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24871/bond+comparison+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "bond_a": {
    "property_price": 2000000,
    "deposit": 200000,
    "term_years": 20,
    "annual_interest_rate": 10.25
  },
  "bond_b": {
    "property_price": 2000000,
    "deposit": 200000,
    "term_years": 15,
    "annual_interest_rate": 10.25
  }
}'

    
Request
Returns the current South African prime lending rate as published by the South African Reserve Bank. The rate is scraped daily and persisted to a database. If the live scrape fails the last successfully persisted value is returned. The response includes a scrape timestamp and a fallback flag indicating whether a cached or config value was used. No parameters required.
Endpoint ID: 24872
GET https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24872/sarb+prime+lending+rate
INPUT PARAMETERS

Free test requests remaining: 3 of 3.

This endpoint does not require any input parameters.

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"prime_rate":10.25,"scraped_at":"2026-05-29T08:41:39.201Z","fallback":false},"meta":{"disclaimer":"Estimates only. Consult a qualified financial advisor before making any property or financial decisions.","cached":false}}
SARB Prime Lending Rate — CODE SNIPPETS

curl --location --request GET 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24872/sarb+prime+lending+rate' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Request

Calculates the monthly car loan repayment for a South African vehicle finance agreement. Supports an optional balloon payment. If a balloon payment is specified it is excluded from the monthly repayment calculation but remains owed as a lump sum at the end of the term. A warning field is included in the response whenever a balloon payment is present. Request Body: - vehicle_price (required): Purchase price of the vehicle in Rands. - deposit (optional): Deposit amount in Rands. Defaults to 0 if not provided. - term_months (required): Loan term in months. Example: 72. - annual_interest_rate (required): Annual interest rate as a percentage. Example: 11.5. - balloon_payment (optional): Balloon payment amount in Rands. Defaults to 0 if not provided.

Endpoint ID: 24873
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24873/vehicle+repayment+calculator
INPUT PARAMETERS

Vehicle Repayment Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"vehicle_price":500000,"deposit":50000,"loan_amount":450000,"monthly_repayment":7952.93,"term_months":72,"annual_interest_rate":11.5,"balloon_payment":75000,"warning":"Balloon amount of R75 000,00 is still owed at end of term and is not included in monthly repayment"},"meta":{"disclaimer":"Estimates only. Consult a qualified financial advisor before making any vehicle finance decisions.","cached":false}}
Vehicle Repayment Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24873/vehicle+repayment+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "vehicle_price": 500000,
  "deposit": 50000,
  "term_months": 72,
  "annual_interest_rate": 11.5,
  "balloon_payment": 75000
}'

    
Request

Calculates the maximum vehicle price a buyer can afford based on a monthly budget. Supports an optional balloon payment. Does not include additional ownership costs such as insurance, licensing, or fuel. Request Body: - monthly_budget (required): Maximum monthly repayment budget in Rands. - deposit (optional): Available deposit amount in Rands. Defaults to 0 if not provided. - term_months (required): Loan term in months. Example: 72. - annual_interest_rate (required): Annual interest rate as a percentage. Example: 11.5. - balloon_payment (optional): Balloon payment amount in Rands. Defaults to 0 if not provided.

Endpoint ID: 24874
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24874/vehicle+affordability+calculator
INPUT PARAMETERS

Vehicle Affordability Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"max_vehicle_price":464697.8,"max_loan_amount":414697.8,"monthly_budget":8000,"deposit":50000,"term_months":72,"annual_interest_rate":11.5},"meta":{"disclaimer":"Estimates only. Consult a qualified financial advisor before making any vehicle finance decisions.","cached":false,"notes":"Max vehicle price is the maximum that can be financed at the given monthly budget. Additional costs (insurance, licensing, fuel) are not included."}}
Vehicle Affordability Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24874/vehicle+affordability+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "monthly_budget": 8000,
  "deposit": 50000,
  "term_months": 72,
  "annual_interest_rate": 11.5
}'

    
Request

Calculates the total cost of owning a financed vehicle in South Africa. Includes all monthly repayments, total interest paid, and balloon payment if applicable. Total interest is calculated on the amortised portion only and the balloon payment is surfaced separately as deferred principal. Request Body: - vehicle_price (required): Purchase price of the vehicle in Rands. - deposit (optional): Deposit amount in Rands. Defaults to 0 if not provided. - term_months (required): Loan term in months. Example: 72. - annual_interest_rate (required): Annual interest rate as a percentage. Example: 11.5. - balloon_payment (optional): Balloon payment amount in Rands. Defaults to 0 if not provided.

Endpoint ID: 24875
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24875/vehicle+total+cost+of+ownership
INPUT PARAMETERS

Vehicle Total Cost of Ownership — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"vehicle_price":500000,"deposit":50000,"loan_amount":450000,"monthly_repayment":8681.02,"term_months":72,"annual_interest_rate":11.5,"total_repayments":625033.44,"total_interest":175033.44,"total_cost_of_ownership":675033.44},"meta":{"disclaimer":"Estimates only. Consult a qualified financial advisor before making any vehicle finance decisions.","cached":false,"notes":"total_interest reflects the financing cost on the amortised portion only. balloon_payment is deferred principal and is surfaced separately. total_cost_of_ownership = deposit + total_repayments + balloon_payment."}}
Vehicle Total Cost of Ownership — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24875/vehicle+total+cost+of+ownership' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "vehicle_price": 500000,
  "deposit": 50000,
  "term_months": 72,
  "annual_interest_rate": 11.5
}'

    
Request

Compares two South African vehicle finance scenarios side by side. Returns both repayment breakdowns and a structured comparison showing which option is cheaper overall based on total cost of ownership, total saving, monthly payment difference, and a trade-off note where applicable. Supports optional balloon payments on either vehicle. Request Body: - vehicle_a (required): First vehicle scenario object containing vehicle_price, deposit (optional), term_months, annual_interest_rate, and balloon_payment (optional). - vehicle_b (required): Second vehicle scenario object containing vehicle_price, deposit (optional), term_months, annual_interest_rate, and balloon_payment (optional).

Endpoint ID: 24876
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24876/vehicle+comparison+calculator
INPUT PARAMETERS

Vehicle Comparison Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"vehicle_a":{"vehicle_price":500000,"deposit":50000,"loan_amount":450000,"term_months":72,"annual_interest_rate":11.5,"monthly_repayment":8681.02,"total_repayments":625033.44,"total_interest":175033.44,"total_cost_of_ownership":675033.44},"vehicle_b":{"vehicle_price":500000,"deposit":50000,"loan_amount":450000,"term_months":60,"annual_interest_rate":11.5,"monthly_repayment":9896.67,"total_repayments":593800.2,"total_interest":143800.2,"total_cost_of_ownership":643800.2},"comparison":{"cheaper_option":"vehicle_b","total_saving":31233.24,"monthly_difference":1215.65,"note":"Vehicle B costs less overall but has higher monthly repayments. Vehicle A is cheaper month-to-month but costs more in total."}},"meta":{"disclaimer":"Estimates only. Consult a qualified financial advisor before making any vehicle finance decisions.","cached":false}}
Vehicle Comparison Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24876/vehicle+comparison+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "vehicle_a": {
    "vehicle_price": 500000,
    "deposit": 50000,
    "term_months": 72,
    "annual_interest_rate": 11.5
  },
  "vehicle_b": {
    "vehicle_price": 500000,
    "deposit": 50000,
    "term_months": 60,
    "annual_interest_rate": 11.5
  }
}'

    
Request

Calculates full South African PAYE income tax, UIF, SDL, and medical aid tax credits for the 2026/27 tax year. Returns monthly and annual breakdowns for both employee and employer contributions. Age determines which rebate applies and medical aid members determines the monthly tax credit deduction. Request Body: - annual_income (required): Annual gross income in Rands before any deductions. - age (required): Taxpayer age. Determines whether primary, secondary (65 and older), or tertiary (75 and older) rebate applies. - medical_aid_members (optional): Total number of medical aid members including the main member. Defaults to 0 if not provided.

Endpoint ID: 24877
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24877/paye+income+tax+calculator
INPUT PARAMETERS

PAYE Income Tax Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"annual_income":480000,"monthly_income":40000,"tax_year":"2026/27","gross_income_tax":{"annual":110037,"monthly":9169.75},"rebate":{"primary":17820,"secondary":0,"tertiary":0,"total":17820},"income_tax":{"annual":80145,"monthly":6678.75},"uif":{"employee_monthly":177.12,"employer_monthly":177.12,"ceiling_applied":true},"sdl":{"monthly":400,"note":"Employer levy — not deducted from employee salary. Payable only if employer annual payroll exceeds R500,000."},"effective_tax_rate":0.167,"net_monthly_income":33144.13,"medical_aid_tax_credit":{"members":3,"monthly":1006,"annual":12072}},"meta":{"disclaimer":"Estimates only. Consult a registered tax practitioner before making any tax decisions.","cached":false,"notes":"PAYE calculated on gross annual income before any other deductions (e.g. pension, retirement annuity). Net monthly income reflects salary after income tax and employee UIF contribution only."}}
PAYE Income Tax Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24877/paye+income+tax+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "annual_income": 480000,
  "age": 35,
  "medical_aid_members": 3
}'

    
Request

Calculates take-home pay for a South African employee. Returns a clean bottom-line net monthly salary after income tax and UIF deductions. Simpler output than the full PAYE endpoint, designed for quick salary calculations without the full tax breakdown. No other deductions such as pension, retirement annuity, or medical aid premium are included. Request Body: - annual_income (required): Annual gross income in Rands before any deductions. - age (required): Taxpayer age. Determines which rebate applies. - medical_aid_members (optional): Total number of medical aid members. Defaults to 0 if not provided.

Endpoint ID: 24878
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24878/net+salary+calculator
INPUT PARAMETERS

Net Salary Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"gross_monthly":40000,"tax_monthly":6678.75,"uif_monthly":177.12,"net_monthly":33144.13},"meta":{"disclaimer":"Estimates only. Consult a registered tax practitioner before making any tax decisions.","cached":false,"notes":"Take-home pay after income tax and employee UIF contribution only. No other deductions (pension, retirement annuity, medical aid premium) are applied."}}
Net Salary Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24878/net+salary+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "annual_income": 480000,
  "age": 35,
  "medical_aid_members": 3
}'

    
Request

Calculates the tax payable on an annual bonus using the SARS averaging method. Tax on the bonus is calculated as tax on total income plus bonus minus tax on income alone. Returns the net bonus after tax and the effective bonus tax rate. Request Body: - annual_income (required): Annual gross income in Rands before the bonus. - bonus_amount (required): Bonus amount in Rands. - age (required): Taxpayer age. Determines which rebate applies. - medical_aid_members (optional): Total number of medical aid members. Defaults to 0 if not provided.

Endpoint ID: 24879
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24879/annual+bonus+tax+calculator
INPUT PARAMETERS

Annual Bonus Tax Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"bonus_amount":50000,"tax_on_bonus":15500,"net_bonus":34500,"effective_bonus_tax_rate":0.31},"meta":{"disclaimer":"Estimates only. Consult a registered tax practitioner before making any tax decisions.","cached":false,"notes":"Tax on bonus uses the SARS averaging method: tax on (annual income + bonus) minus tax on annual income. Result may differ if employer uses a different method or if other deductions apply."}}
Annual Bonus Tax Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24879/annual+bonus+tax+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "annual_income": 480000,
  "bonus_amount": 50000,
  "age": 35
}'

    
Request
Returns the South African income tax brackets, rebates, tax thresholds, and medical aid tax credits for a given tax year. Available years are 2023, 2024, 2025, and 2026. If the requested year is not available the response includes a list of available years. Query Parameters: - year (required): The tax year to retrieve. Use the year the tax year ends in. Example: 2026 for the 2026/27 tax year running from 1 March 2026 to 28 February 2027.
Endpoint ID: 24880
GET https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24880/tax+brackets+by+year
INPUT PARAMETERS

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

This endpoint does not require any input parameters.

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"tax_year":"2026/27","effective_date":"2026-03-01","income_tax_brackets":[{"from":0,"to":245100,"threshold":0,"base_tax":0,"rate":0.18},{"from":245101,"to":383100,"threshold":245100,"base_tax":44118,"rate":0.26},{"from":383101,"to":530200,"threshold":383100,"base_tax":79998,"rate":0.31},{"from":530201,"to":695800,"threshold":530200,"base_tax":125599,"rate":0.36},{"from":695801,"to":887000,"threshold":695800,"base_tax":185215,"rate":0.39},{"from":887001,"to":1878600,"threshold":887000,"base_tax":259783,"rate":0.41},{"from":1878601,"to":null,"threshold":1878600,"base_tax":666339,"rate":0.45}],"rebates":{"primary":17820,"secondary":9765,"tertiary":3249},"tax_thresholds":{"under_65":99000,"age_65_to_74":153250,"age_75_and_over":171300},"medical_aid_tax_credits":{"main_member_monthly":376,"first_dependant_monthly":376,"additional_dependant_monthly":254}},"meta":{"disclaimer":"Estimates only. Consult a registered tax practitioner before making any tax decisions.","cached":false}}
Tax Brackets by Year — CODE SNIPPETS

curl --location --request GET 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24880/tax+brackets+by+year' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Request
Returns the current South African tax rates including VAT rate and percentage, UIF employee and employer contribution rates, UIF monthly and annual remuneration ceilings, SDL rate, and SDL annual payroll exemption threshold. These rates are legislated and rarely change. No parameters required.
Endpoint ID: 24881
GET https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24881/current+tax+rates
INPUT PARAMETERS

Free test requests remaining: 3 of 3.

This endpoint does not require any input parameters.

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"vat":{"rate":0.15,"percentage":15},"uif":{"employee_rate":0.01,"employer_rate":0.01,"monthly_remuneration_ceiling":17712,"annual_remuneration_ceiling":212544},"sdl":{"rate":0.01,"annual_payroll_exemption_threshold":500000}},"meta":{"disclaimer":"Estimates only. Consult a registered tax practitioner before making any tax decisions.","cached":false}}
Current Tax Rates — CODE SNIPPETS

curl --location --request GET 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24881/current+tax+rates' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Request

Adds or removes South African VAT at 15 percent from any amount. Use mode add to convert a VAT-exclusive amount to VAT-inclusive. Use mode remove to extract the VAT-exclusive price from a VAT-inclusive amount. Request Body: - amount (required): The amount in Rands to apply VAT to. - mode (required): The calculation direction. Use add to calculate VAT-inclusive price from an exclusive amount. Use remove to extract the VAT-exclusive price from an inclusive amount.

Endpoint ID: 24882
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24882/vat+calculator
INPUT PARAMETERS

VAT Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"mode":"add","amount_exclusive":1000,"vat_amount":150,"amount_inclusive":1150,"vat_rate":0.15},"meta":{"disclaimer":"Estimates only. Consult a registered tax practitioner before making any tax decisions.","cached":false}}
VAT Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24882/vat+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "amount": 1000,
  "mode": "add"
}'

    
Request

Calculates the South African tax payable on a retirement fund lump sum using the SARS retirement fund lump sum tax tables for the 2026/27 tax year. Supports both lump sums taken at retirement and early withdrawals before retirement. Tax is calculated assuming this is the first lump sum taken as SARS aggregates all prior lump sums in a lifetime. Request Body: - lump_sum (required): The lump sum amount in Rands. - type (required): The withdrawal type. Use at_retirement for lump sums taken at retirement. Use withdrawal for early withdrawals before retirement.

Endpoint ID: 24883
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24883/retirement+lump+sum+tax+calculator
INPUT PARAMETERS

Retirement Lump Sum Tax Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"lump_sum":800000,"type":"at_retirement","tax_payable":47700,"net_lump_sum":752300,"effective_tax_rate":0.0596,"tax_year":"2026/27"},"meta":{"disclaimer":"Estimates only. Consult a registered tax practitioner before making any tax decisions.","cached":false,"notes":"Tax is calculated on the assumption this is the first lump sum taken. SARS aggregates all prior lump sums in a lifetime — prior withdrawals may push this amount into a higher bracket. Consult a retirement specialist."}}
Retirement Lump Sum Tax Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24883/retirement+lump+sum+tax+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "lump_sum": 800000,
  "type": "at_retirement"
}'

    
Request

Returns the monthly and annual medical aid tax credit for a given number of medical aid members using the current SARS 2026/27 rates. Credits reduce PAYE payable and are not a cash refund. Useful for HR tools and payroll systems that need to calculate the medical aid credit independently. Query Parameters: - members (required): Total number of medical aid members including the main member and all dependants. Example: 3.

Endpoint ID: 24884
GET https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24884/medical+aid+tax+credits
INPUT PARAMETERS

Medical Aid Tax Credits — Endpoint Features

Object Description
members Required Required. Total number of medical aid members including main member and all dependants.

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

members
API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"members":3,"monthly_credit":1006,"annual_credit":12072,"rates":{"main_member_monthly":376,"first_dependant_monthly":376,"additional_dependant_monthly":254}},"meta":{"disclaimer":"Estimates only. Consult a registered tax practitioner before making any tax decisions.","cached":false,"notes":"Medical aid tax credits for tax year 2026/27. Credits reduce PAYE payable — they are not a cash refund."}}
Medical Aid Tax Credits — CODE SNIPPETS

curl --location --request GET 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24884/medical+aid+tax+credits?members=3' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Request

Compare two South African tax years side by side and view the differences in income tax brackets, tax rebates, tax thresholds, and medical aid tax credits. This endpoint helps users understand how tax rules and budget changes have evolved between years and how they may impact a taxpayer's position.

Available tax years: 2023, 2024, 2025, and 2026.

Endpoint ID: 24885
GET https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24885/tax+year+comparison
INPUT PARAMETERS

Tax Year Comparison — Endpoint Features

Object Description
year1 Required Required. First tax year to compare. Accepted values: 2023, 2024, 2025, 2026.
year2 Required Required. Second tax year to compare. Accepted values: 2023, 2024, 2025, 2026.

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

year1
year2
API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"years_compared":["2023","2026"],"income_tax_brackets":[{"2023":{"from":0,"to":226000},"2026":{"from":0,"to":245100},"bracket":1,"rate":0.18},{"2023":{"from":226001,"to":353100},"2026":{"from":245101,"to":383100},"bracket":2,"rate":0.26},{"2023":{"from":353101,"to":488700},"2026":{"from":383101,"to":530200},"bracket":3,"rate":0.31},{"2023":{"from":488701,"to":641400},"2026":{"from":530201,"to":695800},"bracket":4,"rate":0.36},{"2023":{"from":641401,"to":817600},"2026":{"from":695801,"to":887000},"bracket":5,"rate":0.39},{"2023":{"from":817601,"to":1731600},"2026":{"from":887001,"to":1878600},"bracket":6,"rate":0.41},{"2023":{"from":1731601,"to":null},"2026":{"from":1878601,"to":null},"bracket":7,"rate":0.45}],"rebates":{"primary":{"2023":16425,"2026":17820,"difference":1395},"secondary":{"2023":9000,"2026":9765,"difference":765},"tertiary":{"2023":2997,"2026":3249,"difference":252}},"tax_thresholds":{"under_65":{"2023":91250,"2026":99000,"difference":7750},"age_65_to_74":{"2023":141250,"2026":153250,"difference":12000},"age_75_and_over":{"2023":157900,"2026":171300,"difference":13400}},"medical_aid_tax_credits":{"main_member_monthly":{"2023":347,"2026":376,"difference":29},"first_dependant_monthly":{"2023":347,"2026":376,"difference":29},"additional_dependant_monthly":{"2023":234,"2026":254,"difference":20}}},"meta":{"disclaimer":"Estimates only. Consult a registered tax practitioner before making any tax decisions.","cached":false,"notes":"Comparison of tax year 2023/24 (effective 2023-03-01) vs 2026/27 (effective 2026-03-01). Differences are year2 minus year1."}}
Tax Year Comparison — CODE SNIPPETS

curl --location --request GET 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24885/tax+year+comparison?year1=2023&year2=2026' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Request

Calculates the monthly repayment, total repayment, and total interest for a South African personal loan using standard amortisation. Returns a full breakdown including principal, term, interest rate, and total cost of the loan. Request Body: - principal (required): Loan amount in Rands. - term_months (required): Loan term in months. Example: 60. - annual_interest_rate (required): Annual interest rate as a percentage. Example: 13.5.

Endpoint ID: 24886
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24886/personal+loan+repayment+calculator
INPUT PARAMETERS

Personal Loan Repayment Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"principal":150000,"term_months":60,"annual_interest_rate":13.5,"monthly_repayment":3451.48,"total_repayment":207088.8,"total_interest":57088.8},"meta":{"disclaimer":"Estimates only. Consult a qualified financial advisor before making any financial decisions.","cached":false}}
Personal Loan Repayment Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24886/personal+loan+repayment+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "principal": 150000,
  "term_months": 60,
  "annual_interest_rate": 13.5
}'

    
Request

Compares two South African personal loan scenarios side by side. Returns both loan breakdowns and a structured comparison showing which option is cheaper overall, total interest saving, monthly payment difference, and a trade-off note when the cheaper overall loan has higher monthly repayments. Request Body: - loan_a (required): First loan scenario object containing principal, term_months, and annual_interest_rate. - loan_b (required): Second loan scenario object containing principal, term_months, and annual_interest_rate.

Endpoint ID: 24887
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24887/loan+comparison+calculator
INPUT PARAMETERS

Loan Comparison Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"loan_a":{"principal":150000,"term_months":60,"annual_interest_rate":13.5,"monthly_repayment":3451.48,"total_repayment":207088.8,"total_interest":57088.8},"loan_b":{"principal":150000,"term_months":48,"annual_interest_rate":13.5,"monthly_repayment":4061.45,"total_repayment":194949.6,"total_interest":44949.6},"comparison":{"cheaper_option":"b","total_saving":12139.2,"monthly_difference":609.97,"note":"Loan B costs less overall but has higher monthly repayments. Loan A is cheaper month-to-month but costs more in total interest."}},"meta":{"disclaimer":"Estimates only. Consult a qualified financial advisor before making any financial decisions.","cached":false}}
Loan Comparison Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24887/loan+comparison+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "loan_a": {
    "principal": 150000,
    "term_months": 60,
    "annual_interest_rate": 13.5
  },
  "loan_b": {
    "principal": 150000,
    "term_months": 48,
    "annual_interest_rate": 13.5
  }
}'

    
Request

Calculates the future value of a Rand amount after a given number of years using South African CPI inflation. Shows how much purchasing power is lost over time. Uses the current SA CPI rate from Stats SA by default. Supports an optional override rate to model a custom inflation scenario. Request Body: - amount (required): Present value amount in Rands. - years (required): Number of years to project forward. Must be a positive integer. - override_rate (optional): Custom inflation rate as a decimal. Example: 0.06 for 6 percent. If not provided the current SA CPI rate from Stats SA is used.

Endpoint ID: 24888
POST https://docs.zylalabs.com/api/12762/sa+financial+calculators+api/24888/inflation+future+value+calculator
INPUT PARAMETERS

Inflation Future Value Calculator — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"present_value":100000,"future_value":148024.43,"increase":48024.43,"inflation_rate":0.04,"years":10,"rate_source":"SA CPI (Stats SA)"},"meta":{"disclaimer":"Estimates only. Consult a qualified financial advisor before making any financial decisions.","cached":false,"notes":"SA CPI rate of 4.00% used (April 2026). Update config/rates.json to reflect the latest Stats SA release."}}
Inflation Future Value Calculator — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12762/sa+financial+calculators+api/24888/inflation+future+value+calculator' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "amount": 100000,
  "years": 10
}'

    

API Access Key & Authentication

After signing up, every developer is assigned a personal API access key, a unique combination of letters and digits provided to access to our API endpoint. To authenticate with the SA Financial Calculators API simply include your bearer token in the Authorization header.

Headers
Header Description
Authorization Required Should be Bearer access_key. See "Your API Access Key" above when you are subscribed.

Simple Transparent Pricing

No long-term commitment. Upgrade, downgrade, or cancel anytime. Free Trial includes up to 50 requests.

(Save 2 months with annual billing 🎉)

🚀 Enterprise Plan
Custom Volume

  • Custom Rate Limit
  • Team & Access Management
  • SLA-backed Uptime
  • Specialized Customer Support
  • Real-Time API Monitoring
  • Enterprise Security & Compliance
Minimum annual contract: USD 10,000

Trusted by leading companies

Overview

A comprehensive suite of South African financial calculators covering bond and property costs, vehicle finance, PAYE tax, VAT, retirement lump sums, personal loans, and inflation. All monetary values in ZAR. Covers 25 endpoints across bond, vehicle, tax, and personal finance modules. Data sourced from SARS, LPC, Government Gazette, SARB, and Stats SA.

SA Financial Calculators API FAQs

All monetary inputs and outputs are in South African Rand (ZAR). Do not pass values in cents — always use full Rand amounts.

All results are estimates for informational purposes only. Attorney fees, deeds office fees, and transfer duty are calculated using official published schedules but actual amounts may vary by transaction. Every response includes a disclaimer in the meta field.

All tax calculations use the 2026/27 tax year (1 March 2026 to 28 February 2027) by default, based on the latest SARS budget announcement. Historical brackets for 2023, 2024, and 2025 are available via the Tax Brackets and Tax Year Comparison endpoints.

The prime rate is scraped daily from the South African Reserve Bank (resbank.co.za) and persisted to a database. The GET /bond/prime-rate endpoint always returns the most recently confirmed rate along with a scrape timestamp. If the live scrape fails, the last successfully persisted value is used and flagback: true is included in the response.

Transfer attorney fees (also known as conveyancing fees) and bond registration attorney fees are calculated using the LSSA incremental tariff schedule effective 1 August 2025. The formula is base fee plus increments per unit or part thereof, rounded up. All attorney fee amounts include VAT at 15% and are marked is_estimate: true as actual fees are negotiable and vary by firm.

Transfer costs cover the fees for transferring ownership of the property from seller to buyer — including transfer duty, transfer attorney fee, and deeds office transfer fee. Registration costs cover the fees for registering the new mortgage bond — including bond registration attorney fee and deeds office registration fee. The /bond/total-purchase-cost endpoint combines both into a single breakdown.

A balloon payment reduces the amount being amortised each month, resulting in lower monthly repayments. However the full balloon amount remains owed as a lump sum at the end of the finance term and is not included in the monthly repayment. Every response that includes a balloon payment includes a warning field making this explicit.

The SARS averaging method is used. Tax is calculated on total income plus bonus, then tax on income alone is subtracted. The difference is the tax on the bonus. This matches the method most South African employers use for payroll purposes.

- Tax brackets and transfer duty: updated in February after the annual budget speech - Deeds office fees: updated in April after the Government Gazette publication - LPC attorney tariff: updated in August after the LSSA guideline publication - Prime lending rate: updated daily via scraper after each SARB MPC decision

The API is suitable for displaying estimates, building calculators, and informational tools. It is not a substitute for professional financial, tax, or legal advice. All results should be clearly presented as estimates to end users. The disclaimer field in every response meta block is provided for this purpose.

Each endpoint returns JSON data structured to provide specific financial calculations or information. For example, the Bond Repayment Calculator returns monthly repayment amounts, total repayment, and interest details, while the PAYE Income Tax Calculator provides tax breakdowns and net income figures.

Key fields vary by endpoint but generally include "success," "data," and "meta." For instance, the Bond Repayment Calculator includes fields like "monthly_repayment," "total_interest," and "term_years," while the meta field provides source information and disclaimers.

Each endpoint has specific parameters. For example, the Bond Repayment Calculator requires "property_price," "term_years," and "annual_interest_rate." Optional parameters like "deposit" can also be included. Refer to each endpoint's documentation for detailed parameter requirements.

Response data is organized into a structured JSON format. The "data" object contains the results of the calculation, while the "meta" object includes additional information such as the source of the data and disclaimers. This structure allows for easy parsing and utilization of the results.

Data is sourced from reputable South African institutions, including SARS, LPC, Government Gazette, SARB, and Stats SA. This ensures that the calculations and information provided are based on official and current data, enhancing reliability.

Typical use cases include financial planning, mortgage assessments, tax calculations, and vehicle financing scenarios. Users can leverage the API to build calculators for personal finance applications, helping individuals make informed financial decisions.

Users can customize requests by providing specific parameters relevant to their needs. For example, in the Vehicle Affordability Calculator, users can adjust "monthly_budget," "deposit," and "term_months" to reflect their financial situation and preferences.

Users can utilize the returned data by integrating it into financial applications or calculators. For instance, the Bond Comparison Calculator provides a structured comparison of two scenarios, allowing users to easily identify the more cost-effective option based on total interest and monthly payments.

General FAQs

To obtain your API key, first sign in to your account and navigate to the API you want to use. From the API's Pricing section, choose a plan and complete the subscription process. Once subscribed, return to the API page and you will see your API Access Key displayed at the top of the documentation page. You can use this key to authenticate your requests.

You can’t switch APIs during the free trial. If you subscribe to a different API, your trial will end and the new subscription will start as a paid plan.

The free trial lasts for 7 days and allows you to make up to 50 API requests.

No, the free trial is available only once, so we recommend using it on the API that interests you the most. Most of our APIs offer a free trial, but some may not include this option.

Yes. If the API offers a free trial, you will see a "Free 7-Day Trial" option in its Pricing section. The trial lasts for 7 days and allows up to 50 API requests, enabling you to evaluate the API before subscribing to a paid plan.

Zyla API Hub is like a big store for APIs, where you can find thousands of them all in one place. We also offer dedicated support and real-time monitoring of all APIs. Once you sign up, you can pick and choose which APIs you want to use. Just remember, each API needs its own subscription. But if you subscribe to multiple ones, you'll use the same key for all of them, making things easier for you.

Prices are listed in USD (United States Dollar), EUR (Euro), CAD (Canadian Dollar), AUD (Australian Dollar), and GBP (British Pound). We accept all major debit and credit cards. Our payment system uses the latest security technology and is powered by Stripe, one of the world's most reliable payment companies. If you have any trouble paying by card, just contact us at [email protected]

Additionally, if you already have an active subscription in any of these currencies (USD, EUR, CAD, AUD, GBP), that currency will remain for subsequent subscriptions. You can change the currency at any time as long as you don't have any active subscriptions.
The local currency shown on the pricing page is based on the country of your IP address and is provided for reference only. The actual prices are in USD (United States Dollar). When you make a payment, the charge will appear on your card statement in USD, even if you see the equivalent amount in your local currency on our website. This means you cannot pay directly with your local currency.
Occasionally, a bank may decline the charge due to its fraud protection settings. We suggest reaching out to your bank initially to check if they are blocking our charges. Also, you can access the Billing Portal and change the card associated to make the payment. If these does not work and you need further assistance, please contact our team at [email protected]
Prices are determined by a recurring monthly or yearly subscription, depending on the chosen plan.
API calls are deducted from your plan based on successful requests. Each plan comes with a specific number of calls that you can make per month. Only successful calls, indicated by a Status 200 response, will be counted against your total. This ensures that failed or incomplete requests do not impact your monthly quota.
Zyla API Hub works on a recurring monthly subscription system. Your billing cycle will start the day you purchase one of the paid plans, and it will renew the same day of the next month. So be aware to cancel your subscription beforehand if you want to avoid future charges.
To upgrade your current subscription plan, simply go to the pricing page of the API and select the plan you want to upgrade to. The upgrade will be instant, allowing you to immediately enjoy the features of the new plan. Please note that any remaining calls from your previous plan will not be carried over to the new plan, so be aware of this when upgrading. You will be charged the full amount of the new plan.
To check how many API calls you have left for the current month, refer to the 'X-Zyla-API-Calls-Monthly-Remaining' field in the response header. For example, if your plan allows 1,000 requests per month and you've used 100, this field in the response header will indicate 900 remaining calls.

You can monitor your API usage through the response headers included with every request:

x-zyla-api-calls-monthly-used: Shows the total number of API requests you have used during the current billing period.
x-zyla-api-calls-monthly-remaining: Shows the number of API requests you have remaining for the current billing period.

The 'X-Zyla-RateLimit-Reset' header shows the number of seconds until your rate limit resets. This tells you when your request count will start fresh. For example, if it displays 3,600, it means 3,600 seconds are left until the limit resets.

Yes, you can cancel your subscription at any time. Simply go to the Pricing section of the API you're subscribed to and click the "Unsubscribe" button.

Please note that upgrades, downgrades, and cancellations take effect immediately. Once your subscription is canceled, access to the service will end immediately, regardless of any remaining API calls in your quota.

After 7 days, you will be charged the full amount for the plan you were subscribed to during the trial. Therefore, it's important to cancel before the trial period ends. Refund requests for forgetting to cancel on time are not accepted.
When you subscribe to an API free trial, you can make up to 50 API calls. If you wish to make additional API calls beyond this limit, the API will prompt you to perform an "Start Your Paid Plan." You can find the "Start Your Paid Plan" button in your profile under Subscription -> Choose the API you are subscribed to -> Pricing tab.
You can contact us through our chat channel to receive immediate assistance. We are always online from 8 am to 5 pm (EST). If you reach us after that time, we will get back to you as soon as possible. Additionally, you can contact us via email at [email protected]

Please have a look at our Refund Policy: https://zylalabs.com/terms#refund


Related APIs