Felo API PlatformFelo API Platform

Felo APIs

Web Fetch API

Ekstrak konten halaman web sebagai HTML, teks, atau Markdown dengan opsi selector dan readability.

POST/v2/web/extract

Autentikasi

Bearer API key

Tipe konten

application/json

Catatan batas laju

Batas khusus endpoint dapat berlaku.

Web Fetch API mengekstrak konten dari URL target dan mengembalikan hasilnya dalam format yang lebih mudah diproses oleh agen, sistem RAG, dan alur kerja konten. API ini dapat mengembalikan HTML, teks biasa, atau Markdown, serta mendukung selector, opsi readability, kontrol cache, user agent kustom, dan cookie permintaan.

Endpoint

POST https://openapi.felo.ai/v2/web/extract

Autentikasi

Kirim kunci API Anda di header Authorization:

Authorization: Bearer YOUR_API_KEY

Lihat Panduan Autentikasi untuk detail tentang membuat dan mengelola kunci API.

Penggunaan dengan Agen AI

Pasang paket felo-ai lengkap jika Anda ingin Agen mengekstrak halaman web bersama setiap Felo Skill lain yang tersedia. Installer menemukan setiap direktori paket yang berisi SKILL.md secara dinamis, sehingga tidak pernah bergantung pada daftar tetap. Pasang semua Skill yang ditemukan di Codex ~/.codex/skills, Claude Code ~/.claude/skills, OpenClaw ~/.agents/skills, atau Hermes Agent ~/.hermes/skills. Gunakan panduan penyiapan Agen AI manual untuk langkah instalasi aman dan kunci API di setiap platform.

Permintaan

HeaderWajibDeskripsi
AuthorizationYaKunci API Anda dalam format Bearer YOUR_API_KEY
Content-TypeYaHarus application/json

Parameter Isi Permintaan

ParameterTipeWajibDefaultDeskripsi
urlstringYa-URL halaman web yang akan diekstrak.
crawl_modestringTidakfastMode ekstraksi. Gunakan fast untuk pengambilan yang lebih cepat atau fine untuk crawl yang lebih presisi dan dapat menangani halaman yang lebih kaya.
output_formatstringTidakhtmlFormat output. Nilai yang didukung: html, text, markdown.
with_readabilityboolean or stringTidak-Aktifkan pemrosesan readability untuk berfokus pada konten utama dan mengurangi noise halaman.
with_links_summarybooleanTidak-Sertakan ringkasan tautan jika didukung oleh ekstraktor downstream.
with_images_summarybooleanTidak-Sertakan ringkasan gambar jika didukung.
with_images_readabilitybooleanTidak-Terapkan penanganan readability pada ekstraksi gambar jika didukung.
with_imagesbooleanTidak-Sertakan informasi gambar dalam hasil ekstraksi.
with_linksbooleanTidak-Sertakan informasi tautan dalam hasil ekstraksi.
ignore_empty_text_imagebooleanTidak-Abaikan gambar yang tidak berisi teks berguna jika didukung.
target_selectorstringTidak-Selector CSS untuk elemen target yang akan diekstrak, seperti article.main-content.
wait_for_selectorstringTidak-Tunggu hingga selector CSS muncul sebelum ekstraksi. Berguna untuk halaman yang dirender secara dinamis.
set_cookiesarrayTidak-Cookie yang dikirim bersama permintaan ekstraksi.
user_agentstringTidak-String User-Agent kustom untuk permintaan ekstraksi.
timeoutintegerTidak-Batas waktu permintaan dalam milidetik.
with_cachebooleanTidaktrueApakah ekstraktor downstream boleh menggunakan cache.
with_stypesbooleanTidakfalseSertakan metadata tipe gaya jika didukung.

Respons

Respons Berhasil

Respons menggunakan desain pass-through transparan. Field persis di dalam data dapat bervariasi bergantung pada output_format dan opsi ekstraksi lainnya.

{
  "status": "ok",
  "message": null,
  "data": {
    "content": "# Example Article\n\nExtracted article content..."
  }
}

Field Respons

FieldTipeDeskripsi
statusstringStatus respons. Biasanya ok untuk permintaan yang berhasil.
messagestring or nullPesan tambahan. Biasanya null untuk permintaan yang berhasil.
dataobjectKonten dan metadata hasil ekstraksi yang dikembalikan oleh layanan ekstraksi downstream.
data.contentstring or objectKonten hasil ekstraksi. Bentuknya bergantung pada output_format dan opsi yang dipilih.

Respons Error

Status HTTPKode ErrorDeskripsiTindakan yang Disarankan
400WEB_EXTRACT_FAILEDValidasi permintaan gagal, URL tidak valid, atau ekstraktor downstream mengembalikan error sisi klien.Periksa url, selector, dan parameter permintaan.
401UNAUTHORIZEDKunci API tidak ada, tidak valid, atau sudah dicabut.Verifikasi kunci API dan header otorisasi Anda.
500WEB_EXTRACT_FAILEDError layanan internal.Coba ulang permintaan. Hubungi dukungan jika masalah berlanjut.

Contoh

Ekstraksi Dasar

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"
  }'

Mengekstrak Markdown dengan 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
  }'

Mengekstrak Selector CSS Tertentu

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
  }'

Kasus Penggunaan

  • Memberi agen konteks halaman web sebelum menjawab pertanyaan.
  • Mengekstrak teks artikel untuk ingest ke RAG atau pembuatan basis pengetahuan.
  • Mengonversi halaman web menjadi Markdown untuk arsip atau alur kerja dokumentasi.
  • Menarik konten terfokus dari halaman dengan menggunakan selector CSS.
  • Mengurangi noise halaman dengan pemrosesan readability sebelum analisis AI downstream.

Catatan

  • API ini menangani satu URL per permintaan.
  • data diteruskan dari layanan ekstraksi downstream, sehingga field tambahan dapat muncul seiring waktu.
  • Mode fine mungkin lebih lambat daripada fast, tetapi berguna jika halaman memerlukan perilaku rendering yang lebih kaya.
  • Beberapa halaman mungkin memblokir ekstraksi, memerlukan cookie, atau memerlukan user_agent kustom.