Felo APIs
Web Fetch API
Trích xuất nội dung trang web dưới dạng HTML, văn bản hoặc Markdown với tùy chọn selector và readability.
/v2/web/extractXác thực
Bearer API key
Loại nội dung
application/json
Ghi chú về giới hạn
Có thể áp dụng giới hạn riêng cho endpoint.
Web Fetch API trích xuất nội dung từ một URL đích và trả về kết quả ở định dạng dễ xử lý hơn cho agent, hệ thống RAG và các quy trình nội dung. Nó có thể trả về HTML, văn bản thuần hoặc Markdown, đồng thời hỗ trợ selector, tùy chọn readability, kiểm soát cache, user agent tùy chỉnh và cookie của yêu cầu.
Endpoint
POST https://openapi.felo.ai/v2/web/extractXác thực
Gửi khóa API của bạn trong header Authorization:
Authorization: Bearer YOUR_API_KEYXem Hướng dẫn xác thực để biết chi tiết về cách tạo và quản lý khóa API.
Dùng với AI Agent
Cài gói felo-ai đầy đủ khi bạn muốn một Agent trích xuất trang web cùng với mọi Felo Skill khác hiện có. Trình cài đặt tự động khám phá mọi thư mục gói có chứa SKILL.md, nên nó không bao giờ dựa vào một danh sách cố định. Hãy cài mọi Skill được phát hiện vào Codex ~/.codex/skills, Claude Code ~/.claude/skills, OpenClaw ~/.agents/skills hoặc Hermes Agent ~/.hermes/skills. Dùng hướng dẫn thiết lập AI Agent thủ công để biết các bước cài đặt an toàn và cấu hình khóa API cho từng nền tảng.
Yêu cầu
Header
| Header | Bắt buộc | Mô tả |
|---|---|---|
Authorization | Có | Khóa API của bạn theo định dạng Bearer YOUR_API_KEY |
Content-Type | Có | Phải là application/json |
Tham số nội dung yêu cầu
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|---|---|---|---|---|
url | string | Có | - | URL trang web cần trích xuất. |
crawl_mode | string | Không | fast | Chế độ trích xuất. Dùng fast để tải nhanh hơn hoặc fine để thu thập chính xác hơn, có thể xử lý các trang phức tạp hơn. |
output_format | string | Không | html | Định dạng đầu ra. Giá trị được hỗ trợ: html, text, markdown. |
with_readability | boolean or string | Không | - | Bật xử lý readability để tập trung vào nội dung chính và giảm nhiễu trang. |
with_links_summary | boolean | Không | - | Bao gồm tóm tắt liên kết khi bộ trích xuất hạ nguồn hỗ trợ. |
with_images_summary | boolean | Không | - | Bao gồm tóm tắt hình ảnh khi được hỗ trợ. |
with_images_readability | boolean | Không | - | Áp dụng xử lý readability cho việc trích xuất hình ảnh khi được hỗ trợ. |
with_images | boolean | Không | - | Bao gồm thông tin hình ảnh trong kết quả trích xuất. |
with_links | boolean | Không | - | Bao gồm thông tin liên kết trong kết quả trích xuất. |
ignore_empty_text_image | boolean | Không | - | Bỏ qua các hình ảnh không chứa văn bản hữu ích khi được hỗ trợ. |
target_selector | string | Không | - | CSS selector cho phần tử đích cần trích xuất, chẳng hạn article.main-content. |
wait_for_selector | string | Không | - | Chờ cho đến khi một CSS selector xuất hiện trước khi trích xuất. Hữu ích cho các trang được render động. |
set_cookies | array | Không | - | Cookie gửi kèm yêu cầu trích xuất. |
user_agent | string | Không | - | Chuỗi User-Agent tùy chỉnh cho yêu cầu trích xuất. |
timeout | integer | Không | - | Thời gian chờ của yêu cầu tính bằng mili giây. |
with_cache | boolean | Không | true | Bộ trích xuất hạ nguồn có được dùng cache hay không. |
with_stypes | boolean | Không | false | Bao gồm siêu dữ liệu kiểu style khi được hỗ trợ. |
Phản hồi
Phản hồi thành công
Phản hồi dùng thiết kế chuyển tiếp minh bạch. Các trường chính xác bên trong data có thể thay đổi tùy theo output_format và các tùy chọn trích xuất khác.
{
"status": "ok",
"message": null,
"data": {
"content": "# Example Article\n\nExtracted article content..."
}
}Các trường phản hồi
| Trường | Kiểu | Mô tả |
|---|---|---|
status | string | Trạng thái phản hồi. Thường là ok cho một yêu cầu thành công. |
message | string or null | Thông điệp bổ sung. Thường là null cho các yêu cầu thành công. |
data | object | Nội dung và siêu dữ liệu được trích xuất do dịch vụ trích xuất hạ nguồn trả về. |
data.content | string or object | Nội dung được trích xuất. Hình dạng phụ thuộc vào output_format và các tùy chọn đã chọn. |
Phản hồi lỗi
| Trạng thái HTTP | Mã lỗi | Mô tả | Hành động đề xuất |
|---|---|---|---|
| 400 | WEB_EXTRACT_FAILED | Xác thực yêu cầu thất bại, URL không hợp lệ, hoặc bộ trích xuất hạ nguồn trả về lỗi phía máy khách. | Kiểm tra url, selector và các tham số yêu cầu. |
| 401 | UNAUTHORIZED | Khóa API bị thiếu, không hợp lệ hoặc đã bị thu hồi. | Xác minh khóa API và header xác thực của bạn. |
| 500 | WEB_EXTRACT_FAILED | Lỗi dịch vụ nội bộ. | Thử lại yêu cầu. Liên hệ hỗ trợ nếu sự cố tiếp diễn. |
Ví dụ
Trích xuất cơ bản
curl -X POST https://openapi.felo.ai/v2/web/extract \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com"
}'Trích xuất Markdown với readability
curl -X POST https://openapi.felo.ai/v2/web/extract \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/article",
"output_format": "markdown",
"with_readability": true
}'Trích xuất một CSS selector cụ thể
curl -X POST https://openapi.felo.ai/v2/web/extract \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/article",
"target_selector": "article.main-content",
"output_format": "text"
}'Chờ nội dung động
curl -X POST https://openapi.felo.ai/v2/web/extract \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/app",
"crawl_mode": "fine",
"wait_for_selector": "#loaded-content",
"output_format": "markdown",
"timeout": 30000
}'Trường hợp sử dụng
- Cung cấp ngữ cảnh trang web cho agent trước khi trả lời câu hỏi.
- Trích xuất văn bản bài viết để nạp vào RAG hoặc tạo cơ sở tri thức.
- Chuyển trang web thành Markdown cho quy trình lưu trữ hoặc tài liệu.
- Lấy nội dung trọng tâm từ một trang bằng CSS selector.
- Giảm nhiễu trang bằng xử lý readability trước khi phân tích AI ở hạ nguồn.
Ghi chú
- API xử lý một URL mỗi yêu cầu.
datađược chuyển tiếp từ dịch vụ trích xuất hạ nguồn, nên các trường bổ sung có thể xuất hiện theo thời gian.- Chế độ
finecó thể chậm hơnfast, nhưng hữu ích khi trang cần hành vi render phức tạp hơn. - Một số trang có thể chặn trích xuất, yêu cầu cookie hoặc cần
user_agenttùy chỉnh.