Felo APIs
Web Fetch API
محتوای صفحه وب را بهصورت HTML، متن یا Markdown با گزینههای انتخابگر و خوانایی استخراج کنید.
/v2/web/extractاحراز هویت
Bearer API key
نوع محتوا
application/json
یادداشت نرخ
ممکن است محدودیتهای مخصوص endpoint اعمال شود.
Web Fetch API محتوا را از URL هدف استخراج میکند و نتیجه را در قالبی برمیگرداند که پردازش آن برای عاملها، سامانههای RAG و گردشکارهای محتوا آسانتر است. میتواند HTML، متن ساده یا Markdown برگرداند و از انتخابگرها، گزینههای خوانایی، کنترل کش، user agent سفارشی و کوکیهای درخواست پشتیبانی میکند.
Endpoint
POST https://openapi.felo.ai/v2/web/extractاحراز هویت
کلید API خود را در سرآیند Authorization بفرستید:
Authorization: Bearer YOUR_API_KEYبرای جزئیات ساخت و مدیریت کلیدهای API راهنمای احراز هویت را ببینید.
استفاده با عاملهای هوش مصنوعی
وقتی میخواهید یک عامل صفحههای وب را در کنار هر Felo Skill در دسترس دیگر استخراج کند، بسته کامل felo-ai را نصب کنید. نصبکننده بهصورت پویا هر پوشه بسته شامل SKILL.md را کشف میکند، پس هرگز به فهرست ثابتی تکیه نمیکند. همه Skillهای کشفشده را در ~/.codex/skills مربوط به Codex، ~/.claude/skills مربوط به Claude Code، ~/.agents/skills مربوط به OpenClaw یا ~/.hermes/skills مربوط به Hermes Agent نصب کنید. برای نصب ایمن و گامهای کلید API هر پلتفرم راهنمای راهاندازی دستی عامل هوش مصنوعی را به کار ببرید.
درخواست
سرآیندها
| سرآیند | الزامی | توضیح |
|---|---|---|
Authorization | بله | کلید API شما در قالب Bearer YOUR_API_KEY |
Content-Type | بله | باید application/json باشد |
پارامترهای بدنه
| پارامتر | نوع | الزامی | پیشفرض | توضیح |
|---|---|---|---|---|
url | string | بله | - | URL صفحه وب برای استخراج. |
crawl_mode | string | خیر | fast | حالت استخراج. fast برای واکشی سریعتر یا fine برای خزش دقیقتر که ممکن است صفحههای غنیتر را مدیریت کند. |
output_format | string | خیر | html | قالب خروجی. مقدارهای پشتیبانیشده: html، text، markdown. |
with_readability | boolean یا string | خیر | - | فعالسازی پردازش خوانایی برای تمرکز بر محتوای اصلی و کاهش شلوغی صفحه. |
with_links_summary | boolean | خیر | - | گنجاندن خلاصه پیوندها وقتی استخراجگر پاییندست پشتیبانی میکند. |
with_images_summary | boolean | خیر | - | گنجاندن خلاصه تصاویر در صورت پشتیبانی. |
with_images_readability | boolean | خیر | - | اعمال پردازش خوانایی روی استخراج تصویر در صورت پشتیبانی. |
with_images | boolean | خیر | - | گنجاندن اطلاعات تصویر در نتیجه استخراجشده. |
with_links | boolean | خیر | - | گنجاندن اطلاعات پیوند در نتیجه استخراجشده. |
ignore_empty_text_image | boolean | خیر | - | نادیدهگرفتن تصاویر بدون متن مفید در صورت پشتیبانی. |
target_selector | string | خیر | - | انتخابگر CSS برای عنصر هدف استخراج، مانند article.main-content. |
wait_for_selector | string | خیر | - | صبر تا ظاهر شدن یک انتخابگر CSS پیش از استخراج. برای صفحههای رندرشده پویا مفید است. |
set_cookies | array | خیر | - | کوکیهایی که همراه درخواست استخراج فرستاده میشوند. |
user_agent | string | خیر | - | رشته User-Agent سفارشی برای درخواست استخراج. |
timeout | integer | خیر | - | مهلت درخواست به میلیثانیه. |
with_cache | boolean | خیر | true | امکان استفاده استخراجگر پاییندست از کش. |
with_stypes | boolean | خیر | false | گنجاندن فراداده نوع سبک در صورت پشتیبانی. |
پاسخ
پاسخ موفق
پاسخ از طراحی عبور شفاف استفاده میکند. فیلدهای دقیق داخل data بسته به output_format و دیگر گزینههای استخراج میتوانند متفاوت باشند.
{
"status": "ok",
"message": null,
"data": {
"content": "# Example Article\n\nExtracted article content..."
}
}فیلدهای پاسخ
| فیلد | نوع | توضیح |
|---|---|---|
status | string | وضعیت پاسخ. معمولاً ok برای درخواست موفق. |
message | string یا null | پیام اضافی. معمولاً null برای درخواستهای موفق. |
data | object | محتوای استخراجشده و فراداده برگشتی از سرویس استخراج پاییندست. |
data.content | string یا object | محتوای استخراجشده. شکل آن به output_format و گزینههای انتخابشده بستگی دارد. |
پاسخهای خطا
| وضعیت HTTP | کد خطا | توضیح | اقدام پیشنهادی |
|---|---|---|---|
| 400 | WEB_EXTRACT_FAILED | اعتبارسنجی درخواست شکست خورد، URL نامعتبر است، یا استخراجگر پاییندست خطای سمت کلاینت برگرداند. | url، انتخابگرها و پارامترهای درخواست را بررسی کنید. |
| 401 | UNAUTHORIZED | کلید API گمشده، نامعتبر یا لغوشده است. | کلید API و سرآیند احراز هویت خود را بررسی کنید. |
| 500 | WEB_EXTRACT_FAILED | خطای داخلی سرویس. | درخواست را دوباره تلاش کنید. اگر مشکل ادامه یافت با پشتیبانی تماس بگیرید. |
نمونهها
استخراج پایه
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"
}'استخراج Markdown با خوانایی
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
}'استخراج یک انتخابگر CSS مشخص
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"
}'انتظار برای محتوای پویا
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
}'کاربردها
- دادن زمینه صفحه وب به یک عامل پیش از پاسخ به پرسش.
- استخراج متن مقاله برای ورود به RAG یا ساخت پایگاه دانش.
- تبدیل صفحههای وب به Markdown برای بایگانی یا گردشکارهای مستندسازی.
- بیرون کشیدن محتوای متمرکز از یک صفحه با انتخابگرهای CSS.
- کاهش شلوغی صفحه با پردازش خوانایی پیش از تحلیل پاییندستی هوش مصنوعی.
یادداشتها
- API در هر درخواست یک URL را مدیریت میکند.
dataاز سرویس استخراج پاییندست عبور داده میشود، پس ممکن است با گذر زمان فیلدهای بیشتری ظاهر شوند.- حالت
fineممکن است ازfastکندتر باشد، اما وقتی صفحه به رفتار رندر غنیتری نیاز دارد مفید است. - برخی صفحهها ممکن است استخراج را مسدود کنند، کوکی بخواهند یا به
user_agentسفارشی نیاز داشته باشند.