На этой странице

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

Открывает страницу в настоящем браузере и возвращает её вид: ссылку на полноразмерный скриншот и текст страницы в markdown. Нужен, когда важно увидеть вёрстку, цвета и типографику - например «повтори дизайн как на этом сайте», - а не найти информацию.

POSThttps://srezai.ru/api/v1/fetch

Когда использовать

Инструмент отвечает на вопрос «как эта страница выглядит», а не«что написано в вебе по теме». Берите его, когда важен сам вид конкретной страницы:

  • «Сделай лендинг в стиле вот этого сайта» - агент видит вёрстку, цвета, типографику и переносит их в свой код.
  • Проверить, как реально отрисовалась страница (а не только её HTML).
  • Снять текст со страницы, которую вы уже нашли, в чистом markdown - без парсинга HTML на своей стороне.

Если же нужно найти информацию по теме - это веб-поиск (и excerpts: true для текста топ-страниц), а для многошагового разбора - DeepResearch.

Пример запроса

bash
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 символов часто мало. Значения вне диапазона подгоняются к границе.

Ответ

json
{
  "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-сервер.