Felo APIs
Web Fetch API
Витягуйте вміст вебсторінок як HTML, текст або Markdown із параметрами селектора й readability.
/v2/web/extractАвтентифікація
Bearer API key
Тип вмісту
application/json
Примітки щодо обмежень
Можуть діяти обмеження для окремих endpoint.
Web Fetch API видобуває вміст із цільової URL-адреси та повертає результат у форматі, зручнішому для обробки агентами, системами RAG і робочими процесами з контентом. Він може повертати HTML, звичайний текст або Markdown і підтримує селектори, параметри readability, керування кешем, власні user agent і файли cookie запиту.
Endpoint
POST https://openapi.felo.ai/v2/web/extractАвтентифікація
Надішліть свій API-ключ у заголовку Authorization:
Authorization: Bearer YOUR_API_KEYПро створення та керування API-ключами див. посібник з автентифікації.
Використання з агентами ШІ
Установіть повний пакет felo-ai, якщо хочете, щоб агент видобував вміст вебсторінок разом з усіма іншими доступними Felo Skills. Інсталятор динамічно знаходить кожен каталог пакета, що містить SKILL.md, тому ніколи не покладається на фіксований список. Установіть усі знайдені Skills у Codex ~/.codex/skills, Claude Code ~/.claude/skills, OpenClaw ~/.agents/skills або Hermes Agent ~/.hermes/skills. Використовуйте посібник з ручного налаштування агента ШІ, щоб дізнатися про безпечне встановлення та кроки з 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 or string | Ні | - | Увімкнути обробку readability, щоб зосередитися на основному вмісті та зменшити шум сторінки. |
with_links_summary | boolean | Ні | - | Додати стислий огляд посилань, якщо це підтримує екстрактор нижчого рівня. |
with_images_summary | boolean | Ні | - | Додати стислий огляд зображень, якщо це підтримується. |
with_images_readability | boolean | Ні | - | Застосувати обробку readability до видобування зображень, якщо це підтримується. |
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 | Ні | - | Файли cookie для надсилання разом із запитом видобування. |
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 or null | Додаткове повідомлення. Зазвичай null для успішних запитів. |
data | object | Видобутий вміст і метадані, повернуті сервісом видобування нижчого рівня. |
data.content | string or 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 із 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
}'Видобування конкретного 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-селекторів.
- Зменшити шум сторінки за допомогою обробки readability перед подальшим аналізом ШІ.
Примітки
- API обробляє одну URL-адресу за запит.
dataпередається наскрізно від сервісу видобування нижчого рівня, тому з часом можуть з'являтися додаткові поля.- Режим
fineможе бути повільнішим заfast, але буває корисним, коли сторінка потребує складнішого рендерингу. - Деякі сторінки можуть блокувати видобування, вимагати файлів cookie або потребувати власного
user_agent.