API извлечения HTML — Playwright Chromium как сервис

Передайте URL — получите готовый HTML после исполнения JavaScript. Обрабатывайте Cheerio, Readability.js или любым своим парсером. УноАПИ.ru.

Headless-браузер как API. Playwright Chromium исполняет JS, ждёт `networkidle`, возвращает итоговый HTML. Дальше его парсит ваша сторона — Cheerio, Readability.js, LLM-ридер — но без необходимости держать собственный Playwright-кластер.

Возможности

Исполняется JavaScript

Страницы с клиентским рендером (SPA, React/Vue/Next.js) обрабатываются как обычные — дожидаемся networkidle или нужного события.

Контроль загрузки

gotoOptions.waitUntil: load / domcontentloaded / networkidle / commit. Плюс viewport — размер, DPR — чтобы адаптивные страницы рендерились в нужной раскладке.

Cookies и заголовки

Прокидывайте сессионные cookie и произвольные HTTP-заголовки. Скрейпите страницы, закрытые авторизацией, без поднятия собственного браузера.

Пример запроса

curl -X POST "https://proxy.unoapi.ru/v1/browser/content" \
  -H "Authorization: Bearer sk_..." \
  -H "Content-Type: application/json" \
  -d '{"url": "https://habr.com/ru/articles/1/", "gotoOptions": {"waitUntil": "networkidle"}}' \
  --output page.html

Сравнение

ПараметрУноАПИ.ruОфициальный APIМеждународные сервисы
Рендер JS✓ Playwright Chromium✓ (Playwright / Puppeteer)
Режим ожидания✓ waitUntil (4 опции)Зависит от вендора
Viewport / DPR✓ произвольныйОбычно ✓
Cookies / headers
Нужна своя инфра?НетДа (Chromium-кластер)Нет
ОплатаРубли, по фактуUSD, подписка

Часто задаваемые вопросы

Что именно возвращается?

Полный HTML страницы после рендеринга JavaScript — такой, какой увидел бы пользователь в браузере. Парсите, очищайте или извлекаете текст уже на своей стороне.

Чем это отличается от обычного скрейпинга curl?

curl отдаёт исходный HTML без исполнения JS — на SPA-сайтах это пустая оболочка. УноАПИ.ru поднимает Playwright Chromium, дожидается отрисовки, возвращает финальный DOM. Никакой собственной инфраструктуры headless-браузера не нужно.

Выполняется ли JavaScript?

Да, Playwright Chromium дожидается `gotoOptions.waitUntil` (load / domcontentloaded / networkidle / commit). SPA-сайты (React, Vue, Next.js) обрабатываются как обычные статические страницы.

Как очистить HTML от меню, рекламы и прочего шума?

Мы отдаём «сырой» отрендеренный HTML. Дальше пропускайте его через Cheerio, Readability.js, `@mozilla/readability` или любой LLM-ридер — это отделяет ответственность рендеринга от ответственности извлечения и даёт вам полный контроль.

Можно ли передать cookie или HTTP-заголовки?

Да. В теле POST-запроса передаёте `cookies` (массив `{ name, value, domain }`) и `extraHTTPHeaders` (объект). Позволяет скрейпить страницы, требующие авторизации.

Есть ли лимит на размер страницы?

Жёсткого лимита нет. Тяжёлые страницы (>10MB) рендерятся дольше — разумнее переключить `gotoOptions.waitUntil` на `domcontentloaded` или ограничить ресурсы в теле запроса.

Сколько стоит один запрос?

Актуальная цена — на /pricing. Есть ежемесячные бесплатные кредиты.

Готовы попробовать?

Бесплатные месячные кредиты — без карты, без подписки.