Попросить LLM-агента типа Claude Code "сходи в интернет и собери мне данные" - это как играть в казино. Иногда везет, и ты получаешь то что искал. А иногда сжигаешь половину дневного лимита на двух сайтах, упираешься в антибот защиту и в итоге получаешь кашу из тегов вперемешку с куском нужного контента.

Любой, кто пробовал натравить LLM-агента на сайт, знает это чувство: даешь простую задачу - собери данные с такой-то страницы. Агент бодро рапортует, что работа кипит. Проходит минута, две, он пошел по соседним ссылкам, начал сам что-то искать, что-то быстро перебирает, и в итоге половину сайтов он не смог открыть, половина второй половины - это мусор и только крупица нужной информации.

В этой статье я предложу вам один способ, которым пользуюсь сам и который хорошо (почти всегда) решает эту проблему.

Типо ClaudeCode который пробирается через тонны мусора и частичка успешных данных.
Типо ClaudeCode который пробирается через тонны мусора и частичка успешных данных.

Что именно ломается

Claude Code отлично работает с кодом, файлами, терминалом - это его стихия, за это мы все его любим. Встроенный веб-поиск тоже работает, НО в основном только для простых статичных страниц. Стоит зайти на что-то с динамическим контентом, пагинацией или антибот защитой - тут его полномочия все.

У большинства крупных компаний: Ozon, Amazon, SimilarWeb, LinkedIn - у них у всех серьезная защита, потому что данные ценные, данные новая нефть (они не то что бота, они иногда живого человека через три капчи пропускают).

Поэтому агент в такой ситуации чаще всего получает либо пустую страницу, либо получает все-все содержимое вместе с мусором - оба варианта бесполезны и болезненны.

Стандартные подходы и их цена

Какие есть решения:

  • curl + ручной парсинг. Технически работает, а практически - тонны тегов, атрибутов, инлайн-стилей. Все это надо чистить перед отправкой в модель. Токены сгорают и нужный контент теряется в шуме. Для JS-тяжелых страниц вообще не вариант - curl не исполняет JavaScript и мы не получим никаких данных.

  • Playwright / Puppeteer. Серьезный подход, почти хакерский: headless браузер, ждем загрузку JS, вытаскиваем нужное - работает. Но это отдельный скрипт под каждый сайт. При таком сценарии агент тут уже не помощник, а просто среда выполнения. Если мы пишем на Playwright - нам агент-то вообще зачем?

  • ScraperAPI, Apify и аналоги. Полноценные платформы: прокси-пулы, обход защит, structured output. Но это отдельный стек, отдельная интеграция, и от $99/мес за нормальный план. Для промышленного скрапинга это ок и то что доктор прописал. А чтобы чисто агент просто нормально открывал сайты, очевидно, избыточно.

Прослойка между агентом и вебом

Концептуально задача простая: нужна штука, которая берет URL, открывает страницу как настоящий браузер (с JS, с обходом защит), выкидывает все лишнее и отдает агенту чистый текст: markdown или JSON - что-то, с чем модель может нормально работать, экономя нам денежки на парсинге мусора.

Один из инструментов, который делает именно это - Firecrawl. Его мы и рассмотрим сегодня и его помощь в работе с Claude Code. Проект позиционируется как "The Web Data API for AI", и по существу это довольно точное описание. Он не единственный в своей нише (есть Jina Reader, есть r.jina.ai), но сейчас это один из наиболее зрелых и хайповых.

Стильный логотип
Стильный логотип

Что внутри

Принцип: даешь URL → получаешь чистый Markdown или структурированный JSON. Между "даешь" и "получаешь" Firecrawl рендерит JavaScript, обрабатывает динамический контент и чистит разметку от шума.

Проект активный и популярный - больше 110,000 звезд на гитхабе, что делает его крупнейшим опенсорс-репой в своей нише. Есть платная версия и Open Source. В чем разница?

Платная (firecrawl.dev):

  • Free: 500 кредитов разово (не в месяц), 2 параллельных запроса - это примерно 500 страниц. Чисто попробовать и понять а нужно ли оно.

  • Hobby: $16/мес (годовой биллинг) - 3 000 кредитов/мес, 5 параллельных запросов.

  • Standard: $83/мес (годовой биллинг) - 100 000 кредитов/мес, 50 параллельных запросов.

  • Growth: $333/мес - 500 000 кредитов для серьезных нагрузок и больших проектов.

  • Проприетарный обходчик антибот-защиты. Для меня это главное.

  • Agent-режим с моделями Spark 1 Mini/Pro, Interact для кликов и форм.

Open Source (github.com/firecrawl/firecrawl, лицензия AGPL-3.0):

  • Docker, бесплатно

  • Нет "fire engine" - это закрытая технология, поэтому antibot тут работать не будет.

  • Нет Agent и Interact

  • Для сайтов без агрессивной защиты (документация, блоги, новости) - рабочий вариант

  • AGPL-3.0 - если собираетесь в коммерческий продукт, внимательно читайте лицензию.

Для скрапинга сайтов с агрессивными anti-bot защитой - только платная версия. Self-hosted вариант на защищенных сайтах не работает, потому что обходчик защиты - проприетарный.

Чуть подробнее про кредиты, тут не все очевидно. Кредит это не "одна страница". У разных операций (о них подробнее ниже) разная цена:

  • Scrape одной страницы - 1 кредит.

  • Crawl - 2 кредита за страницу.

  • Extract (структурированное извлечение через LLM) - 5 кредитов за страницу.

  • Agent - сильно больше, в зависимости от сложности задачи.

То есть если вы взяли Hobby за $16 с "3000 кредитов" в надежде скрапить 3000 страниц с извлечением, то реально вытащите 600. Типичный пайплайн "обойти сайт и извлечь структурированные данные"- это 2 + 5 = 7 кредитов на страницу. 500 страниц съедят почти весь месячный лимит Hobby - даже для хобби маловато.

Как подключить к Claude Code

Три способа по порядку удобства: плагин → MCP-сервер → CLI.

Плагин Claude Code (проще всего)

Firecrawl имеет официальный плагин для Claude Code. Это та же MCP-интеграция, но без ручной возни с конфигами:

/plugin install firecrawl@claude-plugins-official

Потом перезапустить Claude Code и настроить ключ:

/firecrawl:setup

Дальше появляются нативные slash-команды: /firecrawl:scrape, /firecrawl:crawl, /firecrawl:search, /firecrawl:map.

MCP-сервер (если хочется контроля)

Если плагин по какой-то причине не подходит - можно подключить MCP вручную. Просто попросите Claude:

Hey Claude, I want to connect to Firecrawl's MCP server.
Use command from docs.firecrawl.dev/mcp.
My API key is in .env

Клод настроит конфиг сам.

CLI + Skills

npx skills add firecrawl/cli
firecrawl login

При установке спросит: глобально или для проекта, для какого агента - выбираем Claude Code.

Два файла, которые стоит создать

.env — API-ключ:

FIRECRAWL_API_KEY=fc-ваш_ключ

CLAUDE.md - системный промпт проекта (можно опять же попросить Claude самому это добавить):

# Проект для сбора данных из веба

Для работы с сайтами используй Firecrawl MCP сервер.
Инструкции по инструментам — в firecrawl-cheatsheet.md

firecrawl-cheatsheet.md - опционально, но заметно улучшает качество решений. Подробнее ниже.

Восемь режимов работы

Режимы работы

Режим

Суть

Когда нужен

Scrape

Одна страница → Markdown/JSON

Конкретный URL

Batch Scrape

Пачка URL параллельно

Есть список страниц

Crawl

Обход сайта по ссылкам

Нужен весь сайт или раздел

Search

Поиск + скрапинг результатов

Найти и получить контент за один запрос

Map

Карта URL сайта

Разведка перед crawl

Extract

Данные в JSON по схеме

Цены, вакансии, контакты

Agent

Сам выбирает инструмент

Сложная задача, неясно с чего начать

Interact

Chromium, клики, действия

Пагинация, "Загрузить ещё", формы

Для большинства задач хватает Scrape + Extract. Agent - самый мощный и самый дорогой по кредитам инструмент. Interact используем для случаев когда обычный Scrape проигрывает сайту и не может победить динамику.

Три сценария

Дайджест новостей

Найди топ-5 новостей об ИИ за последние 24 часа.
Для каждой: заголовок, источник, 2-3 предложения пересказа, ссылка.
Сохрани в ai-news-date.md

Claude через Firecrawl Search находит новости, скрапит каждую страницу, суммаризирует. Ключевое - "сохрани в файл". Если попросить вывести в чат, контекст забьется на третьей новости.

Встроенный веб-поиск тут выдал бы заголовки без контента или завис на защищенных изданиях. Разница в том, что у Firecrawl получается открывать страницы и вытаскивать данные, тогда как дефолтный поиск у Claude Code пасует в этих задачах.

Парсинг вакансий

Зайди на hh.ru, собери 50 вакансий Python-разработчика в Москве.
Для каждой: позиция, компания, зарплата (если есть), ссылка.
Оформи в CSV → jobs.csv

Interact сам пройдет пагинацию - нажмет "следующая страница" сколько нужно. Сейчас это примерно 5-10 минут ожидания.

Если Extract вернул пустоту - попросите Claude переключиться на Agent. Дороже по кредитам, но капризные страницы обычно побеждает.

Анализ конкурента

Скрапни competitor.com. Сначала карту разделов.
Потом для главной, /pricing и /features — резюме:
что продают, для кого, основные тезисы.
Сохрани в competitor-analysis.md

Map покажет структуру, Scrape вытащит страницы. Дальше Claude сам разберется (наверное). Через обычный браузерный запрос многие аналитические сайты ботов не пускают - через Firecrawl все получится.

Паттерны, которые сэкономят (и не только нервы)

Всегда сохраняйте в файл, не в чат. Если скрапите больше 2-3 страниц, то пусть Claude пишет результаты в .md файлы. Потом он сам читает нужные фрагменты и контекстное окно живет дольше, ответы точнее, нет эффекта "забыл начало разговора".

firecrawl-cheatsheet.md - создайте и не пожалеете. Простая таблица "задача → инструмент":

## Когда какой инструмент Firecrawl использовать

- Одна страница, статика → scrape
- Несколько страниц по известным URL → scrape каждую
- Неизвестная структура сайта → map, потом crawl нужных разделов
- Нужны данные в JSON (цены, товары) → extract
- Пагинация, кнопки "Загрузить ещё" → interact
- Сложная задача, непонятно с чего начать → agent
- extract вернул пустоту → попробовать agent

Добавьте ссылку на файл в CLAUDE.md. Клод будет читать его перед принятием решений, из-за чего заметно растет качество .

Используйте JSON-формат вместо markdown, когда нужны конкретные поля. Markdown льет в контекст всю страницу, а Extract с JSON-схемой вытащит только нужное, что сэкономит и кредиты, и токены.

Agent как fallback. Если Scrape или Extract не справились - не копайтесь в причинах, скажите Claude попробовать через Agent - это режим "разберись сам". Медленнее, дороже, но обычно вытаскивает все что мы попросили.

А что с альтернативами?

Firecrawl, как я говорил в самом начале, не единственный инструмент в нише. Вот короткий ориентир, когда имеет смысл смотреть в другую сторону:

  • Jina Reader (r.jina.ai) - дешевле и проще. Просто префиксите URL и получаете Markdown. Он хуже с защищенными сайтами и нет Agent-режима, но для блогов и документации часто хватает.

  • Crawl4AI - полностью открытая библиотека, Python-first: хорош для тех, кто готов писать код и держать инфраструктуру.

  • ScraperAPI, Apify - промышленный скрапинг с прокси и антибот-инфрой. Дороже, сложнее, но для регулярного большого объема данных он лучше.

Firecrawl хорош тем, что попадает в золотую середину: минимальная настройка + нативная MCP-интеграция + рабочий обходчик защит. Именно поэтому он так зашел в экосистеме AI-агентов.

Минусы и ограничения

  • 500 бесплатных кредитов - это разовая акция. К сожалению. Это примерно 500 страниц - попробовать хватит, для регулярной работы конечно нет. Чисто подсадить на иглу.

  • 2 параллельных запроса на бесплатном плане. Большой сайт будет обрабатываться медленно

  • Self-hosted без главного козыря. "Fire engine" - проприетарная технология. Без нее защищённые сайты не работают. Если берете опенсорс учитывайте это

  • Agent и Browser Interact - тоже только платная версия. Это уже не так больно, но все равно хотелось бы.

  • Расход кредитов неравномерный. Scrape- ~1 кредит/страница. Agent сильно больше в зависимости от сложности. Следите за балансом

  • Это не единственный инструмент. Jina Reader, Crawl4AI, другие решения существуют: Firecrawl не серебряная пуля, это один из вариантов, который сейчас работает достаточно хорошо.

  • AGPL-3.0 у open-source версии. Для встраивания в проприетарный продукт читайте условия внимательно.

  • Даже на платной версии, и даже в режиме Agent - все равно нет гарантии 100% результата.

Итог

Проблема "агент не умеет в веб" реальная и никуда не денется, пока сайты динамические, а модели работают с текстом. Поэтому нужна прослойка, которая конвертирует одно в другое.

Firecrawl - это один из рабочих вариантов такой прослойки: не единственный и не идеальный. Но если вы используете Claude Code и хоть иногда просите его что-то найти или собрать из веба - 15 минут на настройку Firecrawl (или аналога) окупятся быстро (особенно если open source заюзаете). А бесплатного плана хватит, чтобы понять, нужно ли вам это вообще.

Ссылки

Надеюсь тебе понравилось. Лучшая благодарность - это твоя подписка на мой Telegram-канал ?

Комментарии (3)


  1. Litlpip
    22.04.2026 05:12

    А как же chrome mcp?


  1. lazarus_net
    22.04.2026 05:12

    они не то что бота, они иногда живого человека через три капчи пропускают

    Порадовало, хотя когда натыкаешься - плакать хочется

    Как по поводу lifehack: для промышленных объемов не пойдет но в домашних условиях можно пользоваться: Firefox + markdown plugin ( позволяет экспортировать страницу в md) + autoit скрипт для автоматизации кликанья тут и там.

    Причём скрипт вам АИ и напишет. Думаю даже можно движение мыши эмулировать в стиле пользователя.

    Масштабировать сложно, зато «дёшево, надежно и практично».

    дисклеймер: сам сайты не парсю , просто идея в голову пришла, может кому пригодится


  1. qrotux
    22.04.2026 05:12

    Есть такая канистра: flaresolverr. Работает поверх headless chromium, довольно успешно обходит CF и DDG, крутится в отдельном контейнере, её выхлоп пропускаем через markdownify и получаем свою маленькую jina. При необходимости можно докупить проксей, поддержка есть.