Vietnam notary fee & transfer cost API
Official notary fees (TT 257/2016) by contract type and value, plus the cost of a property transfer: 2% income tax, 0.5% registration fee, local fees.
Computes the official notarisation fee (phí công chứng) of Thông tư 257/2016/TT-BTC as amended by TT 111/2017/TT-BTC: the tiered scale on the contract value for transfers, sales, gifts, mortgages, loans, estate divisions and commercial contracts (capped at 70 million đ), the lease scale on the total rent (capped at 8 million đ), auction sales, and the fixed fees for wills, powers of attorney, amendments and cancellations. When the agreed price is below the state price, the state price is used, as the circular requires. Extra copies, notarised translations, certified copies and signature certifications can be added.
For a transfer, sale or gift of a house or land the response also lists the full transfer cost: personal income tax of 2% of the price (Luật Thuế TNCN 109/2025/QH15), registration fee of 0.5% on the contract price or the provincial land-price table if higher (NĐ 10/2022/NĐ-CP), exemptions between close relatives, the 10% registration-fee reduction for VNeID online declarations until 28/2/2027 (TT 117/2026/TT-BTC) and a slot for the provincial certificate and appraisal fees. Each line shows who pays by default.
Only official fees are computed: notary offices may add a service charge (thù lao) within the provincial ceiling. Every response names the legal basis and the review date.
Parameters
| Name | In | Type | Required | Default | |
|---|---|---|---|---|---|
type | body|query | string | no | transfer | Contract: transfer, sale, gift, mortgage, loan, inheritance, lease, auction_sale, will, authorization_contract, authorization_letter, amendment, cancellation, other… |
value | body|query | number | no | Contract value in VND (total rent for leases). Required for value-based contracts. | |
state_value | body|query | number | no | Value by the state price table, used when higher than the agreed value. | |
relatives | body|query | boolean | no | Transfer between close relatives: income tax and registration fee exempt. | |
sole_home | body|query | boolean | no | Seller’s only house / residential land (income tax exempt). | |
vneid_online | body|query | boolean | no | Registration fee declared online on VNeID (10% off, 15/8/2026–28/2/2027). | |
land_registration_fees | body|query | number | no | Provincial certificate + appraisal fees to include in the total. | |
copies, copy_pages, translation_pages, translation_copies, certify_pages, certify_copies, signatures | body|query | number | no | Extra copies, notarised translations, certified copies and signature certifications. |
Example
curl "https://apibox.io.vn/v1/vn-notary-fee?type=transfer&value=3000000000&state_value=3500000000" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/vn-notary-fee?type=transfer&value=3000000000&state_value=3500000000', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/vn-notary-fee?type=transfer&value=3000000000&state_value=3500000000",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/vn-notary-fee?type=transfer&value=3000000000&state_value=3500000000');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Response
{
"type": "transfer",
"type_vi": "Chuyển nhượng quyền sử dụng đất (kể cả có nhà, tài sản gắn liền)",
"value": 3000000000,
"fee_base": 3500000000,
"fee_base_note": "The agreed value is below the state price, so the state price is used (TT 257/2016/TT-BTC Điều 4 khoản 2 điểm d)",
"notary_fee": 2450000,
"total_notary_fees": 2450000,
"legal": {
"schedule": "Thông tư 257/2016/TT-BTC, sửa đổi bởi Thông tư 111/2017/TT-BTC",
"effective_from": "2017-01-01"
},
"transfer_cost": {
"price": 3000000000,
"items": [
{
"item": "Notary fee",
"item_vi": "Phí công chứng",
"amount": 2450000,
"payer": "agreed (usually the buyer)",
"ref": "TT 257/2016/TT-BTC Điều 4 khoản 2 điểm a1"
},
{
"item": "Personal income tax 2% of the transfer price",
"item_vi": "Thuế TNCN 2% giá chuyển nhượng",
"amount": 60000000,
"payer": "seller (unless agreed otherwise)",
"ref": "Luật Thuế TNCN 109/2025/QH15 Điều 14 (from 1/7/2026; 2% as before)"
},
{
"item": "Registration fee 0.5%",
"item_vi": "Lệ phí trước bạ 0,5%",
"amount": 17500000,
"payer": "buyer / receiver",
"ref": "NĐ 10/2022/NĐ-CP Điều 7, Điều 8 khoản 1"
},
{
"item": "Certificate fee and dossier appraisal fee (provincial)",
"item_vi": "Lệ phí cấp giấy chứng nhận, phí thẩm định hồ sơ (theo tỉnh)",
"amount": null,
"payer": "buyer / receiver",
"ref": "TT 85/2019/TT-BTC (set by each provincial People’s Council)"
}
],
"total": 79950000,
"total_is_complete": false
},
"reviewed": "2026-11-11"
}
Use cases
- Show buyers the total cost of buying a house on a listing page
- Quote notary fees in a law-firm or notary office website
- Estimate closing costs in a mortgage app
- Check a notary invoice against the official scale
FAQ
Is the notary fee the same at every office?
Yes, the official fee is national and includes VAT at private offices. Offices may add a service charge (thù lao công chứng) and travel costs, which are not included.
Which value is used for a land transfer?
The contract value, unless it is lower than the state price (bảng giá đất); then the state price is used. Pass it as state_value.
Who pays the 2% income tax?
The seller by law, unless the contract says otherwise. Transfers between spouses, parents and children, grandparents and grandchildren and siblings are exempt from both the tax and the registration fee.
Related APIs
JSON Validator
Check JSON syntax with exact line and column of errors, and validate data against a JSON Schema (draft 4, 7, 2019-09 or 2020-12).
{ }JSON Formatter
Pretty print JSON with 0-8 spaces or tabs, minify it, or sort object keys recursively. Syntax errors are reported with line and column.
CSVCSV to JSON
Convert CSV into an array of JSON objects using the header row, with delimiter auto-detection, number and boolean typing, and row-level errors.