House building cost estimator API
Estimate the converted construction area (diện tích xây dựng quy đổi) and the cost of building a house in Vietnam, with every coefficient editable.
Contractors in Vietnam price houses per square metre of converted area: the floors count 100%, and the foundation, basement, roof, yard and voids are weighted by usual coefficients (strip foundation 50% of the ground floor, pile caps 40%, flat concrete roof 50%, tile roof on trusses 70%, basement 150–250% by depth, yard 50%…). The API builds that table from the plot size, floors, foundation, roof and optional areas, and multiplies it by a unit price.
There is no official coefficient table, so each one is a labelled default you can override with coefficients, and the unit prices are editable presets (shell only, basic, standard, premium turnkey) or your own unit_price. The result splits the cost into the shell and the finishing part and lists what is not included (piling, demolition, permits, furniture).
Use it for a first budget; a contractor’s quote depends on the design, the site and the materials chosen.
Parameters
| Name | In | Type | Required | Default | |
|---|---|---|---|---|---|
width, length | query|body | number | no | Plot / ground-floor size in metres (or floor_area). | |
floor_area | query|body | number | no | Ground-floor area in m². | |
floors | query|body | number | no | 1 | Number of floors including the ground floor. |
foundation | query|body | string | no | strip | single, strip, pile, raft. |
roof | query|body | string | no | concrete | metal, concrete, tile_steel, tile_concrete, none. |
basement_depth, mezzanine_area, stair_tower_area, terrace_area, balcony_area, yard_area, void_area, upper_floor_area, roof_area | query|body | number | no | Optional parts (m², basement depth in m). | |
package | query|body | string | no | standard | Price preset: rough, basic, standard, premium. |
unit_price | query|body | number | no | Your price per converted m² (overrides the preset). | |
coefficients | body|query | object | no | Overrides, e.g. {"foundation.pile": 0.5, "roof.metal": 0.25, "yard": 0.7}. |
Example
curl "https://apibox.io.vn/v1/vn-build-cost?width=5&length=20&floors=3&foundation=strip&roof=concrete&package=standard" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/vn-build-cost?width=5&length=20&floors=3&foundation=strip&roof=concrete&package=standard', {
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-build-cost?width=5&length=20&floors=3&foundation=strip&roof=concrete&package=standard",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/vn-build-cost?width=5&length=20&floors=3&foundation=strip&roof=concrete&package=standard');
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
{
"footprint_m2": 100,
"floors": 3,
"rows": [
{
"part": "Foundation",
"part_vi": "Móng",
"area_m2": 100,
"coefficient": 0.5,
"converted_m2": 50,
"basis": "Strip foundation (móng băng) 50%"
},
{
"part": "Ground floor",
"part_vi": "Tầng trệt",
"area_m2": 100,
"coefficient": 1,
"converted_m2": 100,
"basis": "Each floor, mezzanine, stair tower, balcony 100%"
},
{
"part": "Floor 2",
"part_vi": "Tầng 2",
"area_m2": 100,
"coefficient": 1,
"converted_m2": 100,
"basis": "Each floor, mezzanine, stair tower, balcony 100%"
},
{
"part": "Floor 3",
"part_vi": "Tầng 3",
"area_m2": 100,
"coefficient": 1,
"converted_m2": 100,
"basis": "Each floor, mezzanine, stair tower, balcony 100%"
},
{
"part": "Roof (concrete)",
"part_vi": "Mái (concrete)",
"area_m2": 100,
"coefficient": 0.5,
"converted_m2": 50,
"basis": "Flat concrete roof (mái BTCT) 50%"
}
],
"converted_area_m2": 400,
"cost": {
"package": "standard",
"package_vi": "Trọn gói khá",
"unit_price": 6500000,
"unit_price_source": "preset (editable default, not an official price)",
"total": 2600000000,
"rough_part": 1520000000,
"finishing_part": 1080000000
},
"excluded": [
"piling (ép cọc / khoan nhồi), billed per metre",
"demolition and soil disposal",
"permit, design and supervision fees",
"furniture, air conditioners, appliances",
"difficult access or night work surcharges"
],
"reviewed": "2026-11-11"
}
Use cases
- Give visitors a first budget on a contractor website
- Estimate a construction loan in a bank app
- Compare quotes from several contractors on the same basis
- Plan a house project before hiring an architect
FAQ
Are the coefficients official?
No. They follow common contractor practice, which varies; each coefficient is shown and can be overridden.
Are the unit prices current?
They are editable presets based on 2026 big-city price lists; pass unit_price for your contractor’s price.
Is piling included?
No. Piling is billed per metre of pile; only the pile caps are in the foundation coefficient.
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.