срезAI: веб-поиск, страницы и субтитры видео — 13 инструментов. Thirteen web tools for AI agents
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
API key in the form: Bearer srz_live_YOUR_KEY. Create one in the dashboard at https://srezai.ru/dashboard.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Полный RAG-цикл: поиск источников, семантическое ранжирование через BGE-reranker-v2-m3, чтение релевантных страниц и синтез финального ответа. Возвращает готовый ответ с указанием релевантности каждого источника (0-1). Когда: нужен итоговый ответ на вопрос, а не список ссылок. Лучше web_search + read_url, когда требуется интерпретация и синтез по нескольким источникам. Конвейер: переформулировка запроса → параллельный поиск → BGE-reranker отбирает топ → чтение страниц → синтез ответа. Возвращает: текст ответа + sources (каждый с relevance, chars_read, read_success). Источники всегда отсортированы по убыванию relevance. Цена зависит от depth: fast - 3 кредита, balanced - 5 кредитов, deep - 10 кредитов.
Вопрос или поисковый запрос
Глубина: fast (2 страницы), balanced (5 страниц, по умолчанию), deep (10 страниц). Больше страниц - выше качество, дольше время.
Язык поиска и ответа: auto, ru, en
Полный RAG-цикл: поиск источников, семантическое ранжирование через BGE-reranker-v2-m3, чтение релевантных страниц и синтез финального ответа. Возвращает готовый ответ с указанием релевантности каждого источника (0-1). Когда: нужен итоговый ответ на вопрос, а не список ссылок. Лучше web_search + read_url, когда требуется интерпретация и синтез по нескольким источникам. Конвейер: переформулировка запроса → параллельный поиск → BGE-reranker отбирает топ → чтение страниц → синтез ответа. Возвращает: текст ответа + sources (каждый с relevance, chars_read, read_success). Источники всегда отсортированы по убыванию relevance. Цена зависит от depth: fast - 3 кредита, balanced - 5 кредитов, deep - 10 кредитов.
| Argument | Type | Description |
|---|---|---|
| depth | string | Глубина: fast (2 страницы), balanced (5 страниц, по умолчанию), deep (10 страниц). Больше страниц - выше качество, дольше время. |
| query* | string | Вопрос или поисковый запрос |
| language | string | Язык поиска и ответа: auto, ru, en |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"depth": {
"enum": [
"fast",
"balanced",
"deep"
],
"type": "string",
"default": "balanced",
"description": "Глубина: fast (2 страницы), balanced (5 страниц, по умолчанию), deep (10 страниц). Больше страниц - выше качество, дольше время."
},
"query": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Вопрос или поисковый запрос"
},
"language": {
"enum": [
"auto",
"ru",
"en"
],
"type": "string",
"default": "auto",
"description": "Язык поиска и ответа: auto, ru, en"
}
},
"additionalProperties": false
}Читает разделы сайта и читает найденные страницы: сначала карта адресов (как в map), затем текст страниц. Один вызов вместо «нашёл ссылку - прочитал - нашёл следующую»: так собирают всё содержимое раздела, а не отдельные страницы. Когда: нужно содержимое нескольких страниц одного сайта - «собери все события с этого агрегатора», «прочитай раздел документации», «что в этом каталоге». Когда не: нужен только список адресов - map (дешевле, страницы не читаются); нужна одна страница - read_url. Фильтр search у crawl сравнивается с ТЕКСТОМ прочитанных страниц (не с адресом), а selectPaths/excludePaths отбирают САМИ адреса. Порядок такой: сначала map (увидеть разделы и адреса), затем crawl с selectPaths по нужному разделу и, если надо, с search по тексту. Возвращает: pages (адрес, заголовок, текст до 20 000 символов на страницу) и skipped - адреса, которые не прочитались, с причиной. Недоступные страницы не роняют чтение: остальные отдаются, а причина названа. Цена: карта (1 кредит за 10 возвращённых адресов, минимум 1) плюс 1 кредит за каждую прочитанную страницу. Не прочиталась - не считается.
| Argument | Type | Description |
|---|---|---|
| url* | string | Сайт или страница (http/https) |
| limit | integer | Сколько страниц прочитать (1-20, по умолчанию 5). |
| intent | string | Задача клиента словами: «страницы организаторов конференций», «все события», "только вакансии". Адреса карты упорядочиваются по смыслу, и читаются первые `limit` - так прицельное чтение работает там, где у нужных страниц нет общего фрагмента пути и `selectPaths` не находит ничего (замер 03.10.2026: 0/4 у подстроки против 4/4 в первых строках у отбора по смыслу). Работает, только если на сервере включён JEV_INTENT. |
Проводит многошаговое исследование: сам формулирует запросы, ищет, читает источники и возвращает готовый связный ответ со ссылками на использованные страницы. Когда: вопрос требует сопоставления нескольких источников и вывода - «сравни», «разберись», «что известно о». Когда не: нужен один факт или список ссылок - это web_search, он в 20 раз дешевле и отвечает за секунды. Как это работает: исследование идёт долго - по замерам от 13 секунд (простой факт) до 42 минут, обычно 3-10 минут, и это дольше, чем живёт одно соединение. Поэтому инструмент запускает задачу и ждёт 45 секунд. Если за это время ответ готов - возвращает его сразу. Если нет - возвращает строку с пометкой `[research_pending]` и талоном (ticket). Тогда вызовите этот же инструмент ещё раз, передав ticket (query можно не повторять), чтобы дождаться готового результата; опрашивайте с паузой в минуту-две, пока не придёт ответ. Такой дозабор по талону НЕ списывается заново - деньги берутся один раз, за саму задачу. Если незавершённая задача висит больше 90 минут, инструмент честно скажет, что она зависла, - тогда имеет смысл перезапустить вопрос или сузить его. Возвращает: текст ответа плюс список источников. Если источники не вернулись, в ответе будет предупреждение - такой вывод не считается проверенным. Цена: 20 кредитов плюс 3 за каждую 1000 токенов ответа - самый дорогой вызов. Списывается один раз за задачу; повтор ТЕМЫ (новый query) - новая задача и новое списание, а дозабор по ticket бесплатен.
| Argument | Type | Description |
|---|---|---|
| query | string | Вопрос или тема исследования. Обязателен для НОВОГО исследования; при дозаборе по ticket не нужен. |
| ticket | string | number | Талон незавершённой задачи из прошлого ответа `[research_pending]`. Передайте его, чтобы дождаться готового результата - бесплатно, без нового списания. |
Читает страницу и возвращает JSON строго по вашей схеме: только запрошенные поля, без текста страницы. Чего на странице нет - приходит null, значения не домысливаются. Когда: нужны 2-5 конкретных значений - цена, характеристики, автор и дата, список вакансий. Экономит контекст: вместо всей страницы придут только поля. Когда не: нужен связный текст или вы не знаете заранее, что искать, - read_url (и в 4 раза дешевле). Схема: принимается и сокращённая форма - {"title":"string","price":"number?"}, где «?» делает поле необязательным, а «[]» - массивом; полный JSON Schema тоже работает. Описания полей заметно повышают точность разбора. Возвращает: объект по схеме на каждую ссылку. Можно передать до 10 ссылок разом (на бесплатном тарифе до 5) - одна схема применится ко всем. Цена: 2 кредита за каждую ссылку (чтение плюс разбор моделью).
| Argument | Type | Description |
|---|---|---|
| url | string | URL страницы (http/https) |
| urls | array | Список URL (1-10) вместо url - одна схема на все страницы. Лишнее отбрасывается по тарифу: на бесплатном берём 5, на платном больше. Каждая страница тарифицируется отдельно. |
| engine | string | Как забирать страницу: auto (по умолчанию), fast, dynamic, stealth. |
| schema | any | Схема результата. Проще всего - сокращённая форма: {"title":"string","price":"number?","tags":"string[]"}, где «?» помечает поле необязательным, а «[]» - массивом. Полный JSON Schema тоже принимается: {"type":"object","properties":{"price":{"type":"number","description":"цена в рублях"}},"required":["price"]}. Типы: string, number, integer, boolean, array, object. Описания полей заметно повышают точность. |
Открывает страницу полноценным браузером и возвращает скриншот картинкой прямо в ответе, ссылку на полноразмерный файл и текст страницы в markdown. Когда: нужно УВИДЕТЬ страницу - раскладку, цвета, типографику, визуальную иерархию: «повтори дизайн как здесь», «что не так с вёрсткой». Когда не: нужен только текст - read_url (1 кредит против 3, и быстрее); нужны отдельные значения - extract. Возвращает: изображение плюс текст. Картинка занимает много контекста, поэтому для чтения этот инструмент избыточен. Если браузер не успел отрендерить страницу, вернём её текст (то же, что даёт read_url), скажем об этом прямо и спишем 1 кредит вместо 3. Цена: 3 кредита (1, если скриншот не получился).
| Argument | Type | Description |
|---|---|---|
| url* | string | Полный URL страницы (http/https) |
| maxChars | integer | Сколько символов текста вернуть (200-50000, по умолчанию 4000). Поднимите, если нужен полный текст страницы, а не только начало. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Полный URL страницы (http/https)"
},
"maxChars": {
"type": "integer",
"maximum": 50000,
"minimum": 200,
"description": "Сколько символов текста вернуть (200-50000, по умолчанию 4000). Поднимите, если нужен полный текст страницы, а не только начало."
}
},
"additionalProperties": false
}Баланс, остаток суточной квоты, время сброса окна, burst-лимит и расход за последние сутки и неделю - по услугам, в кредитах. Ответ - компактный JSON (машиночитаемые поля первыми). verbose: true - тот же отчёт человеческим текстом вместе с полным прайс-листом. Когда: вызов упал с [rate_limited] и надо понять, ждать секунды или до следующих суток; пользователь спрашивает про баланс и расходы; надо сверить свой лог вызовов с нашими списаниями; планируется большой батч. Возвращает: balance_credits, план, quota (used/limit/remaining/reset_min), burst, last24h (calls/credits/free и разбивка by_service) и week_credits. Без verbose прайс-листа в ответе нет - цены каждой услуги описаны у самой услуги, а здесь только то, что меняется от вызова к вызову. Тарификация: платите только за результат - ошибка и вызов, не принёсший ничего (пустая выдача, проверка без прочитанных источников), не списываются. Квота считает ВЫЗОВЫ, а не кредиты: 10 за 10 с и 200 в сутки на ключ. Цена: бесплатно, квоту и лимит запросов этот вызов не расходует - его можно звать без опасений.
| Argument | Type | Description |
|---|---|---|
| verbose | boolean | true - полный человекочитаемый отчёт с прайс-листом всех инструментов. По умолчанию компактный JSON без прайс-листа. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"verbose": {
"type": "boolean",
"description": "true - полный человекочитаемый отчёт с прайс-листом всех инструментов. По умолчанию компактный JSON без прайс-листа."
}
},
"additionalProperties": false
}Ищет изображения по текстовому запросу и возвращает прямые ссылки на файлы, страницу-источник и разрешение. Когда: нужны картинки, фотографии, логотипы, схемы. Когда не: нужен текст или факты - web_search; нужно увидеть, как выглядит конкретная страница, - fetch_page. Возвращает: только ссылки и метаданные - файлы не скачиваются и в ответе не появляются. Ставьте num: 1-3, если картинка нужна одна: по умолчанию 12, максимум 48, и полный список занимает десятки килобайт контекста. Цена: 1 кредит за вызов, независимо от num.
| Argument | Type | Description |
|---|---|---|
| num | integer | Сколько картинок вернуть (1-48, по умолчанию 12). Нужна одна картинка - просите 1-3, не тратьте контекст. |
| safe | boolean | Безопасный поиск |
| query* | string | Что искать |
| timeRange | string | Свежесть: all, day, week, month, year |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"num": {
"type": "integer",
"maximum": 48,
"minimum": 1,
"description": "Сколько картинок вернуть (1-48, по умолчанию 12). Нужна одна картинка - просите 1-3, не тратьте контекст."
},
"safe": {
"type": "boolean",
"description": "Безопасный поиск"
},
"query": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Что искать"
},
"timeRange": {
"enum": [
"all",
"day",
"week",
"month",
"year"
],
"type": "string",
"description": "Свежесть: all, day, week, month, year"
}
},
"additionalProperties": false
}Собирает адреса страниц сайта: robots.txt → Sitemap:, затем /sitemap.xml и /sitemap_index.xml (включая вложенные карты), а если карт нет - ссылки со стартовой страницы. Возвращает найденные адреса, их общее число и разбивку по разделам: по ней видно, где на сайте что лежит. Когда: известен сайт, а не страница - «собрать все события с агрегатора», «какие разделы есть на сайте», «дай мне список страниц для чтения». Когда не: нужен текст страниц - crawl (он читает найденное); нужен ответ по теме без привязки к сайту - web_search. Фильтр search сравнивает подстроку с АДРЕСОМ (страницы мы не читаем), поэтому для русских сайтов указывайте часть латинского пути: search: "organizers" вместо «организаторы». Один вызов читает до 8 карт сайта: если сайт отдаёт больше, в ответе это сказано, а разделы показывают, куда идти дальше. Возвращает: pages (до limit адресов), total (сколько нашлось всего), sections (разделы с числом адресов), source (sitemap или links) и outcome: ok, blocked (сайт отвечает 403 - это не «страниц нет»), unreachable, empty. Цена: 1 кредит за каждые 10 возвращённых адресов, минимум 1 (200 адресов - 20 кредитов). Сайт, который нас не пустил, не тарифицируется: результата нет.
| Argument | Type | Description |
|---|---|---|
| url* | string | Сайт или страница (http/https) |
| limit | integer | Сколько адресов вернуть (1-200, по умолчанию 50). total показывает, сколько нашлось всего. |
| intent | string | Задача клиента словами: «страницы организаторов конференций», «все события», "только вакансии". Список адресов упорядочивается по смыслу под эту задачу, явный шум отсекается. Нужно там, где `selectPaths` бессилен: если у нужных страниц нет общего фрагмента пути, подстрока не найдёт ничего - на замере 03.10.2026 это 0/4, а упорядочивание по смыслу дало 4 нужных из 4 в первых строках. Работает, только если на сервере включён JEV_INTENT; иначе параметр игнорируется. |
Открывает одну страницу по известному адресу и возвращает её текст чистым markdown - без навигации, рекламы, скриптов и HTML. JavaScript выполняется на нашей стороне, поэтому SPA тоже читаются. Когда: адрес известен и нужен текст - статья, документация, карточка товара. Когда не: адреса нет - сначала web_search; страниц несколько - read_urls (один вызов вместо пяти); нужны 2-5 конкретных полей - extract (в контекст придут только они); нужно увидеть вёрстку - fetch_page. Возвращает: заголовок и текст, по умолчанию первые 4000 символов. Длинная страница приходит по частям: в конце ответа указано значение offset, с которым надо вызвать тул повторно, чтобы получить продолжение. Так документ любого объёма читается окнами под ваш контекст, без повторной оплаты уже прочитанного. Читает и файлы, а не только страницы: PDF (включая сканы - распознаём текст), Word (docx), Excel (xlsx), PowerPoint (pptx), OpenDocument (odt/ods/odp/odg), RTF, EPUB и текстовые (txt/md/csv/json/xml). Адрес документа передавайте как есть: https://site.ru/otchet.docx. Старые двоичные .doc/.xls/.ppt не читаются - их отдаёт только LibreOffice, у нас его нет; нужен файл в новом формате. Цена: 1 кредит, самый дешёвый способ получить содержимое страницы (fetch_page - 3).
| Argument | Type | Description |
|---|---|---|
| url* | string | Полный URL страницы (http/https) |
| fresh | boolean | Прочитать страницу заново, не беря недавно прочитанный текст. Нужно, когда страница только что изменилась. На цену не влияет: кредит списывается в любом случае. |
| engine | string | Как забирать страницу: auto (по умолчанию - начинает с быстрого способа и сам поднимается, если текста не оказалось), fast (быстро, для статики и документации), dynamic (ждёт отрисовки JS - для SPA), stealth (медленно, максимально браузерное поведение). Указывайте явно только если знаете сайт. |
Читает пачку страниц (до 10 за вызов; на бесплатном тарифе до 5) параллельно и возвращает текст каждой чистым markdown. То же, что read_url, но одним вызовом вместо нескольких - заметно быстрее по общему времени. Когда: на руках список ссылок, например топ выдачи web_search. Когда не: страница одна - read_url; нужны отдельные поля, а не текст, - extract (он тоже принимает список). Возвращает: текст по каждой странице. Частичный успех - норма: упавшие ссылки не рвут вызов, а перечисляются отдельным блоком «Не прочитано» с кодом ошибки. Дубликаты и ссылки сверх лимита отбрасываются, их число указано в ответе. Длинные страницы обрезаются по maxChars; дочитывать их удобнее по одной через read_url с offset - в батче offset один на все ссылки. Цена: 1 кредит за каждую ссылку - пять страниц стоят пять кредитов. Не отправляйте ссылки «на всякий случай».
| Argument | Type | Description |
|---|---|---|
| urls* | array | Список URL (1-10). Дубликаты отбрасываются, лишнее отбрасывается по тарифу: на бесплатном берём 5, на платном 10. |
| fresh | boolean | Читать все страницы батча заново, не беря недавно прочитанный текст. На цену не влияет. |
| engine | string | Как забирать страницы: auto (по умолчанию), fast, dynamic, stealth. Применяется ко всем ссылкам батча. |
| maxChars | integer | Сколько символов текста вернуть с КАЖДОЙ страницы (200-50000, по умолчанию 4000). На батче ставьте скромнее: пять больших страниц вытеснят из контекста всё остальное. |
Проверяет утверждение: ищет источники, читает несколько независимых страниц и возвращает вердикт с дословными цитатами. Каждая цитата сверена с текстом страницы - не найденная в тексте отбрасывается вместе со своим доводом. Когда: факт, который нельзя брать на веру - цифра, дата, «X поддерживает Y», утверждение из ответа пользователя или из вашей же памяти. Особенно если ваш контекст не вмещает 4-5 страниц целиком: вся черновая работа делается на нашей стороне, к вам приходят только вердикт и цитаты. Когда не: нужен обзор темы - deep_research; нужен текст конкретной страницы - read_url. Вердикт: supported - источники подтверждают; refuted - опровергают; mixed - расходятся между собой; unverified - подтверждения не нашлось. Последние два - нормальный результат, а не ошибка: значит, утверждение нельзя считать проверенным. Считает в независимых доменах: три цитаты с одного сайта - один голос. Смотрите agreeing/disagreeing и confidence, а не только вердикт. Если сайт не открылся, слот не теряется: берём следующего кандидата из выдачи, поэтому прочитанных источников обычно ровно столько, сколько вы заказали. Когда проверка всё же вышла неполной, это сказано в вердикте и в caveats. Возвращает: вердикт, уверенность, цитаты со ссылками и оговорки. Источников - 2-5. Время: 15-60 с. Цена: 8 кредитов (поиск, чтение источников и работа модели).
| Argument | Type | Description |
|---|---|---|
| claim* | string | Утверждение одной фразой, как проверяемый факт: «Node.js 22 - LTS», «ставка НДС для IT-услуг в России 20%». Не вопрос и не тема: чем конкретнее формулировка, тем точнее проверка. |
| query | string | Свой поисковый запрос, если утверждение плохо ищется как есть (длинное, со сленгом). По умолчанию ищем по тексту утверждения. |
| language | string |
Ищет страницы в живом вебе по текстовому запросу и возвращает ранжированный список: заголовок, ссылка, фрагмент. Сильное покрытие русскоязычного веба. Когда: нужны свежие факты, ссылки или данные новее вашей отсечки знаний. Когда не: адрес страницы уже известен - это read_url; нужны 2-5 конкретных значений - extract; нужен готовый разбор темы со сносками - deep_research. Возвращает: до 30 результатов текстом, без содержимого страниц. У каждого результата - домен, дата публикации (когда движок её отдаёт) и rel - лексическая релевантность запросу [0..1], по ней список и отсортирован. Дат нет у части выдачи: это ограничение движков, а не признак старой страницы. С excerpts: true добавляет реальный текст топ-страниц (+3-10 с), это часто экономит последующий вызов read_url. Если этого мало - chunksPerSource (0-5) читает страницу глубже (600 × N символов против 1200 у excerpt) и отдаёт несколько кусков на результат, а includeRawContent - полный текст страницы (до 20 000 символов, берите 1-3 результата). Всё читается в том же вызове и цены не меняет: дешевле, чем идти за текстом по одной ссылке. Свежесть: timeRange (day/week/month/year) или точные границы publishedAfter / publishedBefore - фильтр по дате публикации на нашей стороне; страницы без даты в окно не проходят, и в ответе сказано, сколько таких отброшено. Цена: 1 кредит за вызов, независимо от num. Выдача живая, поэтому повтор того же запроса даёт другой результат и списывается снова.
| Argument | Type | Description |
|---|---|---|
| num | integer | Сколько результатов (1-30) |
| depth | string | Глубина: auto (по умолчанию, больше движков и результатов) или flash (быстрее, узкая выдача - для одного факта). |
| query* | string | Поисковый запрос |
Забирает текстовую дорожку ролика YouTube - ручные субтитры или авто - по ссылке или 11-символьному id. Видео и звук не скачиваются: это дешёвый способ получить содержание ролика в контекст агента. Когда: нужен текст видео - конспект, цитата, проверка сказанного, поиск по содержанию лекции; ролик уже известен или найден через web_search. Для поиска видео используйте web_search (например, site:youtube.com), а не этот тул. Когда не: нужен текст страницы - read_url; нужна картинка/вёрстка - fetch_page; не YouTube (VK, Rutube, Дзен) - не работает. Плейлист не разбирается, нужен ролик. Возвращает по каждому ролику: название, канал, длительность, дату, язык, вид дорожки (ручные/авто), текст и ссылки на ролик и канал. Если дорожки нет - статус и список доступных языков: повторите с существующим. Длинный текст: maxChars можно поднять до 200000, и текст приходит целиком - окна сервиса склеиваются внутри одного вызова. Если ролик всё равно не влез, в шапке есть сводка «Не влезло в лимит» с from по каждому ролику, а в structuredContent - поля window.from/window.nextFrom и stats.credits. Продолжение - отдельный вызов (снова 1 кредит за ролик), но за уже прочитанное повторно платить не нужно. Настройки соединения (необязательные заголовки, чтобы не повторять их в каждом вызове): X-Srezai-Max-Chars: 200000; X-Srezai-Timestamps: true; X-Srezai-Speakers: true; X-Srezai-Credits: off (не печатать строку про списанные кредиты в тексте - они остаются в structuredContent.stats.credits); X-Srezai-Format: json (вернуть данные структурой JSON вместо markdown). Любой аргумент вызова перекрывает заголовок. speakers: true - разметка по говорящим: вместо сплошного текста реплики «Спикер 1/2/3» с таймкодами. Когда: интервью, подкаст, круглый стол, диалог двух лекторов - нужно понять, кто что сказал. Разделение по смыслу реплик, а не по голосу: имён в субтитрах нет, метки условные, на перебиваниях и панелях из трёх и более человек модель может ошибаться. Если разметка не удалась, вернётся обычный текст и спишется 1 кредит. Цена: 1 кредит за ролик, у которого субтитры получены; с speakers: true - 15 кредитов за ролик (разметку делает LLM по всему тексту). Неудачи (нет дорожки, ограничение частоты, недоступный ролик) не списываются. Разметка требует API-ключа: в бесплатном режиме без ключа она недоступна. До 5 роликов за вызов.
| Argument | Type |
|---|
| search |
| string |
| Оставить страницы, в тексте или заголовке которых есть эти слова (фильтр по СОДЕРЖИМОМУ прочитанного). |
| selectPaths | array | Читать только страницы, адрес которых содержит любую из этих подстрок - это и есть прицельное чтение раздела. Без него crawl читает первые адреса карты, а у агрегаторов это служебные страницы, а не события. |
| excludePaths | array | Не читать страницы, чей адрес содержит любую из этих подстрок. |
| includeSubdomains | boolean | Считать своими и поддомены. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Сайт или страница (http/https)"
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Сколько страниц прочитать (1-20, по умолчанию 5)."
},
"intent": {
"type": "string",
"maxLength": 300,
"description": "Задача клиента словами: «страницы организаторов конференций», «все события», \"только вакансии\". Адреса карты упорядочиваются по смыслу, и читаются первые `limit` - так прицельное чтение работает там, где у нужных страниц нет общего фрагмента пути и `selectPaths` не находит ничего (замер 03.10.2026: 0/4 у подстроки против 4/4 в первых строках у отбора по смыслу). Работает, только если на сервере включён JEV_INTENT."
},
"search": {
"type": "string",
"description": "Оставить страницы, в тексте или заголовке которых есть эти слова (фильтр по СОДЕРЖИМОМУ прочитанного)."
},
"selectPaths": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Читать только страницы, адрес которых содержит любую из этих подстрок - это и есть прицельное чтение раздела. Без него crawl читает первые адреса карты, а у агрегаторов это служебные страницы, а не события."
},
"excludePaths": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Не читать страницы, чей адрес содержит любую из этих подстрок."
},
"includeSubdomains": {
"type": "boolean",
"description": "Считать своими и поддомены."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"query": {
"type": "string",
"maxLength": 2000,
"description": "Вопрос или тема исследования. Обязателен для НОВОГО исследования; при дозаборе по ticket не нужен."
},
"ticket": {
"type": [
"string",
"number"
],
"description": "Талон незавершённой задачи из прошлого ответа `[research_pending]`. Передайте его, чтобы дождаться готового результата - бесплатно, без нового списания."
}
},
"additionalProperties": false
}| instruction | string | Уточнение для разбора, если из схемы неочевидно: «бери цену со скидкой», «только вакансии удалённо». |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "URL страницы (http/https)"
},
"urls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 10,
"minItems": 1,
"description": "Список URL (1-10) вместо url - одна схема на все страницы. Лишнее отбрасывается по тарифу: на бесплатном берём 5, на платном больше. Каждая страница тарифицируется отдельно."
},
"engine": {
"enum": [
"auto",
"fast",
"dynamic",
"stealth"
],
"type": "string",
"description": "Как забирать страницу: auto (по умолчанию), fast, dynamic, stealth."
},
"schema": {
"description": "Схема результата. Проще всего - сокращённая форма: {\"title\":\"string\",\"price\":\"number?\",\"tags\":\"string[]\"}, где «?» помечает поле необязательным, а «[]» - массивом. Полный JSON Schema тоже принимается: {\"type\":\"object\",\"properties\":{\"price\":{\"type\":\"number\",\"description\":\"цена в рублях\"}},\"required\":[\"price\"]}. Типы: string, number, integer, boolean, array, object. Описания полей заметно повышают точность."
},
"instruction": {
"type": "string",
"maxLength": 1000,
"description": "Уточнение для разбора, если из схемы неочевидно: «бери цену со скидкой», «только вакансии удалённо»."
}
},
"additionalProperties": false
}| search | string | Оставить адреса, содержащие эту подстроку (регистр и «ё» не важны; слова через пробел ищутся по отдельности). Фильтр по адресу, не по тексту страницы. / Keep URLs containing this substring (case- and ё-insensitive; space-separated words are matched individually). It filters URLs, not page text. |
| selectPaths | array | Оставить только адреса, содержащие любую из этих подстрок (по одной на элемент). Так целятся в раздел: selectPaths: ["organizers"] на агрегаторе событий оставит 3565 адресов организаторов вместо служебных страниц. |
| excludePaths | array | Выбросить адреса, содержащие любую из этих подстрок: архивы, теги, служебные разделы. |
| includeSubdomains | boolean | Считать своими и поддомены (по умолчанию только тот же хост). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Сайт или страница (http/https)"
},
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Сколько адресов вернуть (1-200, по умолчанию 50). total показывает, сколько нашлось всего."
},
"intent": {
"type": "string",
"maxLength": 300,
"description": "Задача клиента словами: «страницы организаторов конференций», «все события», \"только вакансии\". Список адресов упорядочивается по смыслу под эту задачу, явный шум отсекается. Нужно там, где `selectPaths` бессилен: если у нужных страниц нет общего фрагмента пути, подстрока не найдёт ничего - на замере 03.10.2026 это 0/4, а упорядочивание по смыслу дало 4 нужных из 4 в первых строках. Работает, только если на сервере включён JEV_INTENT; иначе параметр игнорируется."
},
"search": {
"type": "string",
"description": "Оставить адреса, содержащие эту подстроку (регистр и «ё» не важны; слова через пробел ищутся по отдельности). Фильтр по адресу, не по тексту страницы. / Keep URLs containing this substring (case- and ё-insensitive; space-separated words are matched individually). It filters URLs, not page text."
},
"selectPaths": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Оставить только адреса, содержащие любую из этих подстрок (по одной на элемент). Так целятся в раздел: selectPaths: [\"organizers\"] на агрегаторе событий оставит 3565 адресов организаторов вместо служебных страниц."
},
"excludePaths": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Выбросить адреса, содержащие любую из этих подстрок: архивы, теги, служебные разделы."
},
"includeSubdomains": {
"type": "boolean",
"description": "Считать своими и поддомены (по умолчанию только тот же хост)."
}
},
"additionalProperties": false
}| offset | integer | С какого символа продолжить чтение. Берите значение из предыдущего ответа этого тула («продолжить: offset N»), не считайте сами. Пусто - с начала страницы. |
| webmcp | boolean | Экспериментально: проверить, объявляет ли страница WebMCP-инструменты (+1,5-3 с). По умолчанию выключено. |
| maxChars | integer | Сколько символов текста вернуть (200-50000, по умолчанию 4000). Поднимите, если нужен полный текст, а не только начало. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Полный URL страницы (http/https)"
},
"fresh": {
"type": "boolean",
"description": "Прочитать страницу заново, не беря недавно прочитанный текст. Нужно, когда страница только что изменилась. На цену не влияет: кредит списывается в любом случае."
},
"engine": {
"enum": [
"auto",
"fast",
"dynamic",
"stealth"
],
"type": "string",
"description": "Как забирать страницу: auto (по умолчанию - начинает с быстрого способа и сам поднимается, если текста не оказалось), fast (быстро, для статики и документации), dynamic (ждёт отрисовки JS - для SPA), stealth (медленно, максимально браузерное поведение). Указывайте явно только если знаете сайт."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "С какого символа продолжить чтение. Берите значение из предыдущего ответа этого тула («продолжить: offset N»), не считайте сами. Пусто - с начала страницы."
},
"webmcp": {
"type": "boolean",
"description": "Экспериментально: проверить, объявляет ли страница WebMCP-инструменты (+1,5-3 с). По умолчанию выключено."
},
"maxChars": {
"type": "integer",
"maximum": 50000,
"minimum": 200,
"description": "Сколько символов текста вернуть (200-50000, по умолчанию 4000). Поднимите, если нужен полный текст, а не только начало."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"urls"
],
"properties": {
"urls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 10,
"minItems": 1,
"description": "Список URL (1-10). Дубликаты отбрасываются, лишнее отбрасывается по тарифу: на бесплатном берём 5, на платном 10."
},
"fresh": {
"type": "boolean",
"description": "Читать все страницы батча заново, не беря недавно прочитанный текст. На цену не влияет."
},
"engine": {
"enum": [
"auto",
"fast",
"dynamic",
"stealth"
],
"type": "string",
"description": "Как забирать страницы: auto (по умолчанию), fast, dynamic, stealth. Применяется ко всем ссылкам батча."
},
"maxChars": {
"type": "integer",
"maximum": 50000,
"minimum": 200,
"description": "Сколько символов текста вернуть с КАЖДОЙ страницы (200-50000, по умолчанию 4000). На батче ставьте скромнее: пять больших страниц вытеснят из контекста всё остальное."
}
},
"additionalProperties": false
}| Язык поиска источников: auto, ru, en |
| timeRange | string | Свежесть источников - для утверждений, которые могли устареть (цены, версии, должности): all, day, week, month, year. |
| maxSources | integer | Сколько независимых источников читать (2-5, по умолчанию 4). Меньше - быстрее, больше - надёжнее. На цену не влияет. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"claim"
],
"properties": {
"claim": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Утверждение одной фразой, как проверяемый факт: «Node.js 22 - LTS», «ставка НДС для IT-услуг в России 20%». Не вопрос и не тема: чем конкретнее формулировка, тем точнее проверка."
},
"query": {
"type": "string",
"maxLength": 300,
"description": "Свой поисковый запрос, если утверждение плохо ищется как есть (длинное, со сленгом). По умолчанию ищем по тексту утверждения."
},
"language": {
"enum": [
"auto",
"ru",
"en"
],
"type": "string",
"description": "Язык поиска источников: auto, ru, en"
},
"timeRange": {
"enum": [
"all",
"day",
"week",
"month",
"year"
],
"type": "string",
"description": "Свежесть источников - для утверждений, которые могли устареть (цены, версии, должности): all, day, week, month, year."
},
"maxSources": {
"type": "integer",
"maximum": 5,
"minimum": 2,
"description": "Сколько независимых источников читать (2-5, по умолчанию 4). Меньше - быстрее, больше - надёжнее. На цену не влияет."
}
},
"additionalProperties": false
}| category |
| string |
| Категория: general, news, it, science |
| excerpts | boolean | Забрать реальный текст топ-страниц под запрос (+3-10 с: страницы читаются параллельно, потолок - таймаут страницы). По умолчанию выкл. |
| language | string | Язык: auto, ru, en |
| timeRange | string | Свежесть по дате публикации: day, week, month, year - окно от сегодняшнего дня (1/7/30/365 дней), all (по умолчанию) - без ограничения. Фильтр применяем мы, а не движок: страницы без даты публикации в окно не проходят, и в ответе написано, сколько таких отброшено. |
| excludeDomains | array | Исключить эти сайты и их поддомены: ["pinterest.com"]. До 10 доменов. |
| includeDomains | array | Искать только на этих сайтах, вместе с поддоменами: ["habr.com", "vc.ru"]. До 10 доменов. |
| publishedAfter | string | Нижняя граница даты публикации, YYYY-MM-DD включительно. Сильнее timeRange, если заданы обе. |
| chunksPerSource | integer | Сколько кусков текста вернуть на каждый из топ-4 результатов (0-5, по умолчанию 0). Куски вырезаны из страницы по релевантности запросу и ранжированы: один вызов даёт контекст, за которым иначе пришлось бы идти read_url. Цена вызова не меняется. |
| publishedBefore | string | Верхняя граница даты публикации, YYYY-MM-DD включительно. |
| includeRawContent | boolean | Вернуть полный текст страницы для топ-4 результатов (до 20 000 символов на каждый) - замена отдельному чтению. По умолчанию выкл. Осторожно с num: это десятки тысяч токенов, берите 1-3 результата. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"num": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Сколько результатов (1-30)"
},
"depth": {
"enum": [
"flash",
"auto"
],
"type": "string",
"description": "Глубина: auto (по умолчанию, больше движков и результатов) или flash (быстрее, узкая выдача - для одного факта)."
},
"query": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Поисковый запрос"
},
"category": {
"enum": [
"general",
"news",
"it",
"science"
],
"type": "string",
"description": "Категория: general, news, it, science"
},
"excerpts": {
"type": "boolean",
"description": "Забрать реальный текст топ-страниц под запрос (+3-10 с: страницы читаются параллельно, потолок - таймаут страницы). По умолчанию выкл."
},
"language": {
"enum": [
"auto",
"ru",
"en"
],
"type": "string",
"description": "Язык: auto, ru, en"
},
"timeRange": {
"enum": [
"all",
"day",
"week",
"month",
"year"
],
"type": "string",
"description": "Свежесть по дате публикации: day, week, month, year - окно от сегодняшнего дня (1/7/30/365 дней), all (по умолчанию) - без ограничения. Фильтр применяем мы, а не движок: страницы без даты публикации в окно не проходят, и в ответе написано, сколько таких отброшено."
},
"excludeDomains": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Исключить эти сайты и их поддомены: [\"pinterest.com\"]. До 10 доменов."
},
"includeDomains": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Искать только на этих сайтах, вместе с поддоменами: [\"habr.com\", \"vc.ru\"]. До 10 доменов."
},
"publishedAfter": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Нижняя граница даты публикации, YYYY-MM-DD включительно. Сильнее timeRange, если заданы обе."
},
"chunksPerSource": {
"type": "integer",
"maximum": 5,
"minimum": 0,
"description": "Сколько кусков текста вернуть на каждый из топ-4 результатов (0-5, по умолчанию 0). Куски вырезаны из страницы по релевантности запросу и ранжированы: один вызов даёт контекст, за которым иначе пришлось бы идти read_url. Цена вызова не меняется."
},
"publishedBefore": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Верхняя граница даты публикации, YYYY-MM-DD включительно."
},
"includeRawContent": {
"type": "boolean",
"description": "Вернуть полный текст страницы для топ-4 результатов (до 20 000 символов на каждый) - замена отдельному чтению. По умолчанию выкл. Осторожно с num: это десятки тысяч токенов, берите 1-3 результата."
}
},
"additionalProperties": false
}| Description |
|---|
| to | integer | Конец окна в секундах. |
| from | integer | Начало окна в секундах (для продолжения используйте next_from из ответа). |
| videos* | array | Ссылки на ролики YouTube или их id (до 5 за вызов). Формы: watch?v=, youtu.be/, shorts, embed, live, голый 11-символьный id. |
| maxChars | integer | Сколько символов текста вернуть на ролик (200-200000, по умолчанию 12000). Длинный ролик собирается из нескольких окон сервиса автоматически: 200000 покрывает лекцию на 3-4 часа. Можно задать на всё соединение заголовком X-Srezai-Max-Chars или X-Srezai-Options. |
| speakers | boolean | true - разметить, кто когда говорит: реплики "Спикер 1/2/3" с таймкодами вместо сплошного текста. Разделение по смыслу реплик, а не по голосу; имён нет, метки условные. Дороже: 15 кредитов за ролик (вместо 1). Нужен ключ: в бесплатном режиме без ключа недоступно. |
| languages | array | Языки в порядке предпочтения, по умолчанию ["ru", "en"]. Ручная дорожка предпочтительнее авто. Если нужного языка нет - вернём доступные. |
| timestamps | boolean | true - вернуть фрагменты с таймкодами вместо сплошного текста (дороже по контексту; для навигации по длинному ролику). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"videos"
],
"properties": {
"to": {
"type": "integer",
"minimum": 0,
"description": "Конец окна в секундах."
},
"from": {
"type": "integer",
"minimum": 0,
"description": "Начало окна в секундах (для продолжения используйте next_from из ответа)."
},
"videos": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 5,
"minItems": 1,
"description": "Ссылки на ролики YouTube или их id (до 5 за вызов). Формы: watch?v=, youtu.be/, shorts, embed, live, голый 11-символьный id."
},
"maxChars": {
"type": "integer",
"maximum": 200000,
"minimum": 200,
"description": "Сколько символов текста вернуть на ролик (200-200000, по умолчанию 12000). Длинный ролик собирается из нескольких окон сервиса автоматически: 200000 покрывает лекцию на 3-4 часа. Можно задать на всё соединение заголовком X-Srezai-Max-Chars или X-Srezai-Options."
},
"speakers": {
"type": "boolean",
"description": "true - разметить, кто когда говорит: реплики \"Спикер 1/2/3\" с таймкодами вместо сплошного текста. Разделение по смыслу реплик, а не по голосу; имён нет, метки условные. Дороже: 15 кредитов за ролик (вместо 1). Нужен ключ: в бесплатном режиме без ключа недоступно."
},
"languages": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 5,
"minItems": 1,
"description": "Языки в порядке предпочтения, по умолчанию [\"ru\", \"en\"]. Ручная дорожка предпочтительнее авто. Если нужного языка нет - вернём доступные."
},
"timestamps": {
"type": "boolean",
"description": "true - вернуть фрагменты с таймкодами вместо сплошного текста (дороже по контексту; для навигации по длинному ролику)."
}
},
"additionalProperties": false
}