Firecrawl: как дать Claude, Codex и LLM-агенту поиск, scraping и чистый Markdown из сайтов
LLM плохо работает с «сырым интернетом»: HTML переполнен меню, рекламой, script-тегами, dynamic content и повторяющимися блоками. Firecrawl превращает сайт в данные, удобные именно для AI: Markdown, structured JSON, links, screenshots и другие форматы. Agent может искать страницы, обходить сайт, извлекать нужные поля и получать результат через API, CLI или MCP.
Firecrawl не «ходит по сайту вместо человека» — он превращает web в данные
Главная задача Firecrawl — получить из web-источника чистое содержимое в форме, которую удобно передать модели. Для обычного article это Markdown; для catalog — JSON по schema; для большого сайта — crawl/map; для свежей информации — search.
Navigation, layout noise и повторяющиеся элементы не должны съедать context window.
При необходимости использует browser/Playwright path, а не только обычный HTTP fetch.
Crawl автоматически обходит связанные страницы в заданных пределах.
Можно получить не только текст, но и JSON по заданной schema.
Firecrawl и Browser Use решают разные web-задачи
Один URL → чистый Markdown
Python SDK
pip install firecrawl-py==4.42.0
from firecrawl import Firecrawl
firecrawl = Firecrawl(
api_key="fc-YOUR-API-KEY"
)
doc = firecrawl.scrape(
"https://example.com"
)
print(doc.markdown)
REST API
curl -X POST https://api.firecrawl.dev/v2/scrape \
-H "Authorization: Bearer fc-YOUR-API-KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"formats": ["markdown"]
}'
Для production и predictable quota всё равно разумнее использовать собственный API key.
Map сначала находит URL, Crawl затем собирает содержимое
Подходит, чтобы понять количество URL и выбрать только нужные разделы.
Собирает content для knowledge base, analysis или dataset.
job = firecrawl.crawl(
"https://docs.example.com",
limit=100
)
Для больших сайтов полезно ограничивать paths, depth и page count. Это одновременно уменьшает стоимость, время и риск случайно собрать нерелевантные разделы.
Не нужно сразу обходить тысячи страниц, если agent реально работает только с одним product/docs разделом.
Search может сразу найти страницы и вернуть содержимое результатов
result = firecrawl.search(
"latest local LLM inference tools",
limit=10
)
Firecrawl CLI также поддерживает time filters, country/location, web/news/images и специализированные categories вроде GitHub/developer/research.
firecrawl search "AI agent security" \
--tbs qdr:w \
--scrape \
--scrape-formats markdown
Agent получает не только заголовок и две строки выдачи, а полный очищенный source material.
Structured extraction превращает страницу в JSON по вашей schema
{
"url": "https://example.com/product",
"formats": [
{
"type": "json",
"schema": {
"type": "object",
"properties": {
"name": {"type": "string"},
"price": {"type": "number"},
"in_stock": {"type": "boolean"}
}
}
}
]
}
В v2.11 появилась также deterministicJson: Firecrawl создаёт reusable extractor по schema и кеширует его для сайта, чтобы повторные извлечения были более последовательными и не требовали LLM на каждый request.
Когда agent должен сам интерпретировать текст.
Структурированное извлечение через schema.
Более predictable extraction без LLM-call на каждый scrape.
Parse умеет принимать документы и возвращать LLM-ready content
В current v2-линии /parse поддерживает локальные файлы,
включая PDF, DOCX, DOC, ODT, RTF, XLSX, XLS и HTML.
Для documents можно получать Markdown, JSON или summary.
Подготовка документов для анализа и ingestion.
Удобно для внутренних инструкций и reports.
Извлечение структурированных данных из spreadsheet.
Можно обрабатывать не только публичные URL.
Firecrawl CLI ставит skills для Claude Code, Codex, Cursor и других agents
Последний tagged CLI release — v1.23.3 от 27 августа 2026 года. CLI ставится отдельно и умеет search, scrape, crawl, map, interaction, research и agent jobs.
npm install -g firecrawl-cli
npx -y firecrawl-cli@latest init -y --browser
Setup умеет автоматически устанавливать skills в поддерживаемые harness: Claude Code, Codex, Cursor, Windsurf, OpenCode, OpenClaw, OpenHands и Hermes Agent.
firecrawl init --agent codex
firecrawl setup skills --agent codex
firecrawl init --agent claude-code
firecrawl setup skills --agent claude-code
Документация сообщает, что CLI собирает anonymous usage data
вроде версии CLI/OS/Node и обнаруженных dev tools, но не command data, URLs или file contents.
Для отключения: FIRECRAWL_NO_TELEMETRY=1.
Official Firecrawl MCP даёт agent search, scrape, parse и другие web tools
Самый простой вариант — hosted MCP endpoint. Можно подключиться keyless, через browser sign-in или API key.
{
"mcpServers": {
"firecrawl": {
"type": "http",
"url": "https://mcp.firecrawl.dev/v2/mcp",
"headers": {
"Authorization": "Bearer <FIRECRAWL_API_KEY>"
}
}
}
}
Для OAuth/browser sign-in используется отдельный endpoint
https://mcp.firecrawl.dev/v2/mcp-oauth.
Не полагаться на training cutoff.
Получить Markdown или structured content.
PDF/DOCX и другие input formats.
Когда обычного scrape недостаточно.
Firecrawl docs рекомендуют передавать ключ через Authorization header, environment variable или secret storage клиента.
Firecrawl можно поднять на своём сервере, но production setup уже не «один container»
git clone https://github.com/firecrawl/firecrawl.git
cd firecrawl
docker compose up
Current Compose stack включает API/workers, Playwright, Redis, RabbitMQ, NuQ PostgreSQL и optional FoundationDB queue backend. На host по умолчанию публикуется API port 3002.
Принимает scrape/crawl/search requests.
Выполняют scraping и processing.
Для dynamic content и сложных страниц.
Нужны для async jobs и orchestration.
Официальный SELF_HOST.md прямо предупреждает: default API unauthenticated; перед выходом из trusted network нужны полноценная auth-схема, TLS и network policy. Также root Compose не создаёт persistent volumes для NuQ PostgreSQL, Redis и RabbitMQ.
Нужно отдельно подключить OpenAI, OpenAI-compatible endpoint или Ollama, если конкретная feature требует model provider.
v2.11 добавил автоматическую redaction до возврата документа
Опция redactPII умеет удалять/маскировать персональные и чувствительные данные:
имена, email, телефоны, адреса и secrets до того,
как scraped content попадёт дальше в agent pipeline.
{
"url": "https://example.com",
"formats": ["markdown"],
"redactPII": true
}
Может содержать email, phone, customer names, tokens или другие sensitive strings.
Снижает риск передать PII следующей облачной модели или сохранить в traces.
Если источник содержит секретные внутренние данные, сначала решите, вообще можно ли отправлять их в hosted scraping/LLM pipeline.
Firecrawl нужно рассматривать как сервис, который по запросу ходит во внешнюю сеть
Иначе любой доступный клиент сможет заставлять server fetch произвольные URL.
Scraper не должен становиться мостом к metadata/internal services.
SSRF часто обходится через разрешённый внешний URL, который редиректит внутрь сети.
Не коммитить FIRECRAWL_API_KEY в MCP JSON или repository.
Postgres, Redis, RabbitMQ и worker internals должны оставаться private.
Проект активно обновляет Playwright/API/SDK dependencies.
CVE-2026-32857: redirect-based SSRF bypass
GitHub Advisory Database описывает high-severity проблему в Firecrawl 2.8.0 и более ранних версиях: URL проверялся до перехода, но redirect destination мог не пройти повторную network-policy validation. В результате внешний URL мог перенаправить browser к internal/restricted resource.
Текущий tagged core release — 2.11.0, а main дополнительно получает security dependency updates. Для self-host лучше фиксировать точный актуальный tag и следить за advisories/patches.
Firecrawl полезен как data layer, но не делает web «идеально структурированным»
Anti-bot, login, captcha и нестандартный JS всё ещё усложняют доступ.
Большой сайт легко превращается в тысячи requests/pages.
Schema не гарантирует, что источник содержит однозначный правильный ответ.
URL и scraped content проходят через внешнюю инфраструктуру Firecrawl.
Queues, browser workers, storage, updates и network security становятся вашей задачей.
Проект прямо возлагает на пользователя ответственность за policies/privacy/terms и по умолчанию уважает robots.txt.
Он особенно полезен, когда нужно регулярно получать данные, обходить много URL, превращать web в структуру или давать web tools AI-agent.
Где Firecrawl действительно полезен
Search → scrape sources → summary with citations.
Crawl docs-сайта и сохранение clean Markdown.
Извлечение одинаковых JSON-полей с нескольких сайтов.
Map сайта, titles/content и массовый анализ страниц.
Agent сам решает, когда искать или читать web-source.
Parse PDF/DOCX/XLSX перед дальнейшим LLM-анализом.
Firecrawl: releases, API, MCP, CLI, self-host и security
Latest tagged core — v2.11.0 от 19 июня 2026 года.
Python SDK — 4.42.0 от 8 сентября.
Latest tagged CLI — v1.23.3 от 27 августа.
Firecrawl нужен тогда, когда web должен стать нормальным input для AI-системы
Если Browser Use отвечает на вопрос «как дать агенту браузер и действия», Firecrawl отвечает на другой: «как массово и предсказуемо превратить web в данные». Поэтому эти инструменты не конкуренты — они закрывают разные уровни web automation.
Для coding-agent особенно полезны CLI Skills и MCP: Claude/Codex может сначала найти свежий source, затем scrape содержимое, а уже после этого делать вывод или менять код.
Частые вопросы про Firecrawl
Что такое Firecrawl простыми словами?
Web data API и open-source stack, который ищет, scrape/crawl'ит страницы и превращает их в Markdown, JSON и другие форматы для AI-приложений.
Чем Firecrawl отличается от Browser Use?
Firecrawl ориентирован на получение и структурирование web-данных в масштабе. Browser Use ориентирован на autonomous browser interaction и действия как пользователь.
Можно ли подключить Firecrawl к Claude Code или Codex?
Да. Есть official MCP и отдельный CLI с skills для Claude Code, Codex, Cursor и других agents.
Можно ли self-host?
Да. Core доступен под AGPL-3.0 и имеет Docker Compose/Kubernetes starting points. Но default self-host baseline требует дополнительной auth, TLS, persistence и network hardening для production.
Работает ли с PDF?
Да. Parse поддерживает PDF и ряд офисных форматов, а scrape/crawl также умеют работать с PDF в web-сценариях.
Можно ли получить JSON вместо Markdown?
Да. Поддерживаются structured JSON и deterministicJson для повторяемых extraction-сценариев.
Firecrawl полностью MIT?
Нет. Core repository в основном AGPL-3.0; SDK и некоторые отдельные компоненты имеют MIT-лицензии.
Безопасно ли открыть self-hosted Firecrawl в интернет?
Не в default configuration. Официальный SELF_HOST.md прямо говорит, что baseline API unauthenticated; нужны auth, TLS и network policy.
Какая версия актуальна?
На 21 сентября 2026 года latest tagged core release — Firecrawl v2.11.0; Python SDK — 4.42.0.
Нужно дать локальному или облачному агенту нормальный доступ к web без ручной обработки HTML?
Можно построить схему Search → Scrape/Crawl → Markdown/JSON → LLM, а для Claude/Codex подключить Firecrawl через MCP или готовые skills.
