Быстрый старт
Как создать первый скриншот
Этот пример работает на FREE и PAID: создайте задачу, дождитесь статуса DONE и скачайте результат.
Что понадобится
Нужны аккаунт Shotly, API-ключ из кабинета и curl. Сохраните ключ в переменной окружения:
export SHOTLY_API_KEY='...'В PowerShell используйте $env:SHOTLY_API_KEY = '...'.
1. Создайте задачу
curl --fail-with-body \
-X POST "https://api.shotly.cloud/v1/screenshots" \
-H "X-API-Key: $SHOTLY_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"url": "https://example.com",
"browser": "chromium",
"format": "png",
"fullPage": true
}'API ответит со статусом 202 Accepted:
{
"taskId": "9f0c6a7e-7d7f-4a62-9d70-7c7ddf4c8e52"
}202 означает, что задача создана. Скриншот ещё может обрабатываться, но запрос уже засчитан в месячную квоту.2. Проверьте статус
Подставьте полученный taskId в URL:
curl --fail-with-body \
-H "X-API-Key: $SHOTLY_API_KEY" \
"https://api.shotly.cloud/v1/screenshots/<taskId>"Если статус PENDING или IN_PROGRESS, повторите запрос через пару секунд.
{
"taskId": "9f0c6a7e-7d7f-4a62-9d70-7c7ddf4c8e52",
"status": "DONE",
"resultUrl": "https://storage.example/signed-result",
"errorMessage": null,
"payloadSize": 12345,
"createdAt": "2026-07-11T09:00:00Z",
"updatedAt": "2026-07-11T09:00:06Z"
}PENDING — задача ждёт обработки, IN_PROGRESS — скриншот создаётся. DONE и ERROR завершают задачу.
При ERROR поле resultUrl равно null. Храните taskId, пока задача не перейдёт в DONE или ERROR.
3. Скачайте результат
resultUrl появляется только при статусе DONE. Скопируйте значение из ответа:
RESULT_URL='<resultUrl>'
curl --fail --location --output screenshot.png "$RESULT_URL"Ссылка временная. Если она истекла, снова запросите статус задачи и используйте новый resultUrl.
Нужен результат в том же запросе?
На PAID можно использовать POST /take. При 200 тело ответа содержит изображение. Если задача не успела завершиться, API вернёт 202 и JSON с taskId и statusUrl.