Felo APIs
Web Fetch API
Wyodrębniaj treść stron internetowych jako HTML, tekst lub Markdown, z opcjami selektora i readability.
/v2/web/extractUwierzytelnianie
Bearer API key
Typ zawartości
application/json
Uwagi o limitach
Mogą obowiązywać limity dla poszczególnych endpointów.
API Web Fetch wyodrębnia treść z docelowego adresu URL i zwraca wynik w formacie łatwiejszym do przetworzenia dla agentów, systemów RAG i przepływów pracy z treścią. Może zwracać HTML, zwykły tekst lub Markdown i obsługuje selektory, opcje czytelności, kontrolę pamięci podręcznej, niestandardowe agenty użytkownika oraz pliki cookie żądań.
Endpoint
POST https://openapi.felo.ai/v2/web/extractUwierzytelnianie
Wyślij klucz API w nagłówku Authorization:
Authorization: Bearer YOUR_API_KEYSzczegóły tworzenia kluczy API i zarządzania nimi znajdziesz w przewodniku uwierzytelniania.
Użycie z agentami AI
Zainstaluj kompletny pakiet felo-ai, gdy chcesz, aby agent wyodrębniał treść stron internetowych obok każdego innego dostępnego Felo Skill. Instalator dynamicznie wykrywa każdy katalog pakietu zawierający SKILL.md, więc nigdy nie opiera się na stałej liście. Zainstaluj wszystkie wykryte Skills w Codex ~/.codex/skills, Claude Code ~/.claude/skills, OpenClaw ~/.agents/skills lub Hermes Agent ~/.hermes/skills. Użyj podręcznika konfiguracji agenta AI, aby poznać bezpieczną instalację i kroki konfiguracji klucza API dla każdej platformy.
Żądanie
Nagłówki
| Nagłówek | Wymagany | Opis |
|---|---|---|
Authorization | Tak | Twój klucz API w formacie Bearer YOUR_API_KEY |
Content-Type | Tak | Musi mieć wartość application/json |
Parametry treści
| Parametr | Typ | Wymagany | Domyślnie | Opis |
|---|---|---|---|---|
url | string | Tak | - | Adres URL strony internetowej do wyodrębnienia. |
crawl_mode | string | Nie | fast | Tryb wyodrębniania. Użyj fast do szybszego pobierania lub fine do dokładniejszego indeksowania, które może obsłużyć bogatsze strony. |
output_format | string | Nie | html | Format wyjściowy. Obsługiwane wartości: html, text, markdown. |
with_readability | boolean or string | Nie | - | Włącz przetwarzanie czytelności, aby skupić się na głównej treści i zmniejszyć szum strony. |
with_links_summary | boolean | Nie | - | Dołącz podsumowanie linków, gdy jest obsługiwane przez podrzędny ekstraktor. |
with_images_summary | boolean | Nie | - | Dołącz podsumowanie obrazów, gdy jest obsługiwane. |
with_images_readability | boolean | Nie | - | Zastosuj obsługę czytelności do wyodrębniania obrazów, gdy jest obsługiwana. |
with_images | boolean | Nie | - | Dołącz informacje o obrazach do wyodrębnionego wyniku. |
with_links | boolean | Nie | - | Dołącz informacje o linkach do wyodrębnionego wyniku. |
ignore_empty_text_image | boolean | Nie | - | Ignoruj obrazy niezawierające użytecznego tekstu, gdy jest obsługiwane. |
target_selector | string | Nie | - | Selektor CSS docelowego elementu do wyodrębnienia, na przykład article.main-content. |
wait_for_selector | string | Nie | - | Poczekaj, aż pojawi się selektor CSS, przed wyodrębnieniem. Przydatne dla stron renderowanych dynamicznie. |
set_cookies | array | Nie | - | Pliki cookie do wysłania z żądaniem wyodrębniania. |
user_agent | string | Nie | - | Niestandardowy ciąg User-Agent dla żądania wyodrębniania. |
timeout | integer | Nie | - | Limit czasu żądania w milisekundach. |
with_cache | boolean | Nie | true | Czy podrzędny ekstraktor może używać pamięci podręcznej. |
with_stypes | boolean | Nie | false | Dołącz metadane typu stylu, gdy jest obsługiwane. |
Odpowiedź
Odpowiedź sukcesu
Odpowiedź wykorzystuje przezroczysty przekaz. Dokładne pola w data mogą się różnić w zależności od output_format i innych opcji wyodrębniania.
{
"status": "ok",
"message": null,
"data": {
"content": "# Example Article\n\nExtracted article content..."
}
}Pola odpowiedzi
| Pole | Typ | Opis |
|---|---|---|
status | string | Stan odpowiedzi. Zwykle ok dla skutecznego żądania. |
message | string or null | Dodatkowy komunikat. Zwykle null dla skutecznych żądań. |
data | object | Wyodrębniona treść i metadane zwrócone przez podrzędną usługę wyodrębniania. |
data.content | string or object | Wyodrębniona treść. Kształt zależy od output_format i wybranych opcji. |
Odpowiedzi błędów
| Status HTTP | Kod błędu | Opis | Sugerowane działanie |
|---|---|---|---|
| 400 | WEB_EXTRACT_FAILED | Walidacja żądania nie powiodła się, adres URL jest nieprawidłowy lub podrzędny ekstraktor zwrócił błąd po stronie klienta. | Sprawdź url, selektory i parametry żądania. |
| 401 | UNAUTHORIZED | Klucz API jest brakujący, nieprawidłowy lub unieważniony. | Zweryfikuj klucz API i nagłówek autoryzacji. |
| 500 | WEB_EXTRACT_FAILED | Wewnętrzny błąd usługi. | Ponów żądanie. Skontaktuj się z pomocą techniczną, jeśli problem się utrzymuje. |
Przykłady
Podstawowa ekstrakcja
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"
}'Ekstrakcja Markdown z przetwarzaniem czytelności
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
}'Ekstrakcja konkretnego selektora 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"
}'Oczekiwanie na dynamiczną treść
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
}'Zastosowania
- Daj agentowi kontekst strony internetowej przed odpowiedzią na pytanie.
- Wyodrębnij tekst artykułu do wprowadzenia do RAG lub utworzenia bazy wiedzy.
- Konwertuj strony internetowe na Markdown do archiwizacji lub przepływów dokumentacji.
- Pobierz wyodrębnioną treść ze strony za pomocą selektorów CSS.
- Zmniejsz szum strony dzięki przetwarzaniu czytelności przed dalszą analizą AI.
Uwagi
- API obsługuje jeden adres URL na żądanie.
datajest przekazywane z podrzędnej usługi wyodrębniania, więc z czasem mogą pojawić się dodatkowe pola.- Tryb
finemoże być wolniejszy niżfast, ale bywa przydatny, gdy strona wymaga bogatszego renderowania. - Niektóre strony mogą blokować wyodrębnianie, wymagać plików cookie lub niestandardowego
user_agent.