Получить отзывы
Отзывы одного объекта, всей папки или всего аккаунта – с фильтрами, сортировкой и постраничной выдачей.
Адресат – object_id или folder_id, не оба сразу. Без адресата лента идёт по всем включённым объектам аккаунта.
Параметры
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может быть nullnull – отправляется на площадку; 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 / hlsembed – плеер площадки, 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 и описаны на странице Ошибки.