Скриншот страницы
Открывает страницу в настоящем браузере и возвращает её вид: ссылку на полноразмерный скриншот и текст страницы в markdown. Нужен, когда важно увидеть вёрстку, цвета и типографику - например «повтори дизайн как на этом сайте», - а не найти информацию.
https://srezai.ru/api/v1/fetchКогда использовать
Инструмент отвечает на вопрос «как эта страница выглядит», а не«что написано в вебе по теме». Берите его, когда важен сам вид конкретной страницы:
- «Сделай лендинг в стиле вот этого сайта» - агент видит вёрстку, цвета, типографику и переносит их в свой код.
- Проверить, как реально отрисовалась страница (а не только её HTML).
- Снять текст со страницы, которую вы уже нашли, в чистом markdown - без парсинга HTML на своей стороне.
Если же нужно найти информацию по теме - это веб-поиск (и excerpts: true для текста топ-страниц), а для многошагового разбора - DeepResearch.
Пример запроса
curl -X POST https://srezai.ru/api/v1/fetch \
-H "Content-Type: application/json" \
-H "Authorization: Bearer srz_live_ВАШ_КЛЮЧ" \
-d '{ "url": "https://exa.ai/blog" }'Параметры тела
Тело запроса - JSON. Обязателен только адрес страницы.
urlstringобязательныйПолный адрес страницы, схема http или https, порт 80 или 443. Адреса, ведущие во внутреннюю сеть (приватные IP, локальные имена), отклоняются с ошибкой 400 - см. ниже.
maxCharsnumberнеобязательныйСколько символов текста вернуть в markdown: от 200 до 50000 (4000 по умолчанию). Поднимайте, когда нужен весь текст страницы, а не только начало: для RAG и длинной документации 4000 символов часто мало. Значения вне диапазона подгоняются к границе.
Ответ
{
"url": "https://exa.ai/blog",
"title": "Exa | Blog",
"screenshotUrl": "https://s3.ru1.storage.beget.cloud/bucket/shots/ab12….png?X-Amz-…",
"markdown": "# Exa Blog\n\nThe latest from the team…",
"truncated": false,
"meta": {
"tookMs": 4820,
"bytes": 812344,
"totalChars": 3184
}
}Поля ответа
urlstringнеобязательныйНормализованный адрес, который был отрендерен.
titlestringнеобязательныйЗаголовок страницы (из <title>/метаданных), может быть пустым.
screenshotUrlstring | nullнеобязательныйВременная presigned-ссылка на полноразмерный PNG в хранилище. Действует ограниченное время (по умолчанию 1 час). null, если хранилище не настроено на сервере - тогда остаётся markdown.
markdownstringнеобязательныйТекст страницы в markdown, очищенный от навигации, иконок и служебной разметки, обрезанный до maxChars. Точный контент для text-only обработки.
truncatedbooleanнеобязательныйtrue, если текст не поместился в maxChars - у страницы есть продолжение. Сколько всего дала страница, видно в meta.totalChars: по нему решайте, с каким maxChars повторить запрос.
metaobjectнеобязательныйtookMs - время рендера, bytes - размер полноразмерного PNG, totalChars - объём чистого текста страницы до обрезки.
Остаток лимита приходит в заголовках X-RateLimit-* - см. Лимиты и квоты. Вызов считается одним обращением к дневной квоте, наравне с поиском.
Через MCP: инструмент fetch_page
Тот же функционал доступен ИИ-агенту как встроенный инструмент fetch_page через MCP-сервер - с теми же параметрами url и maxChars. Ключевое отличие от REST: MCP-ответ вкладывает сам скриншот картинкой (уменьшенный JPEG), а не только ссылку. Это сделано специально - vision-модель (в том числе локальная, вроде Qwen-VL или GLM) видит изображение прямо в контексте, а открыть screenshotUrl самостоятельно она обычно не может.
Ответ инструмента содержит два блока:
- image - уменьшенный до ~1024px JPEG-скриншот; его и «видит» модель.
- text - заголовок страницы, presigned-ссылка на полноразмерный PNG и текст в markdown. Если текст обрезан по
maxChars, туда же добавляется явная пометка с полным объёмом страницы - чтобы агент не принял начало за всю страницу.
Подключение сервера и общий список инструментов - на странице MCP-сервер.