HTML sang Markdown API
Chuyển HTML hoặc URL trang web bất kỳ thành Markdown gọn gàng chuẩn GitHub, hỗ trợ bảng, trích xuất bài viết chính và link tuyệt đối.
Gửi chuỗi HTML (trường html trong JSON hoặc form, hoặc body thô text/html) hay một url công khai, API trả về Markdown sạch kèm tiêu đề trang, số từ và số ký tự. Thẻ script, style, iframe, SVG và canvas bị loại bỏ; các phần mở rộng của GitHub Markdown như bảng, gạch ngang và task list đều được chuyển đổi.
Bật readability=true để chỉ giữ lại nội dung bài viết chính (dùng Mozilla Readability, công nghệ của Reader View trên Firefox): menu, footer, sidebar bị lược bỏ và API trả thêm excerpt. Link và ảnh dạng tương đối được chuyển thành đường dẫn tuyệt đối dựa trên URL đã tải hoặc base_url. Có thể tuỳ chỉnh định dạng đầu ra: heading_style (atx hoặc setext), bullet (-, * hoặc +), code_block_style (fenced hoặc indented), link_style (inlined hoặc referenced), cùng keep_links / keep_images để bỏ link hoặc ảnh.
Giới hạn: HTML tối đa 5 MB (body request tối đa 6 MB); trang tải từ URL được đọc tối đa 5 MB, timeout 10 giây, tối đa 8 lần chuyển hướng. Chỉ chấp nhận host http/https công khai.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
html | body|query | string | không | HTML cần chuyển (tối đa 5 MB). Có thể gửi dưới dạng body thô text/html. Bắt buộc nếu không có url. | |
url | body|query | string | không | URL http/https công khai của trang cần tải và chuyển đổi (được ưu tiên hơn html). | |
base_url | body|query | string | không | URL gốc dùng để chuyển link và ảnh tương đối thành tuyệt đối khi gửi html. | |
readability | body|query | boolean | không | false | Chỉ trích xuất bài viết chính (Readability) và trả thêm excerpt. Tên khác: article. |
keep_links | body|query | boolean | không | true | Giữ link; nếu false chỉ giữ lại chữ của link. |
keep_images | body|query | boolean | không | true | Giữ ảnh; nếu false các thẻ img, picture, figure bị loại bỏ. |
heading_style | body|query | string | không | atx | Kiểu tiêu đề: atx (# Tiêu đề) hoặc setext (gạch chân). |
bullet | body|query | string | không | - | Ký hiệu danh sách: -, * hoặc +. |
code_block_style | body|query | string | không | fenced | Khối code: fenced (``) hoặc indented` (thụt lề). |
link_style | body|query | string | không | inlined | Kiểu link: inlined [text](url) hoặc referenced [text][1]. |
Ví dụ
curl -X POST "https://apibox.io.vn/v1/html-to-markdown" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"html":"<h1>Getting started</h1><p>APIBox turns <strong>HTML</strong> into clean <a href=\"/docs\">Markdown</a>.</p><ul><li>Fast</li><li>Simple</li></ul><table><tr><th>Plan</th><th>Requests</th></tr><tr><td>Free</td><td>1,000</td></tr></table>","base_url":"https://example.com"}'const res = await fetch('https://apibox.io.vn/v1/html-to-markdown', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"html": "<h1>Getting started</h1><p>APIBox turns <strong>HTML</strong> into clean <a href=\"/docs\">Markdown</a>.</p><ul><li>Fast</li><li>Simple</li></ul><table><tr><th>Plan</th><th>Requests</th></tr><tr><td>Free</td><td>1,000</td></tr></table>",
"base_url": "https://example.com"
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/html-to-markdown",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"html": "<h1>Getting started</h1><p>APIBox turns <strong>HTML</strong> into clean <a href=\"/docs\">Markdown</a>.</p><ul><li>Fast</li><li>Simple</li></ul><table><tr><th>Plan</th><th>Requests</th></tr><tr><td>Free</td><td>1,000</td></tr></table>", "base_url": "https://example.com"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/html-to-markdown');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"html":"<h1>Getting started</h1><p>APIBox turns <strong>HTML</strong> into clean <a href=\\"/docs\\">Markdown</a>.</p><ul><li>Fast</li><li>Simple</li></ul><table><tr><th>Plan</th><th>Requests</th></tr><tr><td>Free</td><td>1,000</td></tr></table>","base_url":"https://example.com"}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"title": "",
"markdown": "# Getting started\n\nAPIBox turns **HTML** into clean [Markdown](https://example.com/docs).\n\n- Fast\n- Simple\n\n| Plan | Requests |\n| --- | --- |\n| Free | 1,000 |",
"characters": 162,
"words": 28
}
Ứng dụng
- Đưa nội dung trang web vào LLM hoặc hệ thống RAG dưới dạng Markdown gọn nhẹ
- Chuyển nội dung blog, CMS từ HTML sang file Markdown
- Lưu bài viết ở chế độ đọc vào Obsidian hoặc ứng dụng ghi chú
- Chuyển email HTML hoặc nội dung từ trình soạn thảo rich-text sang Markdown
Hỏi đáp
Có thể chuyển trang web bằng URL thay vì dán HTML không?
Có. Gửi url thay cho html, API sẽ tự tải trang (tối đa 5 MB) rồi chuyển đổi. Thêm readability=true để chỉ lấy phần nội dung bài viết chính.
Bảng HTML có được chuyển thành bảng Markdown không?
Có. Bảng, chữ gạch ngang và task list được chuyển theo chuẩn GitHub-flavored Markdown.
Làm sao bỏ link hoặc ảnh khỏi kết quả Markdown?
Đặt keep_links=false để chỉ giữ lại chữ của link, và keep_images=false để bỏ các thẻ img, picture, figure.
API liên quan
Markdown sang HTML
Chuyển Markdown chuẩn GitHub sang HTML, hỗ trợ bảng và gạch ngang. Kết quả được lọc sẵn script và event handler để chống XSS.
<✓>Lọc HTML an toàn
Loại bỏ script, iframe, form, event handler, style inline và link javascript: khỏi HTML không tin cậy trước khi hiển thị.
TtHTML sang văn bản
Bỏ thẻ HTML hoặc lấy nội dung từ URL trang web thành văn bản thuần dễ đọc, giữ xuống dòng, kèm số từ và số ký tự.