{"name":"zaref","description":"South African reference data as clean, cited JSON. Built for agents and applications.","base_url":"https://zaref.dev","pricing":"Paid per call via the x402 protocol, settled in USDC on Base: $0.005 per series request, $0.01 per history or calculator call, $0.025 for /v1/all. /catalog and /v1/public-holidays are free. No accounts or API keys; a 402 response carries the payment requirements.","calculators":[{"name":"income-tax","description":"SA personal income tax for the current tax year: annual and monthly tax, effective rate, age rebates applied.","example":"https://zaref.dev/calc/income-tax?annual=750000&age=40","price":"$0.01"},{"name":"net-salary","description":"Net take-home from a gross monthly salary: PAYE plus employee UIF at the current tables.","example":"https://zaref.dev/calc/net-salary?monthly=50000&age=35","price":"$0.01"},{"name":"transfer-duty","description":"Property transfer duty from the current SARS brackets.","example":"https://zaref.dev/calc/transfer-duty?price=2500000","price":"$0.01"},{"name":"fuel-cost","description":"Fuel cost for a trip at current official SA fuel prices.","example":"https://zaref.dev/calc/fuel-cost?km=568&l_per_100km=7.5&fuel=petrol_95&region=inland","price":"$0.01"},{"name":"toll-route","description":"Total mainline toll cost for a full run of a national route at current gazetted tariffs.","example":"https://zaref.dev/calc/toll-route?route=N3&vehicle_class=1","price":"$0.01"},{"name":"vat","description":"Add or strip VAT at the current SA rate (direction=add | remove | strip; unrecognised values are rejected). Free.","example":"https://zaref.dev/calc/vat?amount=1000&direction=add","price":"free"},{"name":"cgt","description":"Capital gains tax for individuals (marginal method), companies and trusts.","example":"https://zaref.dev/calc/cgt?gain=500000&type=individual&taxable_income=800000","price":"$0.01"},{"name":"estate-duty","description":"Estate duty after the section 4A abatement, tiered at R30m.","example":"https://zaref.dev/calc/estate-duty?estate=10000000","price":"$0.01"},{"name":"learnership","description":"Minimum weekly learnership allowance by NQF level and credits.","example":"https://zaref.dev/calc/learnership?nqf=4&credits=200","price":"$0.01"},{"name":"lump-sum-tax","description":"Tax on a retirement fund lump sum or withdrawal using the cumulative SARS method (prior lump sums aggregate).","example":"https://zaref.dev/calc/lump-sum-tax?amount=1200000&type=retirement","price":"$0.01"},{"name":"nca-max-rate","description":"Maximum lawful interest rate for a credit agreement under NCA Regulation 42 Table A, at the current or a given repo rate.","example":"https://zaref.dev/calc/nca-max-rate?type=unsecured","price":"$0.01"},{"name":"property-costs","description":"Total statutory costs of buying a property: transfer duty plus Deeds Office transfer, bond and lodgement fees.","example":"https://zaref.dev/calc/property-costs?price=2500000&bond=2000000","price":"$0.01"},{"name":"two-pot-withdrawal","description":"Tax on a two-pot retirement savings-component withdrawal at the member's marginal rate.","example":"https://zaref.dev/calc/two-pot-withdrawal?amount=50000&annual_income=600000","price":"$0.01"},{"name":"travel-allowance","description":"PAYE inclusion and monthly tax impact of a fixed travel allowance under the 80/20 rule.","example":"https://zaref.dev/calc/travel-allowance?monthly_allowance=8000&annual_income=720000","price":"$0.01"},{"name":"company-car","description":"Company car fringe benefit: monthly taxable value (3.5%/3.25%) and PAYE impact.","example":"https://zaref.dev/calc/company-car?vehicle_value=450000&maintenance_plan=true&annual_income=720000","price":"$0.01"},{"name":"bond-repayment","description":"Monthly bond repayment and total interest, at the live prime rate by default.","example":"https://zaref.dev/calc/bond-repayment?amount=1500000&years=20","price":"$0.01"},{"name":"zaronia-interest","description":"Compound-in-arrears interest on a principal over a date range, using zaref's accumulating daily ZARONIA history (ACT/365). Coverage limited to dates zaref has tracked.","example":"https://zaref.dev/calc/zaronia-interest?principal=1000000&start=2026-07-10&end=2026-07-14","price":"$0.01"},{"name":"uif","description":"Monthly UIF contribution (employee 1% + employer 1%) at the current earnings ceiling.","example":"https://zaref.dev/calc/uif?monthly_salary=25000","price":"$0.01"},{"name":"donations-tax","description":"Donations tax owed on a donation, after the annual natural-person exemption.","example":"https://zaref.dev/calc/donations-tax?amount=500000","price":"$0.01"},{"name":"local-interest","description":"Taxable local interest after the age-based annual exemption.","example":"https://zaref.dev/calc/local-interest?amount=40000&age=40","price":"$0.01"},{"name":"medical-tax-credit","description":"Medical scheme fees tax credit plus the additional medical expenses tax credit from qualifying out-of-pocket costs.","example":"https://zaref.dev/calc/medical-tax-credit?members=1&dependants=2&out_of_pocket_annual=15000&taxable_income=500000","price":"$0.01"},{"name":"provisional-tax","description":"Estimated first and second provisional tax payments (50/50 split) net of employees' tax already withheld, with the current filing deadlines.","example":"https://zaref.dev/calc/provisional-tax?annual_taxable_income=900000&employees_tax_paid=180000","price":"$0.01"},{"name":"net-to-gross","description":"Gross monthly salary required to net a target take-home amount, at the current tax tables.","example":"https://zaref.dev/calc/net-to-gross?net_monthly=40000&age=35","price":"$0.01"},{"name":"home-office-expense","description":"Deductible home office expense by area apportionment (s23(b)/(m)).","example":"https://zaref.dev/calc/home-office-expense?office_area_m2=12&home_area_m2=180&annual_home_costs=240000","price":"$0.01"},{"name":"sbc-tax","description":"Small Business Corporation income tax at the progressive SBC rates (eligibility conditions apply).","example":"https://zaref.dev/calc/sbc-tax?annual_taxable_income=600000","price":"$0.01"},{"name":"wear-and-tear","description":"Annual and monthly straight-line wear-and-tear allowance for an asset, using the SARS BGR7 write-off period schedule.","example":"https://zaref.dev/calc/wear-and-tear?asset=Passenger%20cars&cost=350000","price":"$0.01"},{"name":"crypto-tax","description":"Estimated SA tax on crypto asset gains: revenue-nature profits taxed at the marginal rate, capital-nature gains via CGT with the annual exclusion and 40% inclusion. Handles staking/mining/airdrop receipts and FIFO batch matching of a raw buy/sell transaction list.","example":"https://zaref.dev/calc/crypto-tax?capital_gain=150000&revenue_gain=50000&other_taxable_income=600000&age=35","price":"$0.01"},{"name":"crypto-classify","description":"Indicative capital-vs-revenue classification of crypto gains by weighing the classic SA case-law factors: intention, holding period and trading frequency.","example":"https://zaref.dev/calc/crypto-classify?holding_period_months=30&trades_per_month=1&intention=hold_long_term","price":"$0.01"},{"name":"bond-price","description":"Clean price of a fixed-rate bond from face value, coupon and years to maturity, at a given yield (defaults to the live R2030 benchmark yield).","example":"https://zaref.dev/calc/bond-price?face_value=1000000&coupon_percent=8&years_to_maturity=4","price":"$0.01"}],"live":[{"slug":"tenders","title":"Government tenders (live)","description":"Live South African government tender feed from National Treasury's eTenders OCDS API: filter by province, procurement category, buyer, keyword and closing window. Returns compact tender records with closing dates, briefing sessions, documents and contacts.","update_cadence":"live (fetched on request, 10-minute cache)","url":"https://zaref.dev/v1/tenders","example":"https://zaref.dev/v1/tenders?province=Gauteng&closing_within_days=14","params":{"province":"string, optional: filter by province name (substring match)","category":"string, optional: goods | services | works, or category text","buyer":"string, optional: procuring entity name (substring match)","q":"string, optional: keyword over title, description and buyer","closing_within_days":"number, optional: only tenders still open and closing within N days","days":"number, default 7, max 31: published-date window to search","limit":"number, default 25, max 100"},"price":"$0.005"},{"slug":"crypto-prices","title":"Crypto ZAR prices (live)","description":"Live ZAR crypto prices from VALR's public market data: last traded, bid/ask, 24-hour high/low/volume and daily change for BTC, ETH and every other ZAR pair on the exchange.","update_cadence":"live (fetched on request, 60-second cache)","url":"https://zaref.dev/v1/crypto-prices","example":"https://zaref.dev/v1/crypto-prices?pairs=BTCZAR,ETHZAR","params":{"pairs":"string, default BTCZAR,ETHZAR,SOLZAR,XRPZAR: comma-separated ZAR pairs, or 'all' for every listed ZAR pair"},"price":"$0.005"}],"changes":{"endpoint":"/v1/changes?since=YYYY-MM-DD","price":"$0.005","description":"Which series changed or were reconfirmed since a date. The cheap way for agents to check cache freshness."},"disclaimer":"Independent data service. Not affiliated with, or endorsed by, any South African government entity. Every value carries the official source URL and its effective date; verify against the source for legal or financial use.","endpoints":{"catalog":"/catalog","series":"/v1/{series}","history":"/v1/{series}/history","calculators":"/calc/{name}","all":"/v1/all","openapi":"/openapi.json","llms":"/llms.txt","mcp":"/mcp"},"series":[{"slug":"fuel-prices","title":"Fuel prices","description":"Current SA retail/wholesale fuel prices: petrol 93/95 (inland & coastal), diesel 50ppm, illuminating paraffin. Rand per litre.","update_cadence":"monthly (first Wednesday)","free":false,"url":"https://zaref.dev/v1/fuel-prices","effective_date":"2026-07-01","last_confirmed":"2026-07-07","next_expected_update":"2026-08-05","stale":false},{"slug":"repo-prime","title":"Repo & prime rate","description":"SARB repo rate and prime lending rate, with last MPC change date.","update_cadence":"per SARB MPC meeting (~every 2 months)","free":false,"url":"https://zaref.dev/v1/repo-prime","effective_date":"2026-05-29","last_confirmed":"2026-07-07","next_expected_update":"2026-07-23","stale":false},{"slug":"cpi","title":"CPI (headline, YoY)","description":"Latest Stats SA headline consumer inflation, year-on-year %, with reference month.","update_cadence":"monthly","free":false,"url":"https://zaref.dev/v1/cpi","effective_date":"2026-05-31","last_confirmed":"2026-07-07","next_expected_update":"2026-07-22","stale":false},{"slug":"income-tax","title":"Income tax tables","description":"Personal income tax brackets, rebates and thresholds for the current SA tax year.","update_cadence":"annual (National Budget)","free":false,"url":"https://zaref.dev/v1/income-tax","effective_date":"2026-03-01","last_confirmed":"2026-07-07","next_expected_update":"2027-03-01","stale":false},{"slug":"vat","title":"VAT rate","description":"VAT rate currently in force in South Africa.","update_cadence":"rare (Budget announcements)","free":false,"url":"https://zaref.dev/v1/vat","effective_date":"2018-04-01","last_confirmed":"2026-07-07","next_expected_update":"2027-02-24","stale":false},{"slug":"uif-oid","title":"UIF & OID limits","description":"UIF contribution remuneration ceiling and OID (COIDA) earnings threshold.","update_cadence":"annual","free":false,"url":"https://zaref.dev/v1/uif-oid","effective_date":"2026-03-01","last_confirmed":"2026-07-07","next_expected_update":"2027-04-30","stale":false},{"slug":"minimum-wage","title":"National minimum wage","description":"National minimum wage per hour, incl. special categories, with effective date.","update_cadence":"annual (March)","free":false,"url":"https://zaref.dev/v1/minimum-wage","effective_date":"2026-03-01","last_confirmed":"2026-07-07","next_expected_update":"2027-03-01","stale":false},{"slug":"public-holidays","title":"Public holidays","description":"Official SA public holidays for the current calendar year, incl. proclaimed one-offs and Sunday observances.","update_cadence":"annual + ad hoc proclamations","free":true,"url":"https://zaref.dev/v1/public-holidays","effective_date":"2026-01-01","last_confirmed":"2026-07-07","next_expected_update":"2026-09-30","stale":false},{"slug":"school-terms","title":"School terms","description":"DBE public school term dates.","update_cadence":"annual","free":false,"url":"https://zaref.dev/v1/school-terms","effective_date":"2026-01-14","last_confirmed":"2026-07-07","next_expected_update":"2027-03-31","stale":false},{"slug":"sassa-grants","title":"SASSA grant amounts","description":"All SASSA social grant amounts incl. SRD, with effective date.","update_cadence":"annual (April) + October adjustments","free":false,"url":"https://zaref.dev/v1/sassa-grants","effective_date":"2026-04-01","last_confirmed":"2026-07-07","next_expected_update":"2027-04-01","stale":false},{"slug":"travel-rates","title":"SARS travel rates","description":"SARS prescribed per-km reimbursement rate and subsistence allowances for the current tax year.","update_cadence":"annual (Budget)","free":false,"url":"https://zaref.dev/v1/travel-rates","effective_date":"2026-03-01","last_confirmed":"2026-07-13","next_expected_update":"2027-02-24","stale":false},{"slug":"tax-rates-other","title":"Other national tax rates","description":"Corporate tax, dividends WHT, CGT inclusion, transfer duty brackets, retirement caps, medical tax credits, interest exemptions, estate/donations tax.","update_cadence":"annual (Budget)","free":false,"url":"https://zaref.dev/v1/tax-rates-other","effective_date":"2026-03-01","last_confirmed":"2026-07-14","next_expected_update":"2027-02-24","stale":false},{"slug":"unemployment","title":"Unemployment rate","description":"Latest Stats SA QLFS official and expanded unemployment rates, with reference quarter.","update_cadence":"quarterly","free":false,"url":"https://zaref.dev/v1/unemployment","effective_date":"2026-05-12","last_confirmed":"2026-07-07","next_expected_update":"2026-08-11","stale":false},{"slug":"gdp","title":"GDP growth","description":"Latest Stats SA GDP growth (QoQ and YoY), with reference quarter.","update_cadence":"quarterly","free":false,"url":"https://zaref.dev/v1/gdp","effective_date":"2026-06-09","last_confirmed":"2026-07-07","next_expected_update":"2026-09-08","stale":false},{"slug":"ppi","title":"PPI (final manufactured goods)","description":"Latest Stats SA producer inflation YoY, with reference month.","update_cadence":"monthly","free":false,"url":"https://zaref.dev/v1/ppi","effective_date":"2026-06-25","last_confirmed":"2026-07-07","next_expected_update":"2026-07-30","stale":false},{"slug":"toll-fees","title":"Toll fees","description":"Mainline toll plaza tariffs (vehicle classes 1-4) for the major national routes, current adjustment.","update_cadence":"annual (March)","free":false,"url":"https://zaref.dev/v1/toll-fees","effective_date":"2026-03-01","last_confirmed":"2026-07-07","next_expected_update":"2027-03-01","stale":false},{"slug":"electricity-tariffs","title":"Electricity tariffs","description":"NERSA-approved Eskom tariff increases and key residential rates for the current year.","update_cadence":"annual (April/July)","free":false,"url":"https://zaref.dev/v1/electricity-tariffs","effective_date":"2026-04-01","last_confirmed":"2026-07-07","next_expected_update":"2027-04-01","stale":false},{"slug":"municipal-tariffs","title":"Metro municipal tariffs","description":"Residential electricity/water/refuse/rates headline tariffs for the 5 big metros, current municipal year.","update_cadence":"annual (1 July)","free":false,"url":"https://zaref.dev/v1/municipal-tariffs","effective_date":"2026-07-01","last_confirmed":"2026-07-07","next_expected_update":"2027-07-01","stale":false},{"slug":"learnership-allowances","title":"Learnership allowances","description":"Minimum weekly learnership allowances per NQF level, per the current NMW gazette.","update_cadence":"annual (March)","free":false,"url":"https://zaref.dev/v1/learnership-allowances","effective_date":"2026-03-01","last_confirmed":"2026-07-07","next_expected_update":"2027-03-01","stale":false},{"slug":"sectoral-wages","title":"Sectoral minimum wages","description":"Minimum wages for sectors with their own determinations (contract cleaning, private security, etc.) beside the NMW.","update_cadence":"annual (March)","free":false,"url":"https://zaref.dev/v1/sectoral-wages","effective_date":"2026-03-01","last_confirmed":"2026-07-07","next_expected_update":"2027-03-01","stale":false},{"slug":"sars-interest-rates","title":"SARS & prescribed interest rates","description":"Official rate of interest (fringe benefits, s7C loans), SARS interest on outstanding taxes and refunds, and the prescribed rate of interest for legal and judgment debts.","update_cadence":"per SARB repo change (formula-linked) + SARS/gazette publications","free":false,"url":"https://zaref.dev/v1/sars-interest-rates","effective_date":"2026-07-01","last_confirmed":"2026-07-09","next_expected_update":"2026-09-01","stale":false},{"slug":"retirement-limits","title":"Retirement & TFSA limits","description":"Retirement contribution deduction cap, tax-free savings limits, retirement and withdrawal lump-sum tax tables, living-annuity thresholds.","update_cadence":"annual (Budget)","free":false,"url":"https://zaref.dev/v1/retirement-limits","effective_date":"2026-03-01","last_confirmed":"2026-07-09","next_expected_update":"2027-02-24","stale":false},{"slug":"nca-max-rates","title":"NCA maximum interest rates","description":"Maximum lawful interest rates per credit type under NCA Regulation 42 Table A, computed at the current repo rate, plus the in duplum rule and service fee cap.","update_cadence":"per SARB repo change (margins fixed since 2016)","free":false,"url":"https://zaref.dev/v1/nca-max-rates","effective_date":"2026-05-29","last_confirmed":"2026-07-09","next_expected_update":"2026-07-23","stale":false},{"slug":"bcea-thresholds","title":"BCEA earnings threshold","description":"The BCEA earnings threshold, which working-time protections fall away above it, the earnings definition and related LRA/EEA effects.","update_cadence":"annual (March/April gazette)","free":false,"url":"https://zaref.dev/v1/bcea-thresholds","effective_date":"2026-05-01","last_confirmed":"2026-07-09","next_expected_update":"2027-05-01","stale":false},{"slug":"tax-calendar","title":"Tax calendar","description":"SARS filing-season windows, provisional tax deadlines, employer reconciliation windows and recurring monthly deadlines.","update_cadence":"annual (Commissioner's notice ~June) + statutory recurrences","free":false,"url":"https://zaref.dev/v1/tax-calendar","effective_date":"2026-06-18","last_confirmed":"2026-07-09","next_expected_update":"2027-06-15","stale":false},{"slug":"exchange-control","title":"Exchange control allowances","description":"Single discretionary allowance (R2m from April 2026), foreign investment allowance, minors' travel and cash export limits, with the TCS PIN rules.","update_cadence":"per SARB FinSurv circular (Budget-driven)","free":false,"url":"https://zaref.dev/v1/exchange-control","effective_date":"2026-04-08","last_confirmed":"2026-07-13","next_expected_update":"2027-02-24","stale":false},{"slug":"deeds-fees","title":"Deeds Office fees","description":"Deeds Office transfer and bond registration fee tiers, lodgement and ancillary fees, per the current gazetted schedule.","update_cadence":"annual (April gazette)","free":false,"url":"https://zaref.dev/v1/deeds-fees","effective_date":"2026-04-01","last_confirmed":"2026-07-13","next_expected_update":"2027-04-01","stale":false},{"slug":"fuel-levies","title":"Fuel levies","description":"General fuel levy, RAF levy and carbon fuel levy per litre for petrol and diesel, plus the carbon tax rate, including temporary relief episodes.","update_cadence":"annual (Budget/April) + ad hoc relief announcements","free":false,"url":"https://zaref.dev/v1/fuel-levies","effective_date":"2026-07-01","last_confirmed":"2026-07-13","next_expected_update":"2027-02-24","stale":false},{"slug":"zaronia","title":"ZARONIA benchmark rate","description":"SARB's ZARONIA risk-free overnight benchmark, the designated JIBAR successor (JIBAR ceases 2026-12-31), with the transition timeline and daily-rate history for compounded interest calculations.","update_cadence":"daily (SA business days, ~10:00 SAST)","free":false,"url":"https://zaref.dev/v1/zaronia","effective_date":"2026-07-14","last_confirmed":"2026-07-15","next_expected_update":"2026-07-16","stale":false},{"slug":"wear-and-tear-periods","title":"SARS wear-and-tear write-off periods","description":"SARS BGR7 schedule of straight-line depreciation write-off periods (in years) for over 140 asset classes, plus the R7,000 small-item write-off threshold.","update_cadence":"rare (SARS binding general ruling revision)","free":false,"url":"https://zaref.dev/v1/wear-and-tear-periods","effective_date":"2021-02-09","last_confirmed":"2026-07-14","next_expected_update":"2027-07-14","stale":false},{"slug":"fx-rates","title":"ZAR exchange rates","description":"SARB indicative daily ZAR exchange rates against USD, GBP, EUR and JPY, plus the nominal effective exchange rate (trade-weighted) index.","update_cadence":"daily (SA business days)","free":false,"url":"https://zaref.dev/v1/fx-rates","effective_date":"2026-07-15","last_confirmed":"2026-07-15","next_expected_update":"2026-07-16","stale":false},{"slug":"bond-yields","title":"SA benchmark bond yields","description":"SARB closing yields on the R2030 and R209 South African government benchmark bonds, key reference points for the domestic yield curve.","update_cadence":"daily (SA business days)","free":false,"url":"https://zaref.dev/v1/bond-yields","effective_date":"2026-07-14","last_confirmed":"2026-07-15","next_expected_update":"2026-07-16","stale":false},{"slug":"sovereign-credit-rating","title":"SA sovereign credit rating","description":"South Africa's current credit rating and outlook from Moody's, S&P Global and Fitch, with each agency's most recent rating action date.","update_cadence":"irregular (agency review cycles)","free":false,"url":"https://zaref.dev/v1/sovereign-credit-rating","effective_date":"2026-06-08","last_confirmed":"2026-07-14","next_expected_update":"2026-11-01","stale":false}]}