> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cleariflow.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API скріншотів сайтів

> API скріншотів сайтів Cleariflow створює pixel-perfect знімки будь-якого публічного URL через сучасний RESTful JSON-інтерфейс із SSRF-захистом, керуванням viewport і опціями автоматизації браузера.

## Початок роботи

<Card title="Синхронний скриншот" icon="camera" href="screenshot/screenshot">
  Ендпоінт `screenshot` запускає сесію браузера та повертає зображення в base64 у JSON — ідеально для програмних інтеграцій та API Tester.
</Card>

<Card title="Асинхронні задачі" icon="clock" href="screenshot/jobs">
  Ендпоінти `jobs` ставлять задачі скриншота в чергу та дозволяють опитувати статус і результати — ідеально для високого навантаження або повільних сторінок.
</Card>

### REST-архітектура

API скріншотів сайтів дотримується принципів REST із передбачуваними URL, орієнтованими на ресурси, та стандартними HTTP-кодами стану для безперебійної інтеграції та обробки помилок.

### Безпека HTTPS

Уся комунікація з API захищена TLS 1.2 або вище для забезпечення цілісності та конфіденційності даних.

### Версії API

API скріншотів сайтів підтримує зворотну сумісність через версіонування і зараз працює в Version 1.

### Аутентифікація

Ваш API-ключ — єдині облікові дані для доступу до API скріншотів сайтів. Кожен сервіс Cleariflow потребує окремого ключа. Передавайте ключ у JSON-тілі як `api_key` або як query-параметр для legacy GET-ендпоінта.

### Базовий URL

```
https://screenshot.cleariflow.com
```

### Рендеринг сторінок

Сторінки рендеряться в реальному headless-браузері. JavaScript повністю виконується перед захопленням скриншота. Вбудований SSRF-захист блокує запити до localhost і приватних IP-діапазонів.

## Коди відповідей і помилок

У разі невдачі API повертає структуровані JSON-відповіді з конкретними кодами та описами для ефективного усунення несправностей.

| Код | Тип                   | Деталі                                                                            |
| --- | --------------------- | --------------------------------------------------------------------------------- |
| 200 | OK                    | Скриншот успішно захоплено.                                                       |
| 202 | Accepted              | Асинхронну задачу успішно поставлено в чергу.                                     |
| 400 | Bad request           | Невірний запит — недійсний URL, заблокована ціль або некоректне тіло запиту.      |
| 401 | Unauthorized          | Запит не прийнято. Зазвичай через відсутній або невірний API-ключ.                |
| 422 | Quota reached         | Запит перервано через нестачу API-кредитів. (Безкоштовні тарифи)                  |
| 429 | Too many requests     | Досягнуто ліміт запитів на секунду. На безкоштовних тарифах — 1 запит на секунду. |
| 500 | Internal server error | Запит не вдалося виконати через помилку на сервері.                               |
