Vietnam Traffic Fines API
Search Vietnamese road traffic violations under Decree 168/2024 (as amended in 2026): fine range, licence points, extra penalties and exact article.
The traffic fines API searches the violations of Nghị định 168/2024/NĐ-CP (in force since 1 January 2025), as amended by Nghị định 238/2026/NĐ-CP (from 15 August 2026). Type the violation the way people say it, with or without accents (vuot den do, nồng độ cồn, khong doi mu bao hiem, điện thoại) and filter by vehicle with vehicle=car, motorbike, bicycle (bicycles, e-bikes, rudimentary vehicles), pedestrian, special (special-use machines) or general; a vehicle named in the query (nong do con xe may) is used as the filter. Each result gives the fine range in VND, the driving-licence points deducted (trừ điểm GPLX) and where that deduction is written, the additional penalties and remedial measures, and the exact reference (điểm, khoản, Điều).
Get one entry with id or in the path (/v1/vn-traffic-fines/6.9.b, or 6.9 for a whole clause), list a vehicle's violations with vehicle alone, only the ones with licence points with points=true, or sort by the highest fine with sort=fine.
Coverage: about 350 common violations from Articles 6–10, 12–21 and 34–36, hand-transcribed from the decree text; specialised transport-business rules and the sanctioning-authority articles are not included (the call without parameters returns the coverage). Amounts are for individuals; it is a reference, not legal advice, and late fines by plate (phạt nguội) are not looked up.
Parameters
| Name | In | Type | Required | Default | |
|---|---|---|---|---|---|
q | query | string | no | Violation in words, accents optional (vuot den do). | |
vehicle | query | string | no | car, motorbike, bicycle, pedestrian, special or general (Vietnamese names like xe may work). | |
id | path|query | string | no | Entry id article.clause.point (6.9.b) or a clause (6.9). | |
article | query | number | no | Only this article of the decree. | |
points | query | boolean | no | Only violations with licence points deducted. | |
sort | query | string | no | fine to sort by the highest fine. | |
limit | query | number | no | 20 | Maximum results (1–400). |
Example
curl "https://apibox.io.vn/v1/vn-traffic-fines?q=vuot%20den%20do&vehicle=car&limit=1" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/vn-traffic-fines?q=vuot%20den%20do&vehicle=car&limit=1', {
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-traffic-fines?q=vuot%20den%20do&vehicle=car&limit=1",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/vn-traffic-fines?q=vuot%20den%20do&vehicle=car&limit=1');
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
{
"decree": "168/2024/NĐ-CP",
"effective_from": "2025-01-01",
"amended_by": [
{
"decree": "238/2026/NĐ-CP",
"issued": "2026-06-26",
"effective_from": "2026-08-15"
}
],
"reviewed": "2026-11-11",
"disclaimer": "Reference only, transcribed by hand from the decree; check the official text (vbpl.vn) before relying on an amount. Fines are for individuals; organisations pay double unless fine_org_* says otherwise.",
"query": "vuot den do",
"vehicle": "car",
"count": 6,
"results": [
{
"id": "6.9.b",
"vehicle": "car",
"article": 6,
"clause": 9,
"point": "b",
"reference_vi": "Điểm b khoản 9 Điều 6 Nghị định 168/2024/NĐ-CP",
"reference_en": "Decree 168/2024/ND-CP, Article 6(9)(b)",
"behavior_vi": "Không chấp hành hiệu lệnh của đèn tín hiệu giao thông",
"behavior_en": "Running a red light / disobeying traffic signals",
"fine_min": 18000000,
"fine_max": 20000000,
"fine_text": "18.000.000 đ – 20.000.000 đ",
"licence_points": 4,
"licence_points_ref": "6.16.b",
"additional_vi": [],
"additional_ref": null,
"note": "Trường hợp gây tai nạn giao thông xử phạt theo khoản 10 Điều này."
}
],
"coverage": {
"entries": 351,
"by_vehicle": {
"car": 130,
"motorbike": 98,
"special": 60,
"bicycle": 33,
"pedestrian": 6,
"general": 24
},
"articles": [
6,
7,
8,
9,
10,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
34,
35,
36
]
}
}
Use cases
- Explain fines in a driver, ride-hailing or fleet app
- Answer traffic-law questions in a chatbot
- Show licence-point deductions in a driving-school app
- Price risk in vehicle insurance products
FAQ
Is the 2026 amendment included?
Yes. Decree 238/2026/ND-CP (in force 15/08/2026) added a warning for missing child seats, rewrote the plate-recognition and 16–18-year-old rider rules and added a few transport fines.
Does it check fines by licence plate?
No. Late fines (phạt nguội) are published by the traffic police behind a captcha; this API only describes the rules.
Are the fines for companies the same?
No: the amounts are for individuals; organisations pay twice as much unless the decree sets a separate amount (fine_org_min / fine_org_max).
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.