# Скриншот страницы

> Снимок всей страницы целиком, JPEG, ссылкой в ответе

Источник: https://docs.parreq.com/fetch-screenshot/

`include=screenshot` снимает **всю страницу целиком**, а не первый экран.
Картинка кладётся в объектное хранилище, в ответ приходит ссылка
`screenshot_url`.

**Цена:** +4 кредита к разметке, итого 5.

```python Python
from parreq import Parreq

client = Parreq("pr_ВАШКЛЮЧ")
res = client.fetch("https://example.com", include=["screenshot"])

print(res.screenshot_url)

with open("page.jpg", "wb") as f:
    f.write(client.screenshot(res.id))
```

```javascript Node

const client = new Parreq({ apiKey: "pr_ВАШКЛЮЧ" });
const res = await client.fetch({ url: "https://example.com", include: ["screenshot"] });

console.log(res.screenshotUrl);

await writeFile("page.jpg", await client.screenshot(res.id));
```

```bash cURL
ID=$(curl -s -H "Authorization: Bearer pr_ВАШКЛЮЧ" \
  "https://api.parreq.com/v1/fetch?url=https://example.com&include=screenshot" \
  | python3 -c "import sys,json; print(json.load(sys.stdin)['fetch_metadata']['id'])")

curl -H "Authorization: Bearer pr_ВАШКЛЮЧ" \
  "https://api.parreq.com/v1/fetch/$ID/screenshot" -o page.jpg
```

## Размер кадра

Формат — JPEG, качество 70. Ширина — во всю ширину устройства: 1920 для
`desktop`, 390 для `mobile`. Высота — вся страница, сколько бы её ни было: у
длинной статьи это десятки тысяч пикселей.

Ширина берётся от эмуляции устройства намеренно. Снимок обязан совпадать с тем,
что видела страница, — иначе на картинке окажется не та вёрстка, по которой она
раскладывалась.

## Снимок делается до подрезки

Заказав и `select`, и скриншот, вы получите вырезанный блок в `html` и **всю
страницу** на картинке. Иначе заказавший и то и другое получал бы картинку
обрезка, чего не просил.

## Ссылка и доступ

Ссылка ведёт на наш API и требует того же ключа — картинка принадлежит ключу,
которым заказана. Чужой артефакт отвечает `404`, а не `403`: ответ «есть, но не
ваш» подтверждал бы существование чужого запроса.

> **Внимание.**
>   Артефакты хранятся 30 дней, потом убираются. Нужен дольше — скачайте к себе.

## Выдача поисковика тоже снимается

У `/v1/search` есть свой параметр `screenshot: true` — снимок страницы
поисковика целиком, от строки запроса до пагинации. Он живёт отдельной ручкой:
[Поиск → Снимок выдачи](https://docs.parreq.com/search#снимок-выдачи).

## Дальше

**[Копия для iframe](https://docs.parreq.com/fetch-iframe)**
    Не картинка, а вставляемая копия страницы.

**[Справочник](https://docs.parreq.com/api-reference/fetch-screenshot)**
    Ручка выдачи снимка, с примерами на Python и Node.
