Eszközök/RAG és keresés

Firecrawl: webkúszó API RAG pipeline-okhoz, értékeléssel

A Firecrawl egy hosztolt API-jal URL-ekből tiszta Markdownot csinál. Mennyibe kerül, hol hibázik a crawl-számlázás, és mikor érdemes saját AGPL-magját futtatni.

Típus
Web crawling API
Ár
Free tier · from $16 per month

··10 perc olvasás

  • Web scraping
  • RAG ingestion
  • Crawling
  • MCP
  • AGPL
Absztrakt pipeline-grafika a Firecrawl-értékeléshez

A lényeg röviden

  • A Firecrawl saját scrape benchmarkje 96%-os lefedettséget, de csak 0,638 F1-et ad: egy oldal tartalmának körülbelül harmada hibás vagy hiányzik.
  • Egy credit egy oldalra jut scrape, crawl és map esetén; a JSON, Question és Highlight formátum oldalanként további 4 credit.
  • A befejezett crawl, ahol a completed megegyezik a total értékkel, nem árulja el a hibákat; csak a crawl errors végpont nevezi meg az elveszett oldalakat.
  • Az AGPL-3.0 licenc alatt futtatható stack a scrape, crawl, map és search műveleteket fedi le; a képernyőképek, az oldalműveletek, a fire-engine, az Agent és az Interact a Cloudon marad.
  • A crawl feladatok 24 órán át lekérdezhetők, és a Scale csomag alatt a credit nem rolloverezik, így a betöltési állapothoz és a kiadásokhoz is kell keret.

A Firecrawl hosztolt API, amely egy URL-t tiszta Markdowndá, JSON-ná vagy HTML-lé alakít, és egy crawler, amely ugyanezt egy teljes weboldalra elvégzi. Azért létezik, mert szinte minden retrieval pipeline-be végül bekerül a web, és mert egy tetszőleges oldalból nyelvi modell által olvasható szöveget készíteni böngészőautomatizálási probléma, adat tisztítási ruhában. Az ittani ítélet: a legjobb alapértelmezés azoknak a csapatoknak, akik ezen a héten webes kontextust akarnak egy termékbe, és rossz választás annak, aki egresszt akar irányítani, meg akarja tartani a nyers bájtokat, vagy megabajtonként fizet oldal helyett.

A stackben a fetch réteg és az embedding réteg közé kerül. Egy vektortár soha nem látja a Firecrawl-t, csak az abból kijövő Markdownot. Erről szól az egész: a Firecrawl kevésbé versenyez egy általános scraping könyvtárral, mint a Scrapy-vel, mint a böngészőflottával, a proxy-rotációval és a blokkoló réteggel, amelyet egy csapat amúgy is össze kellene építenie ugyanahhoz a pipeline-hez. Search API-kkal is átfed, mert a /search a találati metadatok mellett oldaltartalmat is ad.

Mi ez

Nem az érdekes, hogy a Firecrawl letölti az oldalakat. Az az, hogy kérésenként eldönti, mennyire erősen próbál: először egy statikus letöltés, majd headless böngésző, ha az oldalnak kell, és proxy-rotáció, ha a cél ellenáll. Az API vékony JSON-felület e felett a gépezet felett, a repository pedig az egész engine-t AGPL-3.0 alatt hordozza.

  • Végpontok: /scrape, /crawl, /map, /search, /parse, /batch/scrape, valamint a csak Cloudban lévő /interact és /agent
  • Kimeneti formátumok: Markdown, HTML, nyers linkek, képernyőképek és séma vagy természetes nyelvű prompt alapján kivonatolt JSON.
  • Licenc: AGPL-3.0 a core engine-re és az API-ra, MIT az SDK-kra.
  • Számlázási egység: egy credit oldalanként scrape, crawl és map esetén, két credit tíz keresési találatonként, két credit böngészőpercenként az Interactben.
  • Ingyenes csomag: havi 1.000 credit, kártya nélkül, két párhuzamos böngésző, tíz kérés percenként a /scrape végponton
  • MCP: kulcs nélküli Streamable HTTP szerver a https://mcp.firecrawl.dev/v2/mcp címen, ami a Search, Scrape és Parse műveleteket fedi le.
  • Saját szerver: a dokumentáció a v2.11.162 release-t pinneli, és Docker Compose-szal a 3002-es porton szolgálja ki az API-t.

Hogyan működik

Minden oldal ugyanazt az utat járja be, függetlenül a végponttól, és éppen ez teszi a crawlt olcsón átgondolhatóvá: amit a scrape tud, azt a crawl minden elért oldalon meg tud. Az alábbi lépések a dokumentáltak, plusz a számlázási lépés, amely eldönti a számlát.

A Firecrawl oldal-pipeline és a creditek elszámolásaNégy lépés halad balról jobbra: letöltés, renderelés, kivonatolás és visszaadás. Az első két lépés alatt egy doboz jelöli a feloldási utat: először statikus letöltés, és headless böngésző, ha az oldalnak kell. Egy második doboz jelöli az elszámolást: egy credit minden visszaadott oldal után, plusz négy credit a JSON kimeneti formátumért. Alatta három sor rögzíti, hogy a crawl oldalanként ugyanezt az utat járja be, hogy a hibás oldalak kiesnek a data tömbből és csak a crawl errors végpont jelzi őket, és hogy a 403 vagy 404 választ adó céloldal is egy creditbe kerül.FIRECRAWL OLDALPIPELINEugyanaz az út minden végpontonletöltésrendereléskivonatolásválaszFELOLDÁSstatikusan, böngésző ha kellELSZÁMLÁLÁS1 credit oldalanként, +4 JSONa crawl oldalanként járja ezt az utat, azonos scrape opciókkala hibás oldalak kiesnek a data tömbből, csak a hiba-végpont jelzi őketa 403 vagy 404 választ adó céloldal is a data-ba kerül és is egy credit
Egyetlen scrape út minden végponton, a credit a végén esedékes.

Két következmény adódik ebből az alakból. Először a /crawl ugyanaz a kódút, mint a /scrape, csak egy várólista előtte, így egy crawl felörökli a scrape minden viselkedését, még azokat is, amelyet senki nem kért. Másodszor a credit akkor íródik le, amikor az oldal létrejön, nem amikor hasznos, és itt kezd csíkkázni a költségmodell.

A gyártó saját scrape benchmarkot publikál, 2026. január 13-án futtatva, tíz kategóriából származó 1.000 nyilvános URL-en, azt mérve, hogy az eszköz visszaadta-e az oldal szövegmagját. A számok pontos olvasást érdemelnek, mert a siker definíciója bőkezű.

MetrikaFirecrawl eredmény
Adathalmaz1.000 nyilvános URL tíz kategóriából
Lefedettség, sikerarány96%
Kivonatolási pontosság, F10,638
Tartalmi visszakeresés0,639
Késleltetés, P953.387 ms

Egy oldal akkor számít lefedettnek, ha a várt tartalom legalább 10%-a visszaérkezett, tehát a 96% azt állítja, hogy nem jött vissza semmi, nem azt, hogy a megfelelő jött vissza. Az F1 értéke, 0,638, az őszinte szám, és azt jelenti, hogy egy átlagos oldalon a kivonatolt tartalom körülbelül harmada hibás vagy hiányzik. Ez elég egy olyan korpuszhoz, amit amúgy is chunkolni, beágyazni és szűrni fogunk; nem elég ahhoz a pipeline-hoz, aminek egy táblából kell a pontos érték.

Első lépések

A Python SDK becsomagolja a feladatsort, a lapozást és a lekérdezést, így a legrövidebb hasznos kódrészlet egyben az is, amelyik elrejti a hibaszámlálást. Az alábbi példa egy kis dokumentációs halmazt crawlol, majd közvetlenül az API-tól kérdezi meg, mely oldalakat nem sikerült letöltenie.

import os
import time

import requests
from firecrawl import Firecrawl

key = os.environ["FIRECRAWL_API_KEY"]
app = Firecrawl(api_key=key)

job = app.start_crawl(
    "https://docs.example.com",
    limit=100,                                # the default is 10000 pages
    scrape_options={"formats": ["markdown"], "only_main_content": True},
)

# poll until a terminal status: completed, failed or cancelled
while True:
    status = app.get_crawl_status(job.id)
    if status.status in ("completed", "failed", "cancelled"):
        break
    time.sleep(5)

print(len(status.data), "pages scraped")

# completed == total does not mean every page arrived
res = requests.get(
    f"https://api.firecrawl.dev/v2/crawl/{job.id}/errors",
    headers={"Authorization": f"Bearer {key}"},
).json()

for page in res.get("errors", []):
    print("failed:", page["url"], page["error"])

print("robots-blocked:", len(res.get("robotsBlocked", [])))

Ebben a hívásban két részlet fontosabb, mint elsőre látszik. A crawl limitje alapértelmezés szerint 10.000 oldal, és a végpont 402 hibával utasítja el a feladatot, ha a megmaradt credit nem fedezi a kért limitet, tehát a próbafiókon bekapcsolva hagyott alapértelmezés gyorsan ahhoz vezet, hogy semmi sem történik. És a only_main_content távolítja el a navigációt és a láblécet; enélkül a sablonszöveget is fizetjük, és be is ágyazzuk.

Saját szerveren

A core AGPL-3.0 alatt nyílt forrású, ami kétszer számít: átvizsgálható, és egy hálózaton kiszolgált módosított változat a forráskódját annak is adja, aki hozzá kapcsolódik. Az alap Compose stack a 3002-es porton indítja az API-t egy PostgreSQL sorral, a Redis-szel és egy Playwright szolgáltatással, és a dokumentáció egy ellenőrzött release-t pinel a fő branch követése helyett.

  • Alapértelmezés szerint benne van: a scrape, crawl, map és search útvonalak, fetch és Playwright feldolgozással.
  • Külön csatlakoztatott provider kell hozzá: az LLM-alapú kivonatolás és a JSON formátumok OpenAI-kompatibilis végpontot vagy Ollamát kérnek.
  • Nincs az alap stackben: a fire-engine anti-bot szolgáltatás, a képernyőképek és az oldalműveletek.
  • Csak Cloudban: az Agent, a Browser, az Interact, a dashboard és az enterprise vezérlők.
  • Szállításkor nem production-ready: a quickstart hitelesítés nélkül és tartós volume-ok nélkül indul.

Árak

Minden egyetlen credit-egyenlegen fut le. A díjszabás minden csomagban azonos, így a költségtervezés oldalszám kérdés lesz, nem csomagszintű kérdés; csak a limitek mozognak.

CsomagHavi creditPárhuzamos böngészőkRate limit a /scrape, /map és /search végponton
Free1.000210 / perc
Hobby, évente $165.0005100 / perc
Standard, évente $83100.00025500 / perc
Growth, évente $333500.000505.000 / perc
Scale, évente $5991.000.00010010.000 / perc

Az egységgazdaságtan elég egyszerű ahhoz, hogy utánaszámolható legyen. A havi 16 dolláros Hobby csomag 5.000 oldalt ad, ami körülbelül 0,003 dollár oldalonként az első 5.000-re, utána pedig 5 dollár minden további 1.000 credit. Három dolog töri ezt a számítást. A JSON, Question és Highlight formátumok oldalanként további 4 creditet adnak a alapdíjhoz. Az Interact böngészőpercenként 2 creditet számol, nem oldalanként. És az az oldal, amely 403 vagy 404 választ ad, visszaadásra kerül, és 1 creditet fizet; a tele 404-es oldalakból álló webhely ezért valódi számla, nem kerekítési hiba.

Hol illik és hol nem

Először a gyengeségek. A crawl számlázása nem tudja megmondani, hogy tiszta volt-e a futás: a total számláló a completed, active, queued és backlogged oldalakat összeadja, és kihagyja a hibákat, így egy befejezett feladaton a completed megegyezik a total értékkel, függetlenül attól, kiestek-e oldalak, és csak a crawl errors végpont nevezi meg őket. A felderítés sem determinisztikus, mert az oldalak párhuzamosan jönnek, és a linkek sorrendje a hálózati időzítést követi. A keresés oldalán a Firecrawl saját benchmarkoldala a többkörös felfedezésen tizenkettesik a tizenhat konfiguráció közül, 30,4-es F1-gyel, míg a csak keresésen alapuló kódolási feladatokon második. Ez erős fetcher, amihez keresőtermék van csatolva, nem erős keresőtermék.

EszközMit ad elSzámlázási egységMiben nyer
FirecrawlEgy API a scrape, crawl, map, search és parse műveletekhez, Markdownot ad visszaCredit oldalankéntTiszta Markdown, alig kell utómunka
ApifyAutomatizálási platform: Actorok, adathalmazok, proxyk, ütemezésSzámítási egység, egy CU egy óra alatt 1 GB, plusz proxyk és tárhelySzabálytalan oldalak, amelyek saját kódot vagy proxyválasztást igényelnek
BrowserbaseMenedzselt böngésző-munkamenetek plusz Fetch és Search APIBöngészőórák, $0,12 óránként a Developer csomagban az első 100 utánInteraktív folyamatok: belépés, kattintási útvonalak, állapottartó munkamenetek
Scrapy és PlaywrightKönyvtárak, amelyeket saját magad futtatsz, a teljes pipeline a kezedbenSaját infrastruktúra és saját időKiszámítható költség nagy volumen mellett, és nincs szállító a körben

Az összehasonlítás nem egyforma, és a különböző fajta az hasznos rész. A Firecrawl és a Browserbase is egy fetch-eredményt ad el. Az Apify számítást ad el egy piactérrel együtt. A Scrapy és a Playwright semmit nem ad el, és csak figyelmet fizet. Egy fix betöltési célhoz, stabil HTML struktúrával egy saját szerveren futtatott crawler még mindig olcsóbb oldalanként bármelyiknél, mert a határköltség egy core és egy sor ahelyett, hogy credit.

Itt van a lock-in kérdés is. A Firecrawl Cloudban vannak a jó részek: a fire-engine, a képernyőképek, az oldalműveletek, az Interact és az Agent mind Cloud funkcióként dokumentáltak. A saját szerver az AGPL-3.0 alatti core engine-t adja és keveset mást, ami szűkebb ajánlat, mint a repository népszerűsége sugallja.

Ítélet

A Firecrawl megérdemli az átvételt a betöltési problémára, és érdemes távol tartani a keresési problémától. A 0,638-as kivonatolási F1 elfogadható, éppen azért, mert a chunkelés és a visszakeresés elnyeli a kivonatolási hiba egy részét, a creditmodell kiszámítható, és egy böngészőflotta, proxykészlet és blokkoló réteg üzemeltetése valódi operatív munka, amit a legtöbb termékcsapatnak nem kellene a vállára vennie. Az ellenérv szűk, de éles: ha az oldaltartalomnak pontosnak kell lennie, vagy ha az egress és az adat helye a valódi megkötés, akkor a credit a rossz dolgot vásárolja.

  1. Vedd át, ha egy terméknek most kell webes tartalom, és a céloldalak szokásos HTML-ek vagy dokumentációk.
  2. Vedd át agent- és MCP-integrációhoz. A kulcs nélküli Streamable HTTP szerver és a CLI skillek a legrövidebb út egy agenttől egy olvasható oldalig.
  3. Az ingyenes csomaggal nézd meg, hogy a kivonatolási minőség illik-e a korpuszodhoz. A havi 1.000 credit ehhez bőven elég.
  4. Ne vetted át kereső API-ként. A cég saját többkörös benchmarkján a mező végén áll, és eredményenként számol.
  5. Ne vetted át táblákból, hivatalos dokumentumokból vagy árakból való pontos kivonatolásra. Budgetálj egy ellenőrző körre, vagy használj olyan forrást, amely strukturált adatot ad.
A Firecrawl-t legjobban renderelő szolgáltatásként érdemes érteni, amelyhez JSON API van csatolva. Amit korábban Playwrightből és proxy-előfizetésből építettek volna, azt mostantól oldalanként kell megvenni. Amit sitemapből és ütemezett jobból építettek, azt továbbra is érdemes saját kezbe venni.

Források

  1. Firecrawl árazás — credit díjak, csomag limitek, rollover és pay-as-you-go szabályok, 2026. szeptember 4-től érvényben
  2. Firecrawl crawl dokumentáció — státuszszámlálók, lapozási szerződés, a hibavégpont és a crawl konfigurációs referencia
  3. Firecrawl self-hosting útmutató — a rögzített release, a Compose stack és az alap build hiányzó képességei
  4. Open source vagy Firecrawl Cloud — mely képességek melyik működési modellhez tartoznak
  5. Firecrawl benchmarkok — a 2026. januári scrape futás és a hivatkozott harmadik fél keresési vizsgálatai
  6. Apify árazás — számítási egységek, proxy díjak és az előre fizetett használat az összehasonlító táblához
  7. Browserbase árazás — böngészőórák, valamint Fetch és Search hívási díjak az összehasonlító táblához

Gyakori kérdések

Mennyibe kerül egy dokumentációs oldal crawlolása Firecrawl-lal?

Egy credit jut egy oldalra scrape, crawl és map esetén, tehát egy 500 oldalas crawl 500 credit. A Hobby csomag éves számlázással havi 16 dollár 5.000 credit, a Standard 83 dollár 100.000 credit. A JSON, Question és Highlight formátum oldalanként további 4 credit, a pay-as-you-go pedig 5 dolláros lépésekkel tölti fel az egyenleget.

Elég pontos-e a Firecrawl RAG-hez?

A Firecrawl saját benchmarkja 2026. január 13-án futott 1.000 nyilvános URL-en, és 96%-os lefedettséget meg 0,638 F1-et jelent. Egy oldal már 10% várható tartalom visszaérkezése esetén lefedettnek számít, ezért az F1-et érdemes olvasni, nem a lefedettségi számot. Ez a pontosság jó egy chunkolt, beágyazott korpuszhoz, de túl alacsony táblákból származó pontos értékekhez.

Futtatható-e a Firecrawl saját szerveren?

Igen. A core engine és az API AGPL-3.0 licenc alatt áll, és a self-hosting útmutató Docker Compose-szal indítja a 3002-es porton, egy ellenőrzött release-t pinel a fő branch helyett. Az alap stack a fetch és a Playwright feldolgozással együtt fedi le a scrape, crawl, map és search műveleteket. A képernyőképek, az oldalműveletek, a fire-engine, az Agent és az Interact Cloud funkciók.

Honnan tudom, mely oldalaknak sikerült elbuknia egy crawlnak?

A státuszszámlálókból nem. A total mező a completed, active, queued és backlogged oldalakat összeadja, és kihagyja a hibákat, így egy befejezett jobon a completed megegyezik a total értékkel, függetlenül attól, hogy estek-e ki oldalak. A crawl errors végpont errors és robotsBlocked tömbjei mondják meg, melyek azok.

Pont erre van szükséged?

Írj a projektedről vagy a pozícióról – szívesen hallok felőled.