POST https://api.acedata.cloud/webextrator/render
API рендерингу вебсторінок WebExtrator — це сервіс рендерингу вебсторінок на основі безголового 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ще більше пришвидшить роботу.

