trends_search
Лента трендов: какие ролики сейчас взлетают, с числами, x-фактором, скоростью набора просмотров и долей комментариев. Главный инструмент продукта — с него отвечают на «что нового в моей теме за сутки». Ниши берутся из niches_list.
ЧЕТЫРЕ ЛОВУШКИ, без которых вывод будет неверным:
days — это НЕ «опубликовано за N дней». Условие в коде: trending_since >= cutoff ИЛИ published_at >= cutoff. days=1 вернёт и ролик, опубликованный позавчера, если движок признал его трендом сегодня. Называть выдачу «ролики за сутки» нельзя — это «попало в тренд за сутки ИЛИ вышло за сутки».
Поверх любого days на вкладках global и for_you всегда стоит пол свежести: опубликовано не раньше 7 суток назад. days=90 на них не расширит окно — потолок останется недельным.
sort=velocity — скорость набора, УЦЕНЁННАЯ возрастом замера (полураспад 12 ч): вчерашний рекорд уступает свежему замеру поскромнее, поэтому порядок может расходиться с сырым views_per_hour_at_last_check; ролики без замера скорости и с нулевой — в конце. sort=comment_rate — доля комментариев от просмотров; с долей null — в конце. Сортировки по hot_score нет: в коде это значение делает ORDER BY x_factor DESC.
tab=my_authors — это НЕ тренды. Там сняты флаг тренда, порог min_x и семисуточный пол свежести, но окно days ДЕЙСТВУЕТ и там: это лента отслеживаемых авторов за окно days по дате публикации, а не вся их хронология. Чтобы получить всю, задайте days явно большим. x_factor у таких роликов чаще всего отсутствует, и это нормально.
Скорость набора (views_per_hour_at_last_check) измерена в момент последней проверки автора, а не сейчас, и может быть null — это «не измеряли», а не «ноль». Так же читаются comment_rate (доля комментариев), comment_rate_x (она же к норме автора) и funnel (признак воронки «напиши слово — пришлю»): null — не измеряли.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Поиск по подписи ролика и нику автора. На FREE недоступен. | |
| tab | No | global — все авторы базы; my_authors — ваши авторы без фильтров тренда, но в пределах окна days; for_you — тренды, суженные до ваших ниш и интересов. По умолчанию global. | |
| days | No | Окно «признан трендом ИЛИ опубликован» в днях, 1..3650. По умолчанию 1 на global и for_you (там поверх всё равно стоит недельный пол) и 90 на my_authors — у автора, снимающего пару раз в неделю, суточное окно пусто, и это читалось бы как «автор молчит». | |
| page | No | Страница, с 1 | |
| sort | No | По умолчанию x_factor, а на my_authors — recent. velocity — скорость с уценкой возраста замера, comment_rate — доля комментариев. Сортировки по hot_score не существует. | |
| min_x | No | Минимальный x-фактор, по умолчанию 2.0. На tab=my_authors не применяется вовсе. | |
| niche | No | Ниши через запятую, до 20: slug ниши и/или group_key из niches_list. Неизвестное значение ошибки не даёт — молча сужает выдачу до пустой; нерезолвнутое перечислено в ответе полем niche_unresolved. | |
| per_page | No | Строк на страницу, до 50 | |
| platform | No | instagram | tiktok | youtube; пусто — все. Регистр и сокращения не понимаются: "Instagram" или "ig" — ошибка, а не пустая выдача. |