POST https://api.acedata.cloud/webextrator/render
WebExtrator API рендеринга веб-страниц — это сервис рендеринга веб-страниц на основе безголового Chromium. Передайте URL,
и получите полностью отрендеренный HTML (включая контент, внедрённый через JS), обычный текст, заголовок страницы и итоговый URL.
Render — это самый низкоуровневый интерфейс WebExtrator. Если вам нужны структурированные результаты
извлечения (основной текст статьи, цена товара, ингредиенты рецепта …), используйте
/webextrator/extract —— он запускает полный типизированный конвейер извлечения
на той же основе рендеринга.
Процесс подачи заявки
Чтобы использовать страницу сервиса WebExtrator, сначала получите ваш API Token в консоли Ace Data Cloud и сохраните его для дальнейшего использования.
Если вы ещё не вошли в систему или не зарегистрировались, вы будете автоматически перенаправлены на страницу входа с приглашением зарегистрироваться и войти, после завершения вы автоматически вернётесь на текущую страницу.
Один API Token позволяет вызывать все сервисы платформы, не нужно подавать отдельную заявку для каждого сервиса. При первой подаче заявки предоставляется бесплатный лимит, позволяющий бесплатно опробовать сервис; при недостаточном лимите можно пополнить универсальный баланс в консоли.
📘 Полная документация: страница сервиса WebExtrator →
Аутентификация
Все интерфейсы WebExtrator используют стандартную аутентификацию Bearer Token:Параметры запроса
Контракт платформы единообразно использует snake_case. Внутренний сервис рендеринга поддерживает camelCase, но для внешних вызовов всегда используется snake_case.
Структура Cookie
Синхронный ответ
Асинхронный ответ
Приasync=true (или указании callback_url) немедленно возвращается (HTTP 200):
POST на callback_url (если он настроен) либо может быть
активно запрошен через /webextrator/tasks.
Структура обратного вызова
ПлатформаPOST отправляет на callback_url envelope, полностью идентичный синхронному режиму,
с Content-Type: application/json. Возврат любого 2xx считается подтверждением; при 5xx будут
повторные попытки с экспоненциальной задержкой в течение примерно 5 минут.
Ответы об ошибках
Структура ошибки:
Примеры
cURL
Python (requests)
Node.js (fetch)
Асинхронный режим + обратный вызов
{ "success": true, "task_id": "...", "trace_id": "...", "started_at": 1777717800.123 };
после завершения задачи платформа отправит полный результат методом POST на ваш callback_url.
Принудительный обход кэша
Советы и подводные камни
- Важно правильно выбрать
wait_until.networkidleнаиболее надёжен, но самый медленный;domcontentloadedбыстрый, но может пропустить контент, внедряемый асинхронно;loadподходит для традиционных статических страниц. - Ключ кэша игнорирует
async. Синхронные и асинхронные запросы к одному URL попадают в одну запись кэша, произвольное переключение не приводит к инвалидированию. - Ключ кэша игнорирует
bypass_cacheиcache_ttl_seconds. Это переключатели операций, они не влияют на содержимое ответа. cookiesиheadersразделяют кэш на сегменты. Настройка этих двух параметров приведёт к тому, что первое совпадение одинаковой комбинации не сработает.- Тяжёлые SPA часто превышают стандартные 30 секунд. Рекомендуется
timeout: 60、wait_until: "domcontentloaded"、delay: 4, а такжеwait_for_selectorдля ожидания действительно интересующих элементов. block_resources— самый быстрый способ снизить задержку. По умолчанию уже заблокированы изображения / шрифты / медиа; если ваше извлечение не зависит от CSS-разметки, добавлениеstylesheetещё больше ускорит работу.

