POST https://api.acedata.cloud/webextrator/render
WebExtrator API для рендерингу веб-сторінок — це сервіс рендерингу веб-сторінок на основі безголового Chromium. Надсилаючи URL, ви отримуєте повністю відрендерений HTML (включаючи вміст, інжектований через JS), чистий текст, заголовок сторінки та остаточний URL.
Render є найнижчим рівнем інтерфейсу WebExtrator. Якщо вам потрібні структуровані результати витягування (основний текст статті, ціни на товари, інгредієнти рецептів тощо), будь ласка, використовуйте
/webextrator/extract — він працює на тій же основі рендерингу, але виконує повний набір типізованих витягувальних процесів.
Процес подачі заявки
Щоб використовувати сервіс WebExtrator, спочатку перейдіть до консолі Ace Data Cloud та отримайте свій API Token для резервного копіювання.
Якщо ви ще не увійшли в систему або не зареєстровані, вас автоматично перенаправлять на сторінку входу, щоб запросити реєстрацію та вхід. Після завершення ви будете автоматично повернені на поточну сторінку.
Один 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,
Content-Type: application/json. Повернення будь-якого 2xx вважається підтвердженим; 5xx буде повторюватися з експоненційною затримкою протягом приблизно 5 хвилин.
Відповідь про помилку
Структура помилки:
Приклад
cURL
Python (requests)
Node.js (fetch)
Асинхронно + зворотний виклик
{ "success": true, "task_id": "...", "trace_id": "...", "started_at": 1777717800.123 };
коли завдання завершиться, платформа надішле повний результат на ваш 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може ще більше прискорити процес.

