Перейти до основного вмісту
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.

Синхронна відповідь

Асинхронна відповідь

Коли 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 ще більше пришвидшить роботу.