Один HTTP-запрос к ZenRows — и страница любого сайта возвращается в формате Markdown, готовая для подачи в языковую модель. Без прокси-ферм, без браузеров на сервере, без борьбы с Cloudflare.
Что это
ZenRows — сервис для сбора веб-данных. Universal Scraper API — главный продукт: HTTP-эндпоинт, принимающий URL и возвращающий содержимое страницы. JavaScript-рендеринг, обход антибот-защит, резидентные прокси, конвертация в Markdown — в одном запросе.
Антибот-система — защита, распознающая автоматические запросы. Cloudflare, DataDome, PerimeterX — наиболее частые. Они ломают самописные скраперы: запрос уходит, но обратно приходит капча или пустой ответ.
ZenRows берёт это на себя: 55 миллионов резидентных IP с ротацией, подмена отпечатков браузера, эмуляция человеческого поведения. От разработчика — только URL.
Один API-ключ, один общий баланс на все продукты. Прокси, браузер и скрапер не покупаются отдельно.
Зачем нужно
- Снимать контент с сайтов под антибот-защитой — без ручной настройки прокси и эмуляции браузера
- Питать языковые модели и агентов свежими веб-данными через Markdown — без разбора HTML
- Рендерить JavaScript-сайты на React, Vue и Angular — контент грузится полностью, как в браузере
- Делать скриншоты: первый экран, вся страница или отдельный элемент
- Работать через MCP-сервер — агент сам выбирает, когда и что читать
Как устроено
В платформу входят четыре продукта. Universal Scraper API — центральный, остальные работают с того же баланса.
| Продукт | Для чего |
|---|---|
| Universal Scraper API | HTTP-запрос к любой странице: JS-рендеринг, обход антиботов, скриншоты, PDF, Markdown, извлечение данных |
| Scraping Browser | Облачный браузер по WebSocket для Playwright, Puppeteer и CDP — когда нужен полноценный сценарий в живой сессии |
| Residential Proxies | Более 55 млн резидентных IP в 190+ странах, заявленный uptime 99,9%, sticky-сессии и таргетинг по стране |
| Отраслевые Scraper API | Готовые парсеры под конкретные площадки: Amazon, Google, Walmart, Zillow, Idealista |
Universal Scraper API работает по кредитной системе: успешный запрос стоит от 1 до 25 кредитов в зависимости от сложности. Обычный — 1 кредит, с JS-рендерингом — 5, с премиум-прокси — 10, защищённый (рендеринг + премиум-прокси) — 25. Неудачные попытки не списываются.
Возможности Universal Scraper API
| Возможность | Описание |
|---|---|
| Адаптивный режим (mode=auto) | ZenRows выбирает конфигурацию автоматически: стартует с дешёвого запроса, подключает JS-рендеринг или премиум-прокси лишь при необходимости. Списывается только успешная попытка |
| JavaScript-рендеринг | Страницы на React, Vue и Angular грузятся целиком. Доступны: ожидание селектора, прокрутка, клики, заполнение форм через js_instructions |
| Обход антибот-защит | Cloudflare, DataDome, PerimeterX, подмена отпечатков и ротация заголовков — автоматически, без настройки |
| Форматы вывода | HTML, Markdown, plain text, PDF, JSON. Markdown и JSON готовы для подачи в LLM — разбор HTML не требуется |
| Извлечение данных | CSS-селекторы через css_extractor, автопарсинг типовых страниц через autoparse, фильтр outputs, автоматическое структурирование extract=auto (закрытая бета) |
| Скриншоты | Скриншот первого экрана, всей страницы или отдельного элемента. Форматы — PNG или JPEG, качество настраивается |
| Геолокация | Выход через резидентные прокси 190+ стран — для регионального контента и локальных цен |
| Сессии | Параметр session_id фиксирует IP на срок до 10 минут — для авторизации, корзины, пагинации |
| Перехват запросов | Параметр json_response отдаёт сетевые вызовы страницы, включая XHR и fetch. Часто проще взять данные из внутреннего API сайта напрямую |
Когда использовать
| Ситуация | Подходит / не подходит | Почему |
|---|---|---|
| Нужно собрать данные с сайта под Cloudflare | Подходит | Антибот-обход встроен, ручная настройка не требуется |
| Языковая модель должна читать живые страницы | Подходит | Формат Markdown готов для подачи в LLM без разбора HTML |
| ИИ-агенту нужен доступ к вебу через MCP | Подходит | Официальный MCP-сервер, инструменты scrape и browser_* |
| Редкий разовый парсинг одной страницы | Не подходит | Минимальный план $19/месяц, для разовой задачи дорого |
| Все целевые сайты под антибот-защитой | Ограниченно | Баланс расходуется быстро: 25 кредитов за защищённый запрос |
Пример
Минимальный запрос — URL и API-ключ:
curl -G "https://api.zenrows.com/v1/" \
--data-urlencode "url=https://www.example.com/" \
--data-urlencode "apikey=$ZENROWS_API_KEY"
Адаптивный режим с Markdown для подачи в языковую модель:
import os
import requests
params = {
"url": "https://www.example.com/",
"apikey": os.environ["ZENROWS_API_KEY"],
"mode": "auto", # ZenRows сам решит, нужен ли JS-рендеринг и премиум-прокси
"response_type": "markdown", # готовый текст для подачи в LLM
"proxy_country": "us", # опционально: страна выходного IP
}
response = requests.get("https://api.zenrows.com/v1/", params=params, timeout=120)
response.raise_for_status()
print(response.text[:500])
Эндпоинт — https://api.zenrows.com/v1/, ключ передаётся параметром apikey. Успех — код 200 и непустое тело с содержимым страницы.
При ошибке параметр original_status=true возвращает исходный код ответа целевого сайта — так видно, блокировка это или проблема страницы. Параметр allowed_status_codes отдаёт тело даже при ошибке. Баланс и статистика — на странице Analytics в личном кабинете.
API-ключ — только в переменной окружения. Не в репозитории, не в клиентском коде.
Подключение к ИИ-агентам через MCP
MCP (Model Context Protocol) — открытый протокол для подключения ИИ-ассистентов к внешним инструментам. MCP-сервер ZenRows открывает агенту доступ к живому вебу: модель сама выбирает, какую страницу загрузить и в каком формате.
MCP-сервер бесплатный. Оплата идёт только за вызовы инструментов по тарифам продуктов ZenRows. Доступно два транспорта:
| Вариант | Транспорт | Авторизация |
|---|---|---|
| Удалённый сервер https://mcp.zenrows.com/mcp | Streamable HTTP | Заголовок Authorization: Bearer * |
| Локальный сервер @zenrows/mcp | STDIO (локальный процесс через npx) | Переменная окружения ZENROWS_API_KEY |
Настройка для десктопных клиентов — Claude Desktop, Cursor, VS Code, Windsurf, Zed, JetBrains:
{
"mcpServers": {
"zenrows": {
"command": "npx",
"args": ["-y", "@zenrows/mcp"],
"env": {
"ZENROWS_API_KEY": "YOUR_ZENROWS_API_KEY"
}
}
}
}
Доступны два семейства инструментов:
- scrape — единичный запрос страницы через Universal Scraper API. Формат по умолчанию — Markdown, также доступны текст, HTML, JSON, PDF и скриншот
- browser_* — дистанционное управление Scraping Browser через облачную сессию: переходы по страницам, клики, ввод данных, прокрутка, ожидание элементов, запуск JavaScript, доступ к cookies, localStorage и вкладкам. Сессия открывается вызовом browser_navigate (фиксирует session_id) и завершается browser_close
Для исследовательских задач обычно хватает scrape. browser_* требуется, когда контент недоступен без входа в аккаунт или серии кликов по интерфейсу — и стоит дороже.
Интеграции без кода
| Категория | Инструменты |
|---|---|
| Автоматизация | n8n, Make, Zapier, Pipedream |
| ИИ-фреймворки | LangChain, LlamaIndex, Flowise |
| Обогащение данных | Clay |
| Скрапинг | Scrapy |
Официальные SDK — для Python, Node.js и Go. REST API совместим с любым языком, поддерживающим HTTP-запросы.
Типичные сценарии
| Задача | Пример |
|---|---|
| ИИ и RAG | Питание языковых моделей и агентов свежими веб-данными |
| Агент с доступом к вебу | MCP-интеграция в редакторе или ассистенте: модель читает живые страницы вместо пересказа обучающих данных |
| Мониторинг цен | Слежение за ценами конкурентов в e-commerce |
| Лидогенерация | Сбор контактов, наполнение CRM |
| Анализ отзывов | Сбор отзывов с множества площадок |
| Маркетинговая разведка | Отслеживание запусков и трендов |
RAG (Retrieval-Augmented Generation) — схема, в которой языковая модель опирается на внешние источники при формировании ответа. ZenRows подключает к RAG-контуру любой сайт как поставщик актуальных данных.
Тарифы и лимиты
Подписка даёт общий кредитный баланс на все продукты. Списываются только успешные запросы. Коды 404 и 410 засчитываются как успех — запрос отработал корректно и вернул валидные данные.
Цена запроса зависит от конфигурации: обычный — 1 кредит, с JS-рендерингом — 5, с премиум-прокси — 10, защищённый (рендеринг + премиум-прокси) — 25. Стоимость в кредитах фиксирована и не зависит от плана. От плана зависит только месячный объём кредитов.
| План | Цена в месяц | Кредитов в месяц | Параллельных запросов |
|---|---|---|---|
| Free | $0 | 5 000 | 5 |
| Build B1 | $19 | 45 000 | 20 |
| Build B3 | $39 | 120 000 | 20 |
| Launch L1 | $69 | 250 000 | 50 |
| Launch L3 | $129 | 700 000 | 50 |
| Growth G1 | $199 | 1 200 000 | 100 |
| Growth G3 | $399 | 3 000 000 | 100 |
| Scale S1 | $549 | 5 000 000 | 200 |
| Enterprise | по договору | 12,5M+ | от 400 |
При исчерпании лимита доступны дополнительные кредиты — до 4 покупок за платёжный период. Остаток переносится на следующий месяц. При длительной оплате — скидка: 5% за квартал, 7,5% за полгода, 10% за год.
Актуальная сетка и калькулятор — на zenrows.com/pricing.
Ограничения
Ограничения
Технические границы, которые нужно учитывать при выборе ZenRows.
Минимальный вход — $19 в месяц — Модель — подписка, не оплата по факту.
Для разовых задач дорого: Puppeteer или бесплатный тариф с 5 000 кредитов выгоднее.
Баланс расходуется быстро на защищённых сайтах — Защищённый запрос — 25 кредитов, в 25 раз дороже обычного.
Если все целевые сайты под антибот-защитой, бюджет считайте по защищённым запросам, а не по рекламному числу обычных.
Заявленная надёжность выше измеренной — Заявленный success rate — 99,93%.
Независимые замеры Scrapeway за неделю 14–20 февраля 2026 года: 62,9% успеха, среднее время ответа 10,4 секунды — немного выше отраслевого среднего (60,3% и 9,8 секунды). Разброс между площадками значительный: Etsy — 92%, Zillow — 21%. Тестируйте на своих целевых сайтах.
Только публичные данные
— Ответственность за соблюдение правил сайтов и закона о персональных данных лежит на том, кто собирает данные — сервис это только инструмент.
Антипаттерны
Антипаттерны
Неверные ходы при работе с Universal Scraper API.
Включать премиум-прокси на каждом запросе — Без антибот-защиты премиум-прокси расходуют 10 кредитов вместо 1.
Режим mode=auto подключает их только тогда, когда они действительно необходимы.
Парсить HTML вручную для подачи в модель — Параметр response_type=markdown возвращает готовый текст для LLM.
Самостоятельный разбор HTML — лишняя работа, ломающаяся при каждом изменении вёрстки.
Игнорировать таймауты в интерактивных сценариях — На защищённых сайтах среднее время ответа — от 10 секунд.
Без явного timeout запрос зависает, агент простаивает. Минимум — timeout=120.
Хранить API-ключ в коде — Ключ в репозитории — утечка, за которую платит владелец: кредиты может тратить кто угодно.
Только переменная окружения.
Чеклист
Чеклист
Проверка перед запуском сбора данных через ZenRows.
Целевые сайты проверены на антибот-защиту — Тестовый запрос к каждой площадке.
Ответ 200 с контентом — защита не нужна, режим auto сэкономит кредиты.
Бюджет рассчитан по защищённым запросам — Количество защищённых страниц × 25 кредитов = реальный бюджет.
Не рекламное число обычных запросов.
Формат вывода выбран под задачу — Markdown — для LLM, JSON — для структурированных данных, скриншот — для визуальной проверки.
HTML не нужен, если нужен текст.
API-ключ в переменной окружения — ZENROWS_API_KEY в переменной окружения, не в коде.
Репозиторий публикуется без риска утечки.
Таймауты выставлены — timeout=120 — минимум для защищённых сайтов.
Без таймаута зависшие запросы блокируют конвейер.
Ссылки
Ссылки
- Сайт: zenrows.com
- Документация: docs.zenrows.com
- Справочник API: docs.zenrows.com/universal-scraper-api/api-reference
- MCP-сервер: docs.zenrows.com/integrations/mcp/mcp-overview
- Исходный код MCP: github.com/ZenRows/zenrows-mcp
- Тарифы: zenrows.com/pricing