Berdayakan aplikasi AI Anda dengan data bersih dari situs web mana pun. Menampilkan kemampuan pengikisan, perayapan, dan ekstraksi data tingkat lanjut.
Repositori ini sedang dalam pengembangan, dan kami masih mengintegrasikan modul khusus ke dalam repo mono. Ini belum sepenuhnya siap untuk penerapan yang dihosting sendiri, namun Anda dapat menjalankannya secara lokal.
Firecrawl adalah layanan API yang mengambil URL, merayapinya, dan mengubahnya menjadi penurunan harga bersih atau data terstruktur. Kami merayapi semua subhalaman yang dapat diakses dan memberi Anda data bersih untuk setiap subhalaman. Tidak diperlukan peta situs. Lihat dokumentasi kami.
Pst. hei, kamu, bergabunglah dengan pengamat bintang kami :)
Kami menyediakan API yang mudah digunakan dengan versi host kami. Anda dapat menemukan taman bermain dan dokumentasinya di sini. Anda juga dapat menghosting sendiri backend jika Anda mau.
Lihat sumber daya berikut untuk memulai:
API : Dokumentasi
SDK : Python, Node, Go, Rust
Kerangka LLM : Langchain (python), Langchain (js), Indeks Llama, Crew.ai, Composio, PraisonAI, Superinterface, Vectorize
Kerangka Kerja Kode Rendah : Dify, Langflow, Flowise AI, Cargo, Pipedream
Lainnya : Zapier, Pabbly Connect
Ingin SDK atau Integrasi? Beri tahu kami dengan membuka terbitan.
Untuk menjalankan secara lokal, lihat panduan di sini.
Untuk menggunakan API, Anda perlu mendaftar di Firecrawl dan mendapatkan kunci API.
Scrape : mengikis URL dan mendapatkan kontennya dalam format siap LLM (penurunan harga, data terstruktur melalui Ekstrak LLM, tangkapan layar, html)
Perayapan : mengikis semua URL halaman web dan mengembalikan konten dalam format siap LLM
Peta : masukkan situs web dan dapatkan semua url situs web - sangat cepat
Format siap LLM : penurunan harga, data terstruktur, tangkapan layar, HTML, tautan, metadata
Hal-hal sulit : proxy, mekanisme anti-bot, konten dinamis (render js), penguraian keluaran, orkestrasi
Kemampuan penyesuaian : kecualikan tag, merangkak di balik dinding autentikasi dengan header khusus, kedalaman perayapan maksimal, dll...
Penguraian media : pdf, docx, gambar.
Keandalan yang diutamakan : dirancang untuk mendapatkan data yang Anda perlukan - tidak peduli betapa sulitnya.
Tindakan : klik, gulir, masukkan, tunggu, dan lainnya sebelum mengekstraksi data
Batching (Baru) : mengikis ribuan URL secara bersamaan dengan titik akhir asinkron baru
Anda dapat menemukan semua kemampuan Firecrawl dan cara menggunakannya di dokumentasi kami
Digunakan untuk merayapi URL dan semua subhalaman yang dapat diakses. Ini mengirimkan pekerjaan perayapan dan mengembalikan ID pekerjaan untuk memeriksa status perayapan.
curl -X POST https://api.firecrawl.dev/v1/crawl -H 'Jenis Konten: aplikasi/json' -H 'Otorisasi: Pembawa fc-YOUR_API_KEY' -d '{ "url": "https://docs.firecrawl.dev", "limit": 100, "scrapeOptions": { "formats": ["markdown", "html"] } }'
Mengembalikan id pekerjaan perayapan dan url untuk memeriksa status perayapan.
{ "sukses": benar, "id": "123-456-789", "url": "https://api.firecrawl.dev/v1/crawl/123-456-789"}
Digunakan untuk memeriksa status pekerjaan perayapan dan mendapatkan hasilnya.
curl -X DAPATKAN https://api.firecrawl.dev/v1/crawl/123-456-789 -H 'Jenis Konten: aplikasi/json' -H 'Otorisasi: Pembawa YOUR_API_KEY'
{ "status": "selesai", "total": 36, "kreditDigunakan": 36, "expiresAt": "2024-00-00T00:00:00.000Z", "data": [ { "markdown": "[beranda Firecrawl Docs![logo ringan](https://mintlify.s3-us-west-1.amazonaws.com/firecrawl/logo/light.svg)!...", " html": "...", "metadata": {"title": "Bangun 'Obrolan dengan situs web' menggunakan Groq Llama 3 | Firecrawl","bahasa": "en"," sourceURL": "https://docs.firecrawl.dev/learn/rag-llama3","description": "Pelajari cara menggunakan Firecrawl, Groq Llama 3, dan Langchain untuk membuat 'Chat dengan situs web Anda' bot.","ogLocaleAlternate": [],"statusCode": 200 } } ] }
Digunakan untuk mengikis URL dan mendapatkan kontennya dalam format yang ditentukan.
curl -X POST https://api.firecrawl.dev/v1/scrape -H 'Jenis Konten: aplikasi/json' -H 'Otorisasi: Pembawa YOUR_API_KEY' -d '{ "url": "https://docs.firecrawl.dev", "format" : ["penurunan harga", "html"] }'
Tanggapan:
{ "success": true, "data": {"markdown": "Peluncuran Minggu I telah tiba! [Lihat Rilis Hari ke-2 kami ](https://www.firecrawl.dev/blog/launch-week-i-day -2-doubled-rate-limits)[? Dapatkan 2 bulan gratis...","html": "Peta (Alfa)
Digunakan untuk memetakan URL dan mendapatkan url situs web. Ini mengembalikan sebagian besar tautan yang ada di situs web.
curl -X POST https://api.firecrawl.dev/v1/map -H 'Jenis Konten: aplikasi/json' -H 'Otorisasi: Pembawa YOUR_API_KEY' -d '{ "url": "https://firecrawl.dev" }'Tanggapan:
{ "status": "sukses", "tautan": ["https://firecrawl.dev","https://www.firecrawl.dev/pricing","https://www.firecrawl.dev/blog ","https://www.firecrawl.dev/playground","https://www.firecrawl.dev/smart-crawl", ] }Peta dengan pencarian
Peta dengan parameter
search
memungkinkan Anda mencari url tertentu di dalam situs web.curl -X POST https://api.firecrawl.dev/v1/map -H 'Jenis Konten: aplikasi/json' -H 'Otorisasi: Pembawa YOUR_API_KEY' -d '{ "url": "https://firecrawl.dev", "pencarian": "dokumen" }'Respons akan berupa daftar yang diurutkan dari yang paling relevan hingga yang paling tidak relevan.
{ "status": "sukses", "tautan": ["https://docs.firecrawl.dev","https://docs.firecrawl.dev/sdks/python","https://docs.firecrawl .dev/learn/rag-llama3", ] }Ekstraksi LLM (Beta)
Digunakan untuk mengekstrak data terstruktur dari halaman tergores.
curl -X POST https://api.firecrawl.dev/v1/scrape -H 'Jenis Konten: aplikasi/json' -H 'Otorisasi: Pembawa YOUR_API_KEY' -d '{ "url": "https://www.mendable.ai/", "formats": ["ekstrak"], "ekstrak": { "skema": { "tipe": "objek", " properti": { "company_mission": { "type": "string" }, "supports_sso": { "type": "boolean" }, "is_open_source": { "type": "boolean" }, "is_in_yc": { "type": "boolean" } }, "wajib": [ "company_mission", "supports_sso", "is_open_source", "is_in_yc" ] } } }'{ "success": true, "data": {"content": "Konten Mentah","metadata": { "title": "Mendable", "description": "Mendable memungkinkan Anda membuat aplikasi obrolan AI dengan mudah. Penyerapan , sesuaikan, lalu terapkan dengan satu baris kode di mana pun Anda inginkan. Dipersembahkan oleh SideGuide", "robots": "follow, index", "ogTitle": "Mendable", "ogDescription": "Mendable memungkinkan Anda membuat dengan mudah Aplikasi obrolan AI. sesuaikan, lalu terapkan dengan satu baris kode di mana pun Anda inginkan. Dipersembahkan oleh SideGuide", "ogUrl": "https://mendable.ai/", "ogImage": "https://mendable.ai/mendable_new_og1. png", "ogLocaleAlternate": [], "ogSiteName": "Dapat Diperbaiki", "sourceURL": "https://mendable.ai/"},"llm_extraction": { "company_mission": "Latih AI yang aman pada sumber daya teknis Anda yang menjawab pertanyaan pelanggan dan karyawan sehingga tim Anda tidak perlu melakukannya", "supports_sso": true, "is_open_source": false, "is_in_yc": true} } }Mengekstraksi tanpa skema (Baru)
Anda sekarang dapat mengekstrak tanpa skema hanya dengan meneruskan
prompt
ke titik akhir. llm memilih struktur data.curl -X POST https://api.firecrawl.dev/v1/scrape -H 'Jenis Konten: aplikasi/json' -H 'Otorisasi: Pembawa YOUR_API_KEY' -d '{ "url": "https://docs.firecrawl.dev/", "formats": ["extract"], "extract": { "prompt": "Ekstrak misi perusahaan dari halaman." } }'Berinteraksi dengan halaman dengan Tindakan (Khusus Cloud)
Firecrawl memungkinkan Anda melakukan berbagai tindakan pada halaman web sebelum menghapus kontennya. Ini sangat berguna untuk berinteraksi dengan konten dinamis, menavigasi halaman, atau mengakses konten yang memerlukan interaksi pengguna.
Berikut ini contoh cara menggunakan tindakan untuk bernavigasi ke google.com, mencari Firecrawl, mengeklik hasil pertama, dan mengambil tangkapan layar.
curl -X POST https://api.firecrawl.dev/v1/scrape -H 'Jenis Konten: aplikasi/json' -H 'Otorisasi: Pembawa YOUR_API_KEY' -d '{ "url": "google.com", "formats": ["penurunan harga"], "tindakan": [ {"type": "tunggu", "milidetik": 2000}, {"type": "klik", "pemilih": "textarea[title="Search"]"}, {"type": "tunggu", "milidetik": 2000}, {"type": "tulis", "teks": " petasan"}, {"type": "tunggu", "milidetik": 2000}, {"type": "tekan", "kunci": "ENTER"}, {"type": "tunggu", "milidetik": 3000}, {"type": "klik", "pemilih": "h3"}, {"type": "tunggu", "milidetik": 3000}, {"type": "tangkapan layar"} ] }'Batch Scraping Beberapa URL (Baru)
Anda sekarang dapat mengikis beberapa URL secara bersamaan. Ini sangat mirip dengan cara kerja titik akhir /crawl. Ini mengirimkan pekerjaan pengikisan batch dan mengembalikan ID pekerjaan untuk memeriksa status pengikisan batch.
curl -X POST https://api.firecrawl.dev/v1/batch/scrape -H 'Jenis Konten: aplikasi/json' -H 'Otorisasi: Pembawa YOUR_API_KEY' -d '{ "url": ["https://docs.firecrawl.dev", "https://docs.firecrawl.dev/sdks/overview"], "format" : ["penurunan harga", "html" ] }'Penelusuran (v0) (Beta)
Digunakan untuk menelusuri web, mendapatkan hasil yang paling relevan, mengikis setiap halaman, dan mengembalikan penurunan harga.
curl -X POST https://api.firecrawl.dev/v0/search -H 'Jenis Konten: aplikasi/json' -H 'Otorisasi: Pembawa YOUR_API_KEY' -d '{ "query": "firecrawl", "pageOptions": { "fetchPageContent": true // false untuk api serp yang cepat } }'{ "sukses": benar, "data": [ { "url": "https://mendable.ai", "markdown": "# Markdown Content", "provider": "web-scraper", "metadata": {"title": "Dapat diperbaiki | AI untuk CX dan Penjualan","description": "AI untuk CX dan Penjualan","bahasa": null,"sourceURL": "https://www.mendable.ai/" } } ] }Menggunakan Python SDK
Menginstal Python SDK
pip instal firecrawl-pyMerayapi situs web
dari firecrawl.firecrawl import FirecrawlAppapp = FirecrawlApp(api_key="fc-YOUR_API_KEY")# Mengikis situs web:scrape_status = app.scrape_url( 'https://firecrawl.dev', params={'format': ['penurunan harga', 'html']} )print(scrape_status)# Merayapi situs web:crawl_status = app.crawl_url( 'https://firecrawl.dev', params={'batas': 100, 'scrapeOptions': {'format': ['penurunan harga', 'html']} }, poll_interval=30)cetak(status_perayapan)Mengekstrak data terstruktur dari URL
Dengan ekstraksi LLM, Anda dapat dengan mudah mengekstrak data terstruktur dari URL mana pun. Kami mendukung skema pydantic untuk memudahkan Anda juga. Inilah cara Anda menggunakannya:
dari firecrawl.firecrawl import FirecrawlAppapp = FirecrawlApp(api_key="fc-YOUR_API_KEY")class ArticleSchema(BaseModel):judul: strpoints: intby: strcommentsURL: strclass TopArticlesSchema(BaseModel):top: Daftar[ArticleSchema] = Bidang(..., max_items=5, deskripsi="5 berita teratas")data = app.scrape_url('https://news.ycombinator.com', {'format': ['ekstrak'],'ekstrak': {'skema': TopArticlesSchema.model_json_schema() } })cetak(data["ekstrak"])Menggunakan Node SDK
Instalasi
Untuk menginstal Firecrawl Node SDK, Anda dapat menggunakan npm:
npm instal @mendable/firecrawl-jsPenggunaan
Dapatkan kunci API dari firecrawl.dev
Tetapkan kunci API sebagai variabel lingkungan bernama
FIRECRAWL_API_KEY
atau teruskan sebagai parameter ke kelasFirecrawlApp
.import FirecrawlApp, { CrawlParams, CrawlStatusResponse } dari '@mendable/firecrawl-js';const app = new FirecrawlApp({apiKey: "fc-YOUR_API_KEY"});// Mengikis situs webconst scrapeResponse = menunggu app.scrapeUrl('https: //firecrawl.dev', { format: ['penurunan harga', 'html'],});if (scrapeResponse) { console.log(scrapeResponse)}// Merayapi situs webconst crawlResponse = menunggu app.crawlUrl('https://firecrawl.dev', { batas: 100, scrapeOptions: {format: ['penurunan harga', 'html'], }} memenuhi CrawlParams, benar, 30) memenuhi CrawlStatusResponse;if (crawlResponse) { console.log(Respon perayapan)}Mengekstrak data terstruktur dari URL
Dengan ekstraksi LLM, Anda dapat dengan mudah mengekstrak data terstruktur dari URL mana pun. Kami mendukung skema zod untuk memudahkan Anda juga. Inilah cara Anda menggunakannya:
impor FirecrawlApp dari "@mendable/firecrawl-js";impor { z } dari "zod";const app = new FirecrawlApp({ apiKey: "fc-YOUR_API_KEY"});// Tentukan skema untuk mengekstrak konten ke dalam skema const = z.object({ atas: z.array( z.object({judul: z.string(),titik: z.number(),oleh: z.string(),commentsURL: z.string(), })).length(5 ).describe("5 berita teratas di Berita Peretas"),});const scrapeResult = menunggu app.scrapeUrl("https://news.ycombinator.com", { ekstraktorOptions: { ekstraksiSchema: skema },});console.log(scrapeResult.data["llm_extraction"]);Penawaran Sumber Terbuka vs Cloud
Firecrawl adalah sumber terbuka yang tersedia di bawah lisensi AGPL-3.0.
Untuk memberikan produk terbaik, kami menawarkan versi Firecrawl yang dihosting bersama dengan penawaran sumber terbuka kami. Solusi cloud memungkinkan kami untuk terus berinovasi dan mempertahankan layanan berkualitas tinggi dan berkelanjutan untuk semua pengguna.
Firecrawl Cloud tersedia di firecrawl.dev dan menawarkan serangkaian fitur yang tidak tersedia dalam versi open source:
Berkontribusi
Kami menyukai kontribusi! Silakan baca panduan kontribusi kami sebelum mengirimkan permintaan penarikan. Jika Anda ingin melakukan hosting mandiri, lihat panduan hosting mandiri.
Pengguna akhir bertanggung jawab sepenuhnya untuk menghormati kebijakan situs web saat melakukan scraping, penelusuran, dan crawling dengan Firecrawl. Pengguna disarankan untuk mematuhi kebijakan privasi yang berlaku dan ketentuan penggunaan situs web sebelum memulai aktivitas pengikisan apa pun. Secara default, Firecrawl mematuhi arahan yang ditentukan dalam file robots.txt situs web saat melakukan perayapan. Dengan menggunakan Firecrawl, Anda secara tegas setuju untuk mematuhi ketentuan ini.
Kontributor
Penafian Lisensi
Proyek ini terutama dilisensikan di bawah GNU Affero General Public License v3.0 (AGPL-3.0), sebagaimana ditentukan dalam file LICENSE di direktori root repositori ini. Namun, komponen tertentu dari proyek ini dilisensikan di bawah Lisensi MIT. Lihat file LISENSI di direktori khusus ini untuk detailnya.
Harap dicatat:
Lisensi AGPL-3.0 berlaku untuk seluruh bagian proyek kecuali ditentukan lain.
SDK dan beberapa komponen UI dilisensikan di bawah Lisensi MIT. Lihat file LISENSI di direktori khusus ini untuk detailnya.
Saat menggunakan atau berkontribusi pada proyek ini, pastikan Anda mematuhi persyaratan lisensi yang sesuai untuk komponen spesifik yang sedang Anda kerjakan.
Untuk rincian lebih lanjut mengenai perizinan komponen tertentu, silakan lihat file LISENSI di direktori masing-masing atau hubungi pengelola proyek.
↑ Kembali ke Atas ↑