textanalyseradvanced Анализ текста страницы и конкурентов: вхождения, LSI-слова, ТЗ
Считает общую статистику текста, популярные слова, облака релевантности, вхождения запросов, LSI-слова, оценку оптимизации URL и ТЗ на дооптимизацию — по вашей странице и по страницам (или текстам) конкурентов. Метод асинхронный: постановка возвращает report_id, по нему приходит сводка с оглавлением, а тяжёлые блоки отчёта забираются по одному параметром path. То же в интерфейсе — текстовый анализатор. Простой SEO-анализ одного текста (плотность, заспамленность, Ципф) — метод textanalyser.
- Режим
- асинхронный:
report_id, отчёт по частям черезpath - Стоимость
- 1 лимит за страницу или текст + платные опции; списывается по завершении
- Объём
- до 10 страниц конкурентов или текстов, до 150 запросов
- Тело
- форма или JSON
- Одновременно
- 1 задача, на премиум-тарифах — 5
Постановка задачи
/api/textanalyseradvanced
Параметры — в теле формы (массивы как multiple_urls[]=…) или JSON с заголовком Content-Type: application/json; для длинных текстов и списков запросов удобнее JSON. Ключ — в query.
Флаги-опции включаются значениями 1, true, yes, on; любое другое значение и отсутствие параметра — выключено. Списки (URL, запросы, стоп-слова) можно передать массивом или строкой — по элементу на строку.
Параметры query и JSON-тело
-
partstring обязательныйЧто анализируем: страницы по адресам или тексты из запроса. -
analyse_typestring обязательныйРежим анализа. -
single_urlstringURL вашей страницы. Обязателен дляby_urlв режимахsingleиcompare; вaverageне используется. -
multiple_urlsstring|arrayURL конкурентов (compare) или страниц для усреднения (average), до 10. Строкой адреса приводятся к нижнему регистру — если в URL важен регистр, передавайте массивом. -
single_textstringВаш текст. Обязателен дляby_textво всех режимах; вaverageвходит в усреднение вместе сmultiple_texts. -
multiple_textsarrayДляby_text: тексты конкурентов (compare) или дополнительные тексты для усреднения (average, обязательны), до 10. -
parsing_typestringДляby_url: как получить контент страниц. Без параметра и с любым другим значением — браузер без JS. -
brief_summaryboolТолько сводка: общая статистика, популярные слова, облака релевантности. Без вхождений, LSI-слов, оценки оптимизации URL и ТЗ — быстрее, отчёт в разы меньше. -
check_occurrencesboolПроверить вхождения запросов изcheck_occurrences_value; без запросов — ошибка. -
check_occurrences_valuestring|arrayЗапросы для вхождений, до 150; в каждом не больше 7 значимых слов (без стоп-слов). Приводятся к нижнему регистру. Без них не считается оценка оптимизации URL. -
split_occurrencesboolСчитать точные формы фраз отдельно от морфологических (заполняетdirect_form). -
check_uniquenessboolПроверить уникальность текста каждой страницы. 50 лимитов за каждые начатые 1000 символов текста страницы. -
check_turgenevboolОценить риск по «Тургеневу». 25 лимитов за страницу. -
collect_lsi_wordsboolСобрать слова из подсветки выдачи и популярные слова тематики. Работает только сcheck_occurrencesи непустымcheck_occurrences_value, иначе молча игнорируется. 1 лимит за запрос. Собранные слова попадут в отчёт только сlsi_action. -
lsi_actionstringЧто сделать с собранными словами. Без параметра собранные слова в LSI-слова не попадают, хотя сбор оплачен. -
collect_lrintРегион сбора слов, кодlr. -
collect_ssintПоисковая система для сбора слов. -
ai_structureboolСгенерировать структуру страницы нейросетью — ключrecommendations.ai_structure. Толькоcompareиaverage, вsingleигнорируется. 50 лимитов за задачу. -
type_ai_structurestringТип страницы для структуры. -
exclude_numbersboolИсключить числа из статистики и словарей. -
seo_text_onlyboolУчитывать только SEO-текст и ссылки внутри него. -
remove_no_index_contentboolНе учитывать контент внутри<noindex>. -
remove_altsboolНе учитывать текст атрибутовalt. -
custom_stop_wordsboolИспользовать свой список стоп-слов изstop_wordsвместо стандартного. -
stop_wordsstring|arrayСвои стоп-слова; читаются только сcustom_stop_words. -
use_chars_amountboolСчитать ТЗ на фиксированный объём текста изchars_amount(сценарийwith_density_by_charsвrecommendations). -
chars_amountintОбъём текста для ТЗ в символах; читается только сuse_chars_amount.
Ответ
-
report_idintID задачи для получения результата.
Прогресс и сводка отчёта
/api/textanalyseradvanced
Опрашивайте раз в 20–30 секунд. Пока задача выполняется, приходит {"error": "In progress", "code": 50, "progress": 60, "time": "2026-08-03 12:00:00"} (progress и time — когда прогресс уже известен). Готовая задача отдаёт сводку и оглавление блоков; сами блоки — следующим запросом. Опросы и чтение готового отчёта лимиты не тратят.
Параметры query
-
report_idint обязательныйID задачи из ответа на постановку.
Ответ
-
report_idintID задачи. -
timestringВремя готовности, Unix timestamp. -
costintСтоимость задачи в лимитах. Сcheck_uniqueness— оценка сверху (250 на страницу): фактически списывается по объёму текста. -
requestobjectПараметры запуска: флаги —on/off, тексты заменены длиной (single_text_length,competitor_text_lengthsилиmultiple_text_lengths), стоп-слова — числом (stop_words_count). -
errorsstring[]Нефатальные проблемы прогона текстом: например, URL, исключённые из анализа, и причина. -
summaryobjectСводка.Вложенные поля
-
analyse_typestringРежим анализа. -
user_pageobjectВаша страница:url,title,description,h1,general_statistics,url_optimization_estimation— оценка оптимизации, % (null, если не считалась). -
user_page.general_statisticsobjectcharacter_count,character_count_text,character_count_links— символов всего, в тексте и в ссылках;word_count,word_count_text,word_count_links— то же в словах;uniqueness— уникальность, %;spam_score— заспамленность;stop_words_percentage— доля стоп-слов, %;zipf_law_quality— качество по закону Ципфа;turgenev_risk— риск по «Тургеневу». Без соответствующих опцийuniquenessиturgenev_risk—null. -
competitors_benchmarkobjectmin,max,averageпо тем же метрикам среди конкурентов — с ними сравнивается ваша страница. От 4 конкурентов крайние значения отбрасываются. -
competitorsobjectТе же поля, что вuser_page, по каждому конкуренту; ключ — URL (для текстов —text1,text2…).
-
-
blocksobjectОглавление: по каждому посчитанному блоку —items(сколько элементов) иkeys(первые 20 ключей, с них начинаетсяpath). Сbrief_summaryесть толькоusers,competitors,popular_words,clouds.
Блок отчёта
/api/textanalyseradvanced
К report_id добавляется path — путь до узла отчёта, шаги через точку. Что лежит в блоках — ниже. Ответ тоже содержит report_id, time и cost.
Параметры query
-
report_idint обязательныйID задачи из ответа на постановку. -
pathstring|array обязательныйПуть до узла, напримерpopular_words.freq.body. Если ключ сам содержит точку (URL конкурента), передавайте путь массивом:path[]=competitors&path[]=https://rival.ru/page/.*— весь отчёт целиком (может весить десятки мегабайт). Без параметра метод отдаёт сводку. -
limitintСколько ключей узла вернуть.0— все. -
offsetintСмещение для постраничного чтения узла. -
keysboolВернуть только список ключей узла (полеkeysвместоdata). Включается любым непустым значением, кроме0.
Ответ
-
pathstringПройденный путь;*— корень отчёта. -
itemsintРазмер всего узла, а не выданной страницы. Для скалярного узла — 1. -
offset, limitintЭхо параметров — только если передан ненулевойlimitилиoffset. -
datamixedСодержимое узла (или его страница). -
keysstring[]Сkeys=1— ключи узла (или его страницы) вместоdata. -
report_id, time, costmixedКак в сводке.
Ошибки
| Код | Сообщение | Когда |
|---|---|---|
-100 |
tools errors |
Постановка: ошибки параметров (неверный part/analyse_type, нет URL или текста, больше 10 страниц, больше 150 запросов, запрос длиннее 7 значимых слов) или не хватает лимитов на задачу — списком в details. С errorType: TASK_START_FAIL и строкой в details — задачу не удалось поставить в очередь, повторите. |
-60 |
tools errors |
Превышено число одновременных задач (1, на премиум-тарифах 5): errorType: MAX_PARALLEL_TASKS_FAIL, текст — строкой в details. |
-51 |
No requests data |
Без report_id задача ставится только методом POST. |
-52 |
Unknown path |
Неверный path: в ответе path — последний существующий узел, available — его ключи (до 50). |
50 |
In progress |
Задача ещё выполняется — не ошибка; progress — процент готовности. |
-4 |
Access denied |
report_id чужой или от другого инструмента. |
-104…-107, -125 |
Processing error / Limits run out / … |
Задача завершилась ошибкой, отменена или шла дольше 6 часов — см. асинхронные задачи. |
-68, -80…-83 |
Not enough … limits |
Лимиты за период исчерпаны — проверяется до любого запроса к методу; в ответе available и need. |
-1, -2 |
Access denied |
Ключ не передан (HTTP 404) или не найден (HTTP 403). |
Что лежит в блоках
| Блок | Содержимое |
|---|---|
users, competitors | Статистика и мета-данные страниц: general_statistics и additional (url, title, description, h1, hTags). У конкурентов — по URL. В users.general_statistics также лежат min/max/average — те же, что в competitors_benchmark. |
popular_words | 20 самых популярных слов: freq — частота, dens — плотность; внутри зоны body, text, links, в каждой users и competitors, а в freq режима compare ещё entry — сколько вхождений нужно на ваш объём текста. |
clouds | Облака релевантности: usersPage и competitorsPage по зонам body, text, links — слова с количеством и процентом. |
text_and_links | Таблица «Текст и ссылки»: occurrences — вхождения запросов, all_words — все слова, lsi_words — LSI-слова, stop_words — стоп-слова. В каждой — dictionary (словарь) и result (расчёт по вашей странице и конкурентам); occurrences.result делится на morphological_form, direct_form (заполнен только с split_occurrences) и queries_words. Самый тяжёлый блок — читайте с limit и offset. |
headings_and_metatags | То же по зонам title, description, h1: occurrences и all_words. |
url_optimization_estimation | Оценка оптимизации, % — по URL (для текстов — по ключам текстов). Считается только в compare и average и только с запросами в check_occurrences_value; иначе пустой массив. |
recommendations | ТЗ на текст — только в compare и average. Путь: text_and_links или headings_and_metatags → additional_optimization (дооптимизация страницы) или new_page (новая страница) → without_density, with_density или with_density_by_chars (на объём chars_amount) → зона → occurrences, all_words, lsi_words: список {type, word, action, amount, form_description} — что увеличить или уменьшить и на сколько. С ai_structure — ещё ключ ai_structure. |
Постраничное чтение
items — размер всего узла. Чтобы обойти узел, увеличивайте offset на limit, пока не дойдёте до items; состав большого блока удобно сначала посмотреть через keys=1. Пример: path=text_and_links.occurrences.result.morphological_form&limit=50&offset=0 — первые 50 фраз.
Стоимость
| Что | Лимиты |
|---|---|
| Базовый анализ | 1 за каждый URL или текст (в compare считается и ваша страница) |
check_uniqueness | 50 за каждые начатые 1000 символов текста страницы |
check_turgenev | 25 за страницу |
collect_lsi_words | 1 за каждый запрос из check_occurrences_value |
ai_structure | 50 за задачу |
Списание — один раз, по завершении задачи. Перед запуском проверяется, что лимитов хватает на расчётную стоимость; с check_uniqueness резервируется по 250 на страницу, фактически списывается по объёму текста. Сравнение страницы с 5 конкурентами без платных опций — 6 лимитов.
check_uniqueness — самая дорогая опция: страница на 10 000 символов — около 500 лимитов.
Ограничения
- До 10 URL или текстов конкурентов (в
compareплюс ваша страница; вaverageпо текстам — плюсsingle_text), до 150 запросов, в запросе до 7 значимых слов. - Анализ страницы с конкурентами занимает минуты. Готовый отчёт можно читать сколько угодно раз бесплатно — перезапускать задачу ради другого блока не нужно.
- Не запрашивайте
path=*на больших задачах — идите по оглавлениюblocks. - URL, с которых не удалось получить контент, исключаются из анализа с причиной в
errors; при блокировке на стороне сайта помогает добавить IP Пиксель Тулс в исключения. Если недоступна ваша страница или все конкуренты, отчёт приходит пустым (толькоerrors) и лимиты не списываются.