API văn bản pháp luật
Phần mềm của bạn cần biết một văn bản còn hiệu lực không, ai ban hành, ban hành ngày nào — hay cần danh sách thông tư mới của một bộ để nhắc người dùng? API văn bản pháp luật trả những thông tin đó dưới dạng JSON, gọi thẳng từ hệ thống của bạn.
Dùng được cho: gắn căn cứ pháp lý vào hợp đồng, quy trình, hồ sơ; kiểm tra tình trạng hiệu lực của các văn bản đang viện dẫn; dựng màn hình tra cứu văn bản trong phần mềm nội bộ; theo dõi văn bản mới theo lĩnh vực.
Hai endpoint chính
| Endpoint | Việc nó làm |
|---|---|
GET /v1/legal-documents | Tìm và lọc văn bản, trả danh sách có phân trang. |
GET /v1/legal-documents/{id} | Lấy chi tiết một văn bản theo id nhận từ danh sách. |
Ví dụ: tìm văn bản có tên "Luật Đất đai"
curl -s "https://api.dulieuphapluat.vn/v1/legal-documents?q=Lu%E1%BA%ADt%20%C4%90%E1%BA%A5t%20%C4%91ai&search_in=name&per_page=2" \
-H "Authorization: Bearer dlpl_live_xxx"
{
"success": true,
"data": [
{
"id": "…",
"code": "…",
"name": "…",
"database": "…",
"type": "…",
"field": "…",
"agency": "…",
"status": "…",
"issued_date": "…",
"effective_date": "…",
"expired_date": "…",
"source_url": "…"
}
],
"meta": {
"page": 1,
"per_page": 2,
"has_more": true
}
}
Lấy chi tiết văn bản đầu tiên
curl -s "https://api.dulieuphapluat.vn/v1/legal-documents/{id}" \
-H "Authorization: Bearer dlpl_live_xxx"
{
"success": true,
"data": [
{
"id": "…",
"code": "…",
"name": "…",
"status": "…",
"issued_date": "…",
"effective_date": "…",
"has_word_file": "…",
"has_pdf_file": "…",
"content_preview": "…"
}
],
"meta": {
"page": 1,
"per_page": 2,
"has_more": true
}
}
Tham số tìm kiếm chính
Phải có ít nhất một trong các tham số q, type_id, field_id, agency_id, status_id, issued_from, issued_to.
| Tham số | Ý nghĩa |
|---|---|
q | Từ khoá tìm kiếm. |
search_in | name (mặc định) tìm trong tên văn bản; code tìm theo số hiệu. |
database | Kho dữ liệu: vbqppl (văn bản quy phạm pháp luật, mặc định), cong-van, dieu-uoc, tieu-chuan, ban-an (từ gói Starter). |
type_id | Loại văn bản (luật, nghị định, thông tư…), lấy mã từ /v1/catalogs/document-types. |
field_id | Lĩnh vực, lấy mã từ /v1/catalogs/law-fields. |
agency_id | Cơ quan ban hành, lấy mã từ /v1/catalogs/agencies?q=…. |
status_id | Tình trạng hiệu lực, lấy mã từ /v1/catalogs/statuses. |
issued_from, issued_to | Khoảng ngày ban hành, dạng YYYY-MM-DD. |
sort | relevance (độ khớp), newest (mới nhất), oldest (cũ nhất). |
page, per_page | Phân trang. per_page mặc định 10, tối đa theo gói. |
Các trường trả về
| Trường | Ý nghĩa |
|---|---|
id | Mã văn bản trong API (dạng vb_…), dùng để gọi chi tiết. |
code | Số hiệu văn bản, ví dụ 31/2024/QH15. |
name | Tên (trích yếu) văn bản. |
database | Kho dữ liệu chứa văn bản. |
type, field, agency | Loại văn bản, lĩnh vực, cơ quan ban hành — mỗi trường gồm id và name. |
status | Tình trạng hiệu lực (id, name), ví dụ "Còn hiệu lực". |
issued_date, effective_date, expired_date | Ngày ban hành, ngày có hiệu lực, ngày hết hiệu lực. |
source_url | Link tới trang văn bản trên dulieuphapluat.vn. |
signer | Người ký (chỉ ở endpoint chi tiết). |
has_word_file, has_pdf_file | Văn bản có file Word / PDF gốc hay không (chi tiết). |
content_preview | 500 ký tự đầu của nội dung (chi tiết, gói Free). |
content_html | Toàn văn dạng HTML (chi tiết, từ gói Starter). |
Dữ liệu lấy từ đâu
Từ cùng kho văn bản đang hiển thị trên dulieuphapluat.vn. Mỗi bản ghi có source_url trỏ về trang văn bản tương ứng, nên bạn đối chiếu được từng kết quả với bản đang đăng trên web.
Gói nào dùng được
| Phần dữ liệu | Gói thấp nhất |
|---|---|
Tìm kiếm, lọc, thuộc tính văn bản, content_preview | Free |
Toàn văn content_html; kho bản án (database=ban-an) | Starter |
Văn bản thay thế / bị thay thế, endpoint /v1/legal-documents/{id}/relations | Pro |
| Gói | Giá / tháng | Lượt gọi / tháng | Lượt gọi / ngày | Bản ghi / trang |
|---|---|---|---|---|
| Free | 0đ | 1.000 | 100 | 10 |
| Starter | 199.000đ | 20.000 | 2.000 | 20 |
| Pro | 699.000đ | 120.000 | 8.000 | 50 |
| Business | 2.490.000đ | 600.000 | 30.000 | 100 |
Giá chưa gồm VAT, theo bảng giá ngày 01/10/2026. Bảng giá đang áp dụng: xem trên trang API.
Câu hỏi thường gặp khi tích hợp
Gói miễn phí có lấy được toàn văn văn bản không?
Không. Gói Free trả đủ thuộc tính văn bản và trường content_preview (500 ký tự đầu). Toàn văn dạng HTML (content_html) mở từ gói Starter, giới hạn 500 văn bản mỗi ngày; gói Pro 2.000 và Business 5.000 văn bản mỗi ngày.
Tìm một văn bản theo số hiệu thế nào?
Truyền số hiệu vào q và đặt search_in=code, ví dụ q=31/2024/QH15&search_in=code. Mặc định q tìm trong tên văn bản.
Lấy mã loại văn bản, lĩnh vực, cơ quan ban hành ở đâu?
Gọi GET /v1/catalogs/document-types, /v1/catalogs/law-fields, /v1/catalogs/statuses hoặc /v1/catalogs/agencies?q=…. Giá trị id trả về dùng cho các tham số type_id, field_id, status_id, agency_id.
Một lần gọi lấy được bao nhiêu văn bản?
Số bản ghi mỗi trang và số trang tối đa tuỳ gói: Free 10 bản ghi × 5 trang, Starter 20 × 20, Pro 50 × 50, Business 100 × 100. Vượt số trang tối đa thì API trả lỗi 422 page_limit; khi cần duyệt nhiều, chia nhỏ theo khoảng ngày ban hành bằng issued_from và issued_to.
Có phải ghi nguồn khi hiển thị dữ liệu không?
Gói Free bắt buộc ghi nguồn dulieuphapluat.vn. Mỗi bản ghi có sẵn source_url trỏ về trang văn bản tương ứng để bạn đặt link.
Bắt đầu với gói miễn phí
Đăng ký bằng email, lấy key và gọi thử ngay — không cần thanh toán.
