> ## 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 | Запрос не удалось выполнить из-за ошибки на сервере.                                        |
