Kurs
Firecrawl ist eine neue Art von Webcrawler, der für KI-Workflows optimiert ist. Er ermöglicht Entwicklerinnen und Entwicklern, einzelne Seiten, ganze Websites oder sogar das Web im großen Stil zu scrapen. Dank Features wie JavaScript-Unterstützung, automatischer Markdown-Konvertierung und Integrationen mit populären LLM-Frameworks reduziert er die Komplexität herkömmlichen Web-Scrapings erheblich.
In diesem Artikel stelle ich nicht nur die wichtigsten Funktionen von Firecrawl vor, sondern gebe auch praktische Profi-Tipps, zeige Integrationen ins Ökosystem und nenne reale Anwendungsfälle, damit du sofort selbst loslegen kannst.
Was ist Firecrawl?
Firecrawl ist ein KI-gestützter Webcrawler von Mendable.ai. Der Dienst bietet eine API, die Websites crawlt und sie in saubere, LLM-taugliche Daten wie Markdown, JSON u. a. umwandelt.
Im Gegensatz zu klassischen Scrapern wie BeautifulSoup oder Puppeteer, die „blind“ crawlen und oft unstrukturierte Daten liefern, nutzt Firecrawl einen KI-gestützten Ansatz: Es versteht den Seitenkontext und extrahiert die Hauptinhalte sauber. Ganze Websites lassen sich in sauberes Markdown oder strukturierte Daten verwandeln — ideal für LLM-Aufgaben.
Firecrawl bietet drei Kernmodi, auf die ich gleich im Detail eingehe: Scrape-Mode für einzelne URLs, Crawl-Mode für ganze Websites und Map-Mode zur URL-Erkennung.
Zentrale Features von Firecrawl
Firecrawl sticht heraus, weil kein Sitemap nötig ist — die Navigation ist intelligent. Es verarbeitet umfangreiches JavaScript und dynamische Inhalte, liefert sauberes Markdown, HTML, JSON, Screenshots und mehr, ist damit extrem flexibel, hat integrierte Proxy-, Anti-Bot- und Caching-Mechanismen, unterstützt Batch-Verarbeitung und parallele Jobs für große Vorhaben, ist hochgradig anpassbar (Tags ausschließen, mit Custom-Headern crawlen, Crawltiefe festlegen u. v. m.), integriert sich reibungslos mit LLM-Frameworks wie LangChain, LlamaIndex und CrewAI — und ist natürlich unternehmensfreundlich mit konfigurierbarem Rate-Limit, Parallelitätssteuerung und hoher Zuverlässigkeit.
So richtest du Firecrawl ein
Das Beste an Firecrawl: Du hast es in wenigen Minuten am Start. So installierst du es in deinem System:
API-Schlüssel konfigurieren
- Registriere dich auf firecrawl.dev, um einen API-Schlüssel zu erhalten.
- Installiere die Python-Clientbibliothek:
pip install firecrawl
Und falls du LangChain nutzt, verwende
pip install firecrawl-py
- Speichere den API-Schlüssel sicher per Umgebungsvariable:
import os
from firecrawl import FirecrawlApp
# Set your Firecrawl API key as an environment variable for security
api_key = os.getenv('FIRECRAWL_API_KEY')
# Create an instance of the FirecrawlApp class with your API key
app = FirecrawlApp(api_key=api_key)
Ein einfaches Scraping-Beispiel
Dein erstes Scraping gelingt ganz einfach mit der Methode .scrape_url():
response = app.scrape_url(url=example.com', formats=['markdown'])
print(response)
Dieser Code ruft den Hauptinhalt der firecrawl.dev-Webseite als Markdown ab.
Firecrawl-Modi und Endpunkte verstehen
Firecrawl verfügt über drei Kernmodi, die bestimmen, wie breit du scrapen möchtest. In diesem Abschnitt führe ich dich durch jeden Modus.
Scrape-Mode
Der Scrape-Mode zielt auf einzelne URLs ab — ideal zum Extrahieren von Produktdetails oder Nachrichtenartikeln. Mit dem Parameter llm_extract ist schema-basiertes Extrahieren möglich. Du definierst das Zielschema deines finalen JSON, initialisierst die Konfiguration und startest das Scraping:
from firecrawl import JsonConfig
from pydantic import BaseModel
# Define the expected data structure for the JSON extraction schema
class ExtractSchema(BaseModel):
company_mission: str
supports_sso: bool
is_open_source: bool
is_in_yc: bool
# Define the JSON configuration and set it to llm extraction mode
json_config = JsonConfig(
extractionSchema=ExtractSchema.model_json_schema(),
mode="llm-extraction",
pageOptions={"onlyMainContent": True}
)
# Scrape the URL, extract data, and format it into JSON
llm_extraction_result = app.scrape_url(
'https://firecrawl.dev',
formats=["json"],
json_options=json_config
)
print(llm_extraction_result)
Hier ist ein weiteres Beispiel für Single-URL-Scraping, diesmal mit selektorbasierter Extraktion:
# Get a screenshot of the top of the overview page
scrape_result = app.scrape_url('firecrawl.dev',
formats=['markdown', 'html', "screenshot"],
actions=[
{"type": "wait", "milliseconds": 3000},
{"type": "click", "selector": "h1"},
{"type": "wait", "milliseconds": 3000},
{"type": "scrape"},
{"type": "screenshot"}
],
)
print(scrape_result)
Dieses Skript öffnet zunächst die Website, wartet 3000 Millisekunden, klickt auf den ersten h1-Selektor, wartet erneut und scrapet anschließend die Seite und speichert einen Screenshot. Falls Timeouts auftreten, erhöhe die Wartezeiten gemeinsam mit dem Timeout-Parameter.
Crawl-Mode
Der Crawl-Mode ermöglicht dir, eine komplette Website inklusive aller erreichbaren Unterseiten ohne Sitemap zu durchsuchen. Er gibt eine Job-ID zur Fortschrittsverfolgung zurück und unterstützt das Abrufen von Metadaten, wenn du zusätzliche Infos wie Header oder Zeitstempel brauchst, Rate Control zur Steuerung der Abrufgeschwindigkeit sowie rekursive Tiefen, um festzulegen, wie vielen Linkebenen gefolgt wird. Der Ablauf eines Crawlers ist wie folgt:
- Zuerst öffnet der Crawler die angegebene URL.
- Dann werden Inhalte extrahiert.
- Alle Hyperlinks zu Unterseiten werden gescannt und jeweils separat gecrawlt.
- Die Schritte wiederholen sich bis zum definierten Maximum.
Hier ein Beispiel für einen Crawler mit Python requests:
import requests
url = "https://api.firecrawl.dev/v1/crawl"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
}
data = {
"url": "https://docs.firecrawl.dev", # site to crawl
"limit": 100, # max items
"scrapeOptions": {
"formats": ["markdown", "html"] # output formats
}
}
response = requests.post(url, headers=headers, json=data)
print(response.status_code)
print(response.json())
Dieser Code weist Firecrawl an, bis zu 100 Seiten von https://docs.firecrawl.dev abzurufen, jede Seite in Markdown und HTML zurückzugeben und anschließend das Ergebnis auszugeben.
Wenn du mehr über APIs lernen möchtest, schau dir unseren Kurs Introduction to APIs in Python, das Code-Along Working with APIs in Python und das Tutorial Mastering Python APIs: A Comprehensive Guide to Building and Using APIs in Python an.
Map-Mode
Mit Map gibst du eine Website ein und bekommst blitzschnell alle URLs der Site zurück. Dafür gibt es /map: Es verwandelt eine einzelne URL in eine umfassende Sitemap. Ideal, wenn Endnutzerinnen und Endnutzer Links zum Scrapen auswählen sollen, du alle Site-URLs schnell entdecken willst, per Suchparameter auf thematisch passende Seiten fokussierst oder deinen Crawl auf bestimmte Seiten einschränkst.
Hinweis: Weil dieser Endpunkt auf Geschwindigkeit optimiert ist, werden möglicherweise nicht alle Links erfasst.
# Map a website:
map_result = app.map_url('https://firecrawl.dev')
print(map_result)
Dieser Code weist Firecrawl an, alle Links auf https://firecrawl.dev zu entdecken und aufzulisten.
Praxisnahe Anwendungsfälle für Firecrawl
Firecrawl ist — wie gesehen — vielseitig einsetzbar und damit in realen Szenarien äußerst praktisch. Beispielsweise beim Scrapen von Jobbörsen oder Nachrichtenportalen, um aktuelle Listings oder Artikel für Analysen zu bündeln oder ein Prognosemodell zu trainieren. Du kannst außerdem Sentiment-Analysen über gescrapte Bewertungen durchführen, etwa indem du Kundenrezensionen von E‑Commerce- oder Review-Seiten wie Amazon sammelst, um Stimmungen zu analysieren und Geschäftsentscheidungen zu unterstützen.
Erweitern lässt sich das durch Preisbeobachtung: Verfolge Produktpreise über mehrere Plattformen, um Trends zu erkennen oder Alerts bei Preisrückgängen auszulösen. Darüber hinaus kannst du mit Firecrawl technische Dokumentation extrahieren, um KI-Agenten zu trainieren oder zu informieren und so deren Wissensbasis zu verbessern — oder Daten in Multi-Agenten-KI-Pipelines einspeisen, wie es CAMEL-AI macht.
Auch Retrieval-Augmented-Generation-(RAG)-Systeme profitieren: Firecrawl liefert strukturierte Webdaten, verbessert die Modellleistung und reduziert Halluzinationen.
Fortgeschrittene Techniken und Best Practices
So holst du das Maximum aus Firecrawl heraus — hier einige fortgeschrittene Techniken und Best Practices:
-
Nutze den Endpunkt
/extract, um anhand eines Prompts oder Schemas strukturierte Daten für dein LLM zu erhalten — LLMs können damit deutlich besser umgehen als mit purem HTML. -
Behandle Fehler mit Retries: Implementiere eine Retry-Logik mit Exponential Backoff, um temporäre API-Fehler abzufangen.
-
Optimiere die Performance, indem du das asynchrone Crawling von Firecrawl nutzt. So startest du große Crawls, ohne deine Anwendung zu blockieren — ideal für Web-Apps und Services.
-
Filtere Crawls mit Parametern wie
max_depthoderexclude, um dich auf bestimmte Subdomains oder Seitentypen zu beschränken. So reduzierst du unnötige Daten. -
Nutze Python-Tools zur Validierung und Bereinigung der gecrawlten Daten, z. B. Balancieren von Klassen, Entfernen von Nullwerten u. a. pandas, numpy, seaborn und weitere helfen dabei. Wenn du mehr über Datenbereinigung lernen willst, schau dir unseren Kurs Cleaning Data in Python an.
Firecrawl vs. traditionelle Scraping-Tools
Firecrawl bietet zahlreiche Vorteile und ist in vielen Fällen die beste Wahl — insbesondere im Vergleich zu klassischen Tools wie Scrapy, BeautifulSoup und Puppeteer. JavaScript-gerenderte Inhalte verarbeitet es mühelos, während BeautifulSoup zusätzliche Tools wie Selenium und oft manuelle Inspektion braucht. Außerdem verfügt Firecrawl über integrierte Proxy-Rotation und Rate-Limit-Steuerung — das reduziert den Einrichtungsaufwand gegenüber den manuellen Konfigurationen in Scrapy erheblich. Hinzu kommt die LLM-Extraktion für strukturierte Daten — ein Feature, das den meisten klassischen Tools fehlt.
Dennoch sind traditionelle Tools in bestimmten Situationen vorzuziehen, etwa bei lokaler Ausführung ohne API-Abhängigkeit — BeautifulSoup läuft lokal und ist für alle interessant, die Cloud-Dienste vermeiden möchten. Leichte, effiziente Implementierung geht manchmal zulasten extremer Anpassbarkeit — Scrapy dagegen bietet sehr feingranulare Kontrolle für hochgradig anpassbare Scraping-Pipelines.
Integrationen und Ökosystem
Firecrawl integriert sich nahtlos in viele gängige LLM-Frameworks und profitiert von starkem Ökosystem-Support — ideal für KI-Workflows. Mit LangChain nutzt du das Modul FirecrawlLoader, um Webdaten einfach in LangChain-Pipelines einzubinden. Für LlamaIndex steht FirecrawlReader bereit, um Webdaten zum Indexieren und Abfragen zu laden. Firecrawl ist zudem als integriertes Tool zum Website-Crawling im Framework von CrewAI verfügbar und unterstützt viele weitere Plattformen wie Flowise, Dify und CAMEL-AI — breite Kompatibilität inklusive.
Preise und Nutzungslimits
Firecrawl bietet je nach Einsatz verschiedene Tarife für unterschiedliche Anforderungen. Schau sicherheitshalber auf der offiziellen Preisseite von Firecrawl nach, falls sich etwas ändert.
- Free: Beinhaltet eine begrenzte Anzahl an Credits — ideal zum Testen und für kleine Projekte.
- Hobby: Mehr Credits für Einzelpersonen oder kleine Teams zu geringen Kosten.
- Standard, Growth, Enterprise: Steigende Credits, höhere Rate-Limits und erweiterte Features wie individuelle Requests pro Minute (RPM).
Das Creditsystem funktioniert wie folgt:
|
Plan |
Credits |
Features |
Geeignet für |
|
Free |
Begrenzt |
Basis-Scraping, Tests |
Einsteiger, kleine Projekte |
|
Hobby |
Moderat |
Mehr Credits, Standardfunktionen |
Einzelentwickler |
|
Standard |
Hoch |
Höhere Rate-Limits, erweiterte Features |
Wachsende Teams |
|
Growth |
Sehr hoch |
Skalierbar, individuelle Optionen |
Große Projekte |
|
Enterprise |
Unbegrenzt |
Individuelle RPM, dedizierter Support |
Hohes Volumen, Enterprise-Einsatz |
Fazit
Firecrawl ist ein Gamechanger für die Webdaten-Extraktion — besonders für KI-Anwendungen. Indem Websites in saubere, strukturierte, LLM-taugliche Daten verwandelt werden, können Developer deutlich schneller und smarter bauen. Benutzerfreundlichkeit, Funktionsvielfalt und breite Integrationen machen Firecrawl zur ersten Wahl — von Preisbeobachtung bis RAG-Workflows.
Probier am besten die Free-Stufe aus und teste die Möglichkeiten. Bleib über GitHub und Discord von Firecrawl mit der Community in Kontakt — für Updates, Tipps und Support.
Mit Firecrawl werden Webdaten vom Hindernis zum Rohstoff für deine KI-Innovationen.
Als nächsten Schritt empfehle ich dir diese Angebote:
Ich arbeite an beschleunigten KI-Systemen, die Edge Intelligence mit föderierten ML-Pipelines auf dezentralen Daten und verteilten Workloads ermöglichen. Meine Arbeit konzentriert sich auf große Modelle, Sprachverarbeitung, Computer Vision, Reinforcement Learning und fortgeschrittene ML-Topologien.
FAQs
Warum erhalte ich einen Timeout-Fehler?
Prüfe zuerst, ob du deinen API-Schlüssel korrekt verwendest, und debugge dann, ob die Website die zu scrapenden Bereiche korrekt findet.
Verwendet Firecrawl nur KI-gestützte Suche?
Nein. Du kannst unterschiedliche Sucharten nutzen, etwa selektorbasiert oder LLM-basiert.
Kann Firecrawl Websites mit viel JavaScript verarbeiten?
Ja. Firecrawl ist auch für dynamische Websites optimiert.
Wann sollte ich ein klassisches Tool wie BeautifulSoup statt FireCrawl verwenden?
BeautifulSoup läuft lokal, ist kostenlos und eignet sich für einfaches HTML-Scraping.
Kann ich Firecrawl kostenlos testen?
Ja. Als Tester hast du ein begrenztes Kontingent an Requests pro Minute.

