ZenRows Fetch — облачный API для получения данных с обычных, динамических и защищённых веб-страниц. Продукт раньше назывался Universal Scraper API. Он возвращает HTML, Markdown, обычный текст, JSON или скриншот, а работу с браузерным рендерингом, прокси и антибот-защитой выполняет на стороне ZenRows.

📌
Актуальность: материал проверен по официальным источникам ZenRows 10 сентября 2026 года. Названия продуктов, параметры, тарифы и лимиты могут меняться — перед внедрением сверяйтесь с документацией и актуальными тарифами.

Что входит в платформу

В этом материале рассматриваются четыре продукта ZenRows: Fetch, Extract, Batch и Browser Sessions. Они используют единый баланс кредитов.

КомпонентДля чего
FetchПолучение страницы через HTTP API: динамический контент, защищённые сайты, географическая маршрутизация и разные форматы ответа
ExtractИзвлечение структурированного JSON автоматически либо через autoparse и css_extractor
BatchАсинхронная обработка большого списка URL с теми же принципами тарификации, что у Fetch
Browser SessionsОблачный браузер для сценариев с навигацией, кликами, формами, cookies и несколькими вкладками

Доступ возможен через API, SDK (наборы библиотек для разработки), CLI (интерфейс командной строки) и MCP (Model Context Protocol, протокол подключения ИИ к внешним инструментам). Официальные SDK выпускаются для Python, Node.js и Go. Отдельные Residential Proxies в документации отмечены как legacy-возможность, хотя их трафик по-прежнему можно оплачивать из общего баланса.

💡
Антибот-система отличает автоматический запрос от действий человека. Fetch заявляет работу с Cloudflare, DataDome, PerimeterX, Akamai и другими защитными механизмами, но реальный результат зависит от конкретного сайта.

Возможности Fetch

ВозможностьОписание
Адаптивный режим mode=autoAdaptive Stealth Mode автоматически выбирает инфраструктуру для целевой страницы, включая JavaScript-рендеринг и защищённый доступ
Динамические страницыЗагрузка контента современных веб-приложений с браузерным рендерингом
Защищённый доступМаршрутизация через подходящую сеть, управление браузерными отпечатками и повторными попытками
Форматы ответаHTML, Markdown, JSON, скриншот и обычный текст. Markdown и текст удобны для подачи в языковые модели
Извлечение данныхextract=auto, autoparse и css_extractor. Автоматическое извлечение находится в открытой бете и на дату проверки бесплатно; позднее правила оплаты могут измениться
Географический доступПолучение региональных версий страниц через защищённую сеть
СессииСохранение состояния для страниц, где нужны авторизация или последовательные действия
💡
RAG (Retrieval-Augmented Generation, генерация с дополнением из внешних источников) позволяет языковой модели отвечать на основе актуальных документов. Fetch может поставлять в такой контур содержимое веб-страниц.

Подключение по API

Основной адрес API: https://api.zenrows.com/v1/. 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',
    'response_type': 'markdown',
    'proxy_country': 'us',
}

response = requests.get(
    'https://api.zenrows.com/v1/',
    params=params,
    timeout=120,
)
response.raise_for_status()
print(response.text[:500])

Как проверить результат

  1. Сохраните ключ в переменной окружения ZENROWS_API_KEY.
  2. Запустите минимальный запрос к странице, которую разрешено обрабатывать.
  3. Проверьте код ответа и убедитесь, что тело содержит ожидаемые элементы целевой страницы, а не страницу блокировки.
  4. Для диагностики добавьте original_status=true, чтобы увидеть исходный код ответа сайта. Параметр allowed_status_codes позволяет получить тело для явно разрешённых кодов ошибок.
  5. Проверьте расход кредитов и историю вызовов в личном кабинете.
⚠️
Внимание: не помещайте API-ключ в репозиторий, клиентский JavaScript или публичную конфигурацию. Используйте переменную окружения или хранилище секретов.

Подключение ИИ-агентов через MCP

Официальный MCP-сервер предоставляет инструментам ИИ доступ к Fetch, Extract, Batch и Browser Sessions. Отдельной платы за интерфейс MCP нет, но вызовы расходуют кредиты выбранного плана.

ВариантТранспорт и авторизация
Удалённый сервер https://mcp.zenrows.com/mcpStreamable HTTP; OAuth либо API-ключ как Bearer-токен в заголовке Authorization
Локальный пакет @zenrows/mcpSTDIO через npx; требуется Node.js, ключ можно передать в ZENROWS_API_KEY

Конфигурация локального сервера с собственным ключом:

{
  "mcpServers": {
    "zenrows": {
      "command": "npx",
      "args": ["-y", "@zenrows/mcp"],
      "env": {
        "ZENROWS_API_KEY": "YOUR_ZENROWS_API_KEY"
      }
    }
  }
}

Если ключ не задан в ZENROWS_API_KEY и ранее не сохранён в ~/.zenrows/secrets.json, локальный STDIO-сервер по умолчанию автоматически создаёт бесплатную учётную запись через POST /api/agent/signup, сохраняет ключ и метаданные в ~/.zenrows/ (secrets.json и account.json, режим 0600) и выводит ссылку для подтверждения в stderr. Чтобы отключить автоматическую регистрацию, задайте переменную окружения ZENROWS_AUTO_SIGNUP=false. Удалённый MCP-сервер автоматически учётные записи не создаёт: используйте OAuth или существующий API-ключ.

Доступные семейства инструментов:

  • scrape возвращает страницу в Markdown, обычном тексте, HTML, PDF или как скриншот;
  • extract формирует структурированный JSON;
  • batch_create, batch_status, batch_results, batch_cancel и batch_wait управляют асинхронными заданиями Batch, который пока находится в бете;
  • browser_* предоставляет более 30 операций для навигации, кликов, форм, JavaScript, cookies, вкладок и сессий.
💡
Совет: начинайте со scrape или extract. Browser Sessions нужны, когда результат появляется только после взаимодействия со страницей; они дополнительно расходуют кредиты за трафик и время сессии.

Полезные сценарии

Актуальные страницы для RAG

Задача: поддерживать ответы агента на основе меняющихся публичных страниц.

Условие: у вас есть список URL, содержимое которых регулярно обновляется.

Действие: вызывайте Fetch в формате Markdown и передавайте результат в индекс или непосредственно модели. Для большого набора страниц используйте Batch.

Результат: в ответе присутствуют ожидаемый заголовок и свежая дата.

Ограничение: страницы с авторизацией потребуют отдельной браузерной сессии.

Мониторинг цен и условий

Задача: отслеживать цены, наличие или условия на страницах товаров и конкурентов.

Условие: у вас есть URL нужных страниц и список полей, которые нужно контролировать.

Действие: Fetch получает страницу, а Extract выделяет цену, наличие или другие поля в JSON.

Результат: появляется структурированная запись с исходным URL и временем получения.

Ограничение: защита сайтов и стоимость запроса заметно различаются, поэтому перед масштабированием проверьте несколько реальных страниц.

Многошаговая работа в браузере

Задача: получить данные, которые появляются после входа, переключения фильтра или перехода по страницам.

Условие: простой запрос Fetch не возвращает нужный результат.

Действие: откройте Browser Session, выполните навигацию, клики или заполнение формы и заберите итоговое содержимое.

Результат: нужный элемент виден в снимке страницы или возвращённом содержимом.

Ограничение: такой сценарий стоит дороже обычного Fetch и требует внимательно соблюдать правила сайта и требования к персональным данным.


Тарифы и расход кредитов

ZenRows использует кредитную модель. Данные ниже проверены 10 сентября 2026 года по официальной документации.

Стоимость успешного вызова Fetch:

КонфигурацияКредитов
Обычный запрос1
JavaScript-рендеринг5
Premium Proxies10
JavaScript + Premium Proxies25

Неудачные и повторные попытки не списывают кредиты. Ответы 404 и 410 считаются успешными. Browser Sessions расходуют 25 000 кредитов за гигабайт трафика и 5 кредитов за минуту сессии.

УровеньЦена в месяцКредитыПараллельность
Free$05 0005
Build B1–B3$19–3945 000–120 00020
Launch L1–L3$69–129250 000–700 00050
Growth G1–G3$199–3991,2–3 млн100
Scale S1–S3$549–9995–12,5 млн200
EnterpriseИндивидуальноОт 12,5 млнОт 400

У платных планов неиспользованные кредиты основного плана переносятся на один следующий расчётный период. Неиспользованные кредиты купленных дополнительных пакетов также переносятся; на Free пакеты недоступны. Годовая оплата даёт 12 месяцев за цену десяти и предоставляет годовой объём кредитов заранее.

⚖️
Нюанс: защищённый запрос расходует в 25 раз больше кредитов, чем стандартный. Перед выбором плана протестируйте собственный набор сайтов и посчитайте долю страниц, которым действительно нужны JavaScript и Premium Proxies.

Ограничения и когда сервис не подходит

  • Стоимость зависит от сложности страниц. Большой объём защищённых запросов быстро расходует общий баланс.
  • Результат различается между сайтами. В опубликованном стороннем тесте Scrapeway за 14–28 августа 2026 года средний показатель ZenRows составил 15% успешных запросов при среднем времени 2,1 секунды. Для Etsy было зафиксировано 96,1%, для Walmart — 84,2%, а для ряда других целей — 0%. Это вторичный меняющийся тест, поэтому используйте его только как сигнал и проверяйте сервис на собственных URL.
  • Browser Sessions тарифицируются по трафику и времени. Для простого чтения страницы Fetch обычно экономичнее.
  • Нет отдельного Pay-As-You-Go. Для небольшого регулярного объёма доступен Free, дальнейшее использование требует платного плана.
  • Юридические ограничения остаются у пользователя. Доступность страницы через API не отменяет условий сайта, авторских прав и законодательства о персональных данных.

Ссылки


По теме

Следующий шаг

Доступ к веб-данным влияет на архитектуру агента, надёжность его ответов и ежемесячные расходы. Эта тема особенно полезна командам, которые строят агентов, RAG или мониторинг данных и хотят заранее оценить надёжность и стоимость рабочего сценария.

Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov