Weather Forecast (Vietnam) API
Weather forecast for the 34 provinces of Vietnam or any coordinates: current conditions, next 24 hours and up to 9 days, in Vietnamese and English.
The weather API returns the forecast for a province (code or name: province=hcm, Hà Nội, 68) at its administrative centre after the 2025 merger, or for any lat / lon. The response has the current conditions (temperature, humidity, wind in m/s and km/h with direction, cloud cover, pressure, precipitation and a condition such as “Mưa rào” / “Rain showers”), an hourly forecast for the next 24 hours and a daily summary with minimum, maximum, precipitation and the main condition for up to 9 days. Times are in Vietnam time.
Forecasts come from MET Norway (the Norwegian Meteorological Institute, api.met.no), a global model that is free for commercial use under CC BY 4.0: show the attribution returned in attribution. Results are cached per location (coordinates rounded to about 1 km) until the source’s next update.
For typhoon warnings and official forecasts in Vietnam, refer to the National Center for Hydro-Meteorological Forecasting (nchmf.gov.vn).
Parameters
| Name | In | Type | Required | Default | |
|---|---|---|---|---|---|
province | query|path | string | no | Province code or name (79, hcm, Đà Nẵng). | |
lat | query | number | no | Latitude (with lon). | |
lon | query | number | no | Longitude. | |
days | query | number | no | 7 | Days in the daily forecast (1–9). |
Example
curl "https://apibox.io.vn/v1/weather?province=hcm&days=3" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/weather?province=hcm&days=3', {
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/weather?province=hcm&days=3",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/weather?province=hcm&days=3');
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
{
"location": {
"lat": 10.78,
"lon": 106.7,
"province_code": "79",
"province": "Thành phố Hồ Chí Minh",
"location": "TP. Hồ Chí Minh"
},
"timezone": "Asia/Ho_Chi_Minh",
"current": {
"time": "2026-11-10T23:00:00+07:00",
"temperature": 26.4,
"humidity": 90.5,
"wind_speed": 1.8,
"wind_kmh": 6.5,
"wind_direction": "NW",
"cloud_cover": 100,
"pressure": 1012.9,
"precipitation_mm": 0,
"condition": {
"symbol": "cloudy",
"vi": "Nhiều mây",
"en": "Cloudy"
}
},
"hourly": [
"…24 hours…"
],
"daily": [
{
"date": "2026-11-11",
"min": 24.8,
"max": 31.8,
"precipitation_mm": 4.8,
"condition": {
"symbol": "rain",
"vi": "Mưa",
"en": "Rain"
}
},
"…"
],
"attribution": "Weather data: MET Norway (api.met.no), CC BY 4.0"
}
Use cases
- Weather widgets on travel, delivery and event websites
- Plan outdoor work and shipping by province
- Chatbots that answer “thời tiết Hà Nội ngày mai”
- Agriculture and logistics dashboards
FAQ
Can I get the weather of a ward?
Pass its coordinates with lat and lon. Provinces use the coordinates of their administrative centre.
How often is it updated?
MET Norway updates its forecasts several times a day; the API caches each location until the next update (usually under an hour).
Do I need to credit the source?
Yes, the data is CC BY 4.0: display “Weather data: MET Norway” (the attribution field).
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.