Отзывы

Получить отзывы

Доступ для AI:

Отзывы одного объекта, всей папки или всего аккаунта – с фильтрами, сортировкой и постраничной выдачей.

Адресат – object_id или folder_id, не оба сразу. Без адресата лента идёт по всем включённым объектам аккаунта.

GET
/v3/reviews

Параметры

replyableда/нет

true – только отзывы, на которые можно ответить через Rewio (is_replyable: true), false – все остальные.

reply_stateстрокаunanswered / waiting / answered / skipped

Состояние ответа: unanswered – ответа нет, вашего в ожидании нет, отзыв не пропущен; waiting – ваш ответ отправлен и ещё не появился на карточке; answered – на карточке стоит ответ организации, ваш или поставленный не через Rewio; skipped – вы отметили отзыв «Пропустить». На тарифе без ответов waiting и skipped всегда пусты. Просто «есть ли ответ на площадке» – has_reply.

object_id · folder_idчисло

Объект или папка целиком – не больше одного из двух. Без обоих – все включённые объекты аккаунта.

link_ids · source_idsсписок чиселпо умолчанию пусто

Ограничить выдачу конкретными ссылками объекта или площадками. Пусто – без ограничения.

sort_by · sort_orderстрокаreview_date / rating / reply_dateпо умолчанию «review_date»desc / ascпо умолчанию «desc»

Поле и направление сортировки: дата публикации, оценка или дата ответа организации (reply_date). При сортировке по reply_date отзывы без ответа всегда в конце.

min_rating · max_ratingчисло0–51–5

Границы оценки по шкале 1–5, включительно.

published_from · published_toдата

Границы даты публикации, включительно. Названный в верхней границе день входит в период целиком.

tzстрока

Часовой пояс (IANA: Europe/Moscow, Asia/Vladivostok), в котором считаются дни published_from / published_to. Без параметра – UTC, неизвестный пояс – Москва.

has_images · has_videosда/нет

Наличие фотографий и видео. true – только с ними, false – только без.

has_mediaда/нет

Фото или видео: true – есть хотя бы одно из них, false – нет ни того, ни другого.

has_ratingда/нет

Наличие оценки: true – только с оценкой, false – только без оценки.

has_text · has_replyда/нет

Наличие текста отзыва и ответа организации. true – только с ними, false – только без.

searchстрока

Поиск подстроки в тексте отзыва, без учёта регистра. Запрос короче двух символов игнорируется.

limit · offsetчисло1–1000по умолчанию 100не меньше 0по умолчанию 0

Сколько отзывов вернуть за запрос и сколько пропустить с начала выборки.

Ещё 3 параметра – нужны реже
show_deleted · only_deletedда/нетпо умолчанию нет

Отзывы, пропавшие с площадки: добавить их к выдаче или оставить только их.

show_hidden · show_pinnedда/нетпо умолчанию нет

Показывать отзывы, скрытые или закреплённые в этом объекте. По умолчанию лента не отдаёт ни тех, ни других – как это устроено.

split_pros_consда/нетпо умолчанию нет

Разбирать слитый текст на «достоинства» и «недостатки»: часть площадок отдаёт их одной строкой. Разобранные блоки убираются из text – подробнее.

Ответ

dataсписок объектов

Отзывы текущей страницы.

data[].idчисло

Идентификатор отзыва в Rewio.

data[].link_idчисло

Ссылка, с которой собран отзыв.

data[].source_idчисло

Площадка, с которой собран отзыв.

data[].source_slugстрокаможет быть null

Слаг площадки (2gis, google, yandex_maps). Отвечать можно, если совпадает с provider отзыва.

data[].authorстрокаможет быть null

Имя автора так, как его показывает площадка. Фамилии маскируются.

data[].textстрокаможет быть null

Текст отзыва.

data[].review_dateдата и времяможет быть null

Когда отзыв опубликован: в UTC, если площадка позволяет пересчитать время, иначе – как показывает площадка.

data[].rating_originalстрокаможет быть null

Оценка в шкале самой площадки, как есть.

data[].ratingчисломожет быть null

Та же оценка, приведённая к шкале 1–5.

data[].review_urlстрокаможет быть null

Прямая ссылка на отзыв на площадке.

data[].reply_textстрокаможет быть null

Ответ организации на отзыв.

data[].reply_dateдата и времяможет быть null

Когда организация ответила.

data[].providerстрокаможет быть null

Площадка, на которой отзыв написан изначально (слаг в нижнем регистре: 2gis, google, tbank, booking, tripadvisor, …). У нативного отзыва совпадает с source_slug – только на такой отзыв можно опубликовать ответ.

data[].is_replyableда/нетможет быть null

Можно ли ответить на отзыв через Rewio: ответы на ссылке подключены, и отзыв родной для площадки. Приходит только на площадках, где Rewio публикует ответы.

data[].our_replyобъектможет быть null

Ваш ответ, отправленный через Rewio, и его состояние – то же, что `GET /reply`. null – ответа через Rewio нет или тариф без ответов.

data[].our_reply.statusстрокаpending / published / failed / deletedможет быть null

Что с вашим ответом на карточке: null – отправлен, площадке ещё не передан; pending – площадка приняла, на карточке ещё не видели (проверяем через 15 с, 30 с, 1 мин … 4 ч); published – ваш текст стоит на карточке; deleted – вашего ответа на карточке нет: вы его удалили или он пропал (причина – в error); failed – не опубликован (почему – в error).

data[].our_reply.textстрока

Текст, который должен стоять на площадке. Пусто – ответ снимается.

data[].our_reply.submitted_atдата и времяможет быть null

Когда вы отправили этот текст (UTC).

data[].our_reply.published_atдата и времяможет быть null

Когда мы увидели ваш текст на карточке (UTC).

data[].our_reply.updated_atдата и время

Когда ответ меняли в последний раз (UTC).

data[].our_reply.errorобъектможет быть null

Почему ответ не опубликован или пропал с карточки.

data[].our_reply.error.codeстрока

Машинный код ошибки публикации.

data[].our_reply.error.messageстрока

Пояснение для человека.

data[].is_skippedда/нет

Вы отметили отзыв «Пропустить». На тарифе без ответов всегда false.

data[].complaintобъектможет быть null

Последняя жалоба на отзыв – ваша или найденная на площадке. null – жалоб нет или тариф без жалоб.

data[].complaint.statusстрокаpending / accepted / rejected / failedможет быть null

null – отправляется на площадку; pending – на рассмотрении; accepted – отзыв удалён; rejected – отзыв остался. Подробно – GET /v3/reviews/{review_id}/complaints.

data[].complaint.filed_atдата и времяможет быть null

Когда жалоба подана (UTC).

data[].complaint.is_oursда/нет

true – подана через Rewio; false – найдена на площадке.

totalчисло

Сколько отзывов подходит под фильтры, без учёта limit.

limitчисло

Размер страницы, применённый к запросу.

offsetчисло

Смещение, применённое к запросу.

has_nextда/нет

Есть ли ещё отзывы за текущей страницей.

accessобъектможет быть null

Ограничение выдачи. Приходит только когда показали не всё.

access.reasonстрока

Почему выдача ограничена. trial – пробный доступ, manual – ограничение, согласованное по вашему договору.

access.limit_per_linkчисло

Сколько последних отзывов показывается по каждой ссылке (площадке объекта).

access.hidden_totalчисло

Сколько отзывов уже собрано сверх показанных. Считается по всему архиву и не зависит от фильтров запроса.

access.messageстрока

Готовая формулировка для показа человеку.

collectingобъектможет быть null

Первого сбора по части площадок объекта ещё не было. Приходит только пока это так.

collecting.link_countчисло

Сколько площадок участвует в выдаче.

collecting.links_collectingчисло

По скольким из них первый сбор идёт или стоит в очереди.

collecting.links_failedчисло

По скольким из них первый сбор не удался.

collecting.messageстрока

Готовая формулировка на английском.

Ещё 20 полей – нужны реже
data[].has_imagesда/нет

Есть ли у отзыва изображения.

data[].imagesсписок объектов

Изображения отзыва.

data[].images[].template_urlстрока

Адрес с плейсхолдером {size}, в таком виде его отдаёт площадка.

data[].images[].previewстрокаможет быть null

Уменьшенная версия для списков и сеток.

data[].images[].imageстрокаможет быть null

Полноразмерная версия для просмотра.

data[].has_videosда/нет

Есть ли у отзыва видео.

data[].videosсписок объектов

Видео отзыва.

data[].videos[].kindстрокаembed / file / hls

embed – плеер площадки, file – прямой файл, hls – поток.

data[].videos[].video_urlстрокаможет быть null

Адрес видео или плеера, смотря какой kind.

data[].videos[].thumbnailстрокаможет быть null

Кадр-заставка.

data[].videos[].widthчисломожет быть null

Ширина в пикселях, если площадка её сообщает.

data[].videos[].heightчисломожет быть null

Высота в пикселях, если площадка её сообщает.

data[].videos[].duration_msчисломожет быть null

Длительность в миллисекундах, если площадка её сообщает.

data[].is_deletedда/нет

Отзыв пропал с площадки.

data[].deleted_atдата и времяможет быть null

Когда мы заметили пропажу.

data[].is_hiddenда/нет

Отзыв скрыт в этом объекте. Приходит только при show_hidden=true.

data[].is_pinnedда/нет

Отзыв закреплён в этом объекте. Приходит только при show_pinned=true.

data[].pin_positionчисломожет быть null

Место отзыва среди закреплённых, считая с единицы.

data[].prosстрокаможет быть null

Блок «достоинства». Приходит только при split_pros_cons=true.

data[].consстрокаможет быть null

Блок «недостатки». Приходит только при split_pros_cons=true.

curl -X GET "https://api.rewio.tech/v3/reviews?object_id=20"
{  "data": [    {      "id": 143046,      "link_id": 177,      "source_id": 1,      "author": "Сергей",      "text": "Замечательно. Приеду ещё. ",      "review_date": "2026-07-21T18:07:03",      "rating_original": "5",      "rating": 5,      "review_url": "https://yandex.ru/maps/org/1020542995/reviews?reviews[publicId]=u182gzp1r9rg4urew906ky9dd0",      "reply_text": "Уважаемый Гость,\nБлагодарим Вас за визит в гостиницу «Националь» и высокую оценку нашего обслуживания. Ждем Вас снова!\nС наилучшими пожеланиями,\t\nЕлена Позолотина\nДиректор по операционной деятельности.\n",      "reply_date": "2026-07-23T13:27:07",      "has_images": true,      "images": [        {          "template_url": "https://avatars.mds.yandex.net/get-altay/17743308/2a0000019f85dc34d7ee3b24b4b9ec82bdbd/{size}",          "preview": "https://avatars.mds.yandex.net/get-altay/17743308/2a0000019f85dc34d7ee3b24b4b9ec82bdbd/M",          "image": "https://avatars.mds.yandex.net/get-altay/17743308/2a0000019f85dc34d7ee3b24b4b9ec82bdbd/XXXL"        },        {          "template_url": "https://avatars.mds.yandex.net/get-altay/18473509/2a0000019f85dc42d3b7bbf4e10e375c612e/{size}",          "preview": "https://avatars.mds.yandex.net/get-altay/18473509/2a0000019f85dc42d3b7bbf4e10e375c612e/M",          "image": "https://avatars.mds.yandex.net/get-altay/18473509/2a0000019f85dc42d3b7bbf4e10e375c612e/XXXL"        },        {          "template_url": "https://avatars.mds.yandex.net/get-altay/20191917/2a0000019f85dc255b9c227cfbc55fc57724/{size}",          "preview": "https://avatars.mds.yandex.net/get-altay/20191917/2a0000019f85dc255b9c227cfbc55fc57724/M",          "image": "https://avatars.mds.yandex.net/get-altay/20191917/2a0000019f85dc255b9c227cfbc55fc57724/XXXL"        }      ],      "has_videos": false,      "videos": [],      "source_slug": "yandex_maps",      "is_replyable": true,      "our_reply": null,      "is_skipped": false,      "complaint": null    }  ],  "total": 397,  "limit": 1,  "offset": 0,  "has_next": true}

Пустая выдача сразу после создания объекта

Сбор по новой площадке занимает от нескольких секунд до нескольких минут, и всё это время отзывов по ней ещё нет. Чтобы пустую страницу не пришлось трактовать наугад, в ответе появляется блок collecting:

{
  "collecting": {
    "link_count": 2,
    "links_collecting": 1,
    "links_failed": 0,
    "message": "First collection is still running for 1 of 2 platforms — reviews appear here as soon as it finishes."
  },
  "total": 0, "limit": 100, "offset": 0, "has_next": false, "data": []
}

Блок приходит только пока по какой-то площадке не было ни одного успешного сбора. Как только сбор прошёл, ключ пропадает, даже если отзывов у объекта не оказалось вовсе: пустая выдача без collecting означает, что мы всё собрали и отзывов нет.

Если links_failed больше нуля, первый сбор по этим площадкам не удался; подробности – в полях scrape_status и scrape_error у ссылок объекта (Получить объект).

Ждать готовности удобнее по объекту, а не по отзывам: scrape_status объекта меняется на success, partial или failed, когда сбор закончен – готовый цикл ожидания есть в Быстром старте.

Коды ошибок общие для всего API и описаны на странице Ошибки.