Tra biển số xe API
Đọc biển số xe Việt Nam: tỉnh cấp trước và sau sáp nhập 2025, ô tô hay xe máy, các sê-ri đặc biệt (LD, KT, NG…) và màu biển.
API biển số xe đọc các biển như 30A-123.45, 29-B1 123.45, 51LD-12345 hay 80-011-NG-01. Kết quả gồm biển số đã chuẩn hoá, mã địa phương kèm tỉnh nơi cấp (một trong 63 tỉnh trước tháng 7/2025) và tỉnh hiện nay (một trong 34 tỉnh), loại xe (ô tô hay xe máy, dưới 50cc với sê-ri hai chữ cái), định dạng 4 hay 5 số và ý nghĩa các sê-ri đặc biệt: LD, DA, KT, CD, RM, HC, MĐ, T và các sê-ri nước ngoài NG, QT, CV, NN.
Sau sáp nhập, mọi mã cũ đều được giữ (Thông tư 51/2025/TT-BCA): biển 34 (Hải Dương) nay thuộc Hải Phòng, 61 (Bình Dương) và 72 (Bà Rịa – Vũng Tàu) thuộc TP. Hồ Chí Minh; không ai phải đổi biển. province= tra ngược danh sách mã của một tỉnh (tên cũ hoặc mới), list=true trả về cả bảng.
Riêng số biển không cho biết biển nền trắng, vàng hay xanh, nên API liệt kê các màu có thể có với sê-ri đó. Biển quân sự (hai chữ cái đứng đầu, nền đỏ) được nhận diện nhưng không giải mã đơn vị. API chỉ đọc định dạng, không tra cứu chủ xe hay đăng ký xe.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
plate | query|path | string | có | Biển số, ví dụ 30A-123.45; hoặc /v1/vn-plate/{biển số}. | |
province | query | string | không | Tra ngược: các mã của một tỉnh (tên cũ hoặc mới). | |
list | query | boolean | không | true: toàn bộ bảng mã. |
Ví dụ
curl "https://apibox.io.vn/v1/vn-plate?plate=61A-555.55" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/vn-plate?plate=61A-555.55', {
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-plate?plate=61A-555.55",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/vn-plate?plate=61A-555.55');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"input": "61A-555.55",
"valid": true,
"kind": "civil",
"formatted": "61A-555.55",
"local_code": "61",
"series": "A",
"number": "55555",
"vehicle": "car",
"format": "5-digit (since 2010)",
"series_meaning": null,
"possible_colors": [
"nền trắng, chữ đen: cá nhân, doanh nghiệp, tổ chức trong nước",
"nền xanh, chữ trắng: cơ quan Đảng, Nhà nước, đơn vị sự nghiệp công lập, lực lượng công an",
"nền vàng, chữ đen: xe kinh doanh vận tải"
],
"region": {
"code": "61",
"old_province": "Bình Dương",
"new_province": "Hồ Chí Minh",
"new_province_code": "79",
"merged": true
}
}
Ứng dụng
- Ứng dụng gửi xe, thu phí, quản lý đội xe: kiểm tra và chuẩn hoá biển số
- Hiển thị tỉnh của biển số trên sàn mua bán ô tô
- Thống kê phương tiện theo tỉnh mới
- Kiểm tra biển số nhập trong form
Hỏi đáp
Sau sáp nhập tỉnh 2025, mã biển số có đổi không?
Không. Mọi mã cũ được giữ và giao cho tỉnh mới sau hợp nhất (Thông tư 51/2025/TT-BCA, từ 1/7/2025). Biển số đang dùng vẫn có giá trị.
Có tra được chủ xe không?
Không. API chỉ đọc định dạng biển số; thông tin chủ xe không công khai.
Vì sao biển số bị “ambiguous”?
Khi viết liền, 29B11234 có thể là xe máy (B1 + 1234) hoặc ô tô (B + 11234). Hãy viết 29-B1 1234 hoặc 29B-112.34 cho rõ.
API liên quan
Kiểm tra JSON
Kiểm tra cú pháp JSON, báo đúng dòng và cột bị lỗi, và validate dữ liệu theo JSON Schema (draft 4, 7, 2019-09 hoặc 2020-12).
{ }Định dạng JSON
Làm đẹp JSON với thụt lề 0-8 dấu cách hoặc tab, rút gọn (minify) hoặc sắp xếp key theo bảng chữ cái. Báo lỗi cú pháp kèm dòng và cột.
CSVCSV sang JSON
Chuyển CSV thành mảng object JSON theo dòng tiêu đề, tự nhận dấu phân cách, tự chuyển số và boolean, báo lỗi từng dòng.