Shopify App Review & Reply Watch
Pricing
from $10.00 / 1,000 complete shopify app checks
Shopify App Review & Reply Watch
Monitor Shopify App Store ratings, new or edited reviews and developer reply changes with repeat history. Отслеживание рейтингов, отзывов и ответов разработчиков Shopify.
Pricing
from $10.00 / 1,000 complete shopify app checks
Rating
0.0
(0)
Developer
Ivan Solovyev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Share
English
Run repeat checks for public Shopify App Store listings. Each complete check produces one Dataset observation with the current rating snapshot, star distribution, and changes in a bounded newest-review window.
What each check reports
- current aggregate rating, rating count, and 1 to 5 star counts;
- new and edited reviews in the checked newest-first window;
- new and edited developer replies;
baseline,changed,unchanged, orcoverage_changedstatus;- source URLs, UTC observation time, and a stable
observationId.
The first complete run creates a baseline. Reuse the same watchId for later checks and run that schedule sequentially, so each comparison uses the preceding accepted state. State is isolated by the Apify user that starts the Actor and by watchId.
Input
{"apps": ["privy", "https://apps.shopify.com/klaviyo"],"watchId": "agency-portfolio","maxPagesPerApp": 2,"maxReviewsPerApp": 20}
One run accepts up to 5 apps, 5 pages per app, and 50 newest reviews per app. It also enforces 30 HTTP requests, 1 MiB per response, 10 MiB per run, and a 75-second processing deadline inside the 90-second Actor timeout. Each app observation is capped at 512 KiB.
Output
Example from the public Privy listing observed on 2026-10-08:
{"observationId": "b3ad7a9817e98ab61f0fd28f932abc44","appHandle": "privy","appTitle": "Privy ‑ Email, SMS & Pop Ups","observedAt": "2026-10-08T00:00:00Z","complete": true,"pagesFetched": 2,"reviewWindowCount": 20,"windowIsBounded": true,"coverageFingerprint": "shopify-app-store:reviews:newest:v1:pages=2:reviews=20","ratingValue": 4.5,"ratingCount": 4208,"starCounts": {"5": 3146, "4": 604, "3": 193, "2": 88, "1": 177},"changeType": "baseline","newReviews": [],"changedReviews": [],"newReplies": [],"changedReplies": []}
The complete row also contains source URLs, bounded change arrays, aggregate deltas, page coverage, and review-window limits. baseline records the first visible window. changed reports review, reply, or aggregate-rating changes. unchanged confirms a repeated complete check. coverage_changed reports an input-window change without classifying newly exposed older reviews as new.
Coverage and source health
A Dataset row is written only after every requested page for that app passes HTTP, size, identity, pagination, and rating-total checks. If a requested page cannot be verified, the app status in SUMMARY is unknown, the prior baseline is retained, and no complete Dataset row is written for that app. A run with only unknown app checks has summary health unknown.
The review window is newest-first and bounded by the input. A review leaving that window is retained in compact state and is not reported as removed. A developer reply missing from one observation is not reported as removed or as new when the same reply reappears. Changing maxPagesPerApp or maxReviewsPerApp produces coverage_changed; newly visible older reviews establish the new coverage baseline instead of creating false new-review alerts.
Usage unit
A run-start fee applies even when no complete observation is produced. Completed observations are charged separately, including unchanged checks. Apify compute and proxy usage are included in the event prices. See Pricing for the current tariff.
One complete, source-verified app observation delivered as a Dataset row is one usage unit. baseline, changed, unchanged, and coverage_changed rows use the same unit. A source failure before a complete observation produces no Dataset row. If a run fails later after a complete row has already been delivered, that delivered observation remains a usage unit.
Outputs
- Dataset: one row per complete app observation.
SUMMARY: complete and unknown app statuses, source evidence, and delivery totals.
Schedule the Actor from Apify Console or call it from an integration. Run one watchId sequentially so each comparison uses the preceding accepted state.
Русский
Запускайте повторные проверки публичных страниц Shopify App Store. Каждая полная проверка создаёт одну строку Dataset с текущим рейтингом, распределением оценок и изменениями в ограниченном окне последних отзывов.
Что содержит проверка
- текущий средний рейтинг, число оценок и распределение от 1 до 5 звёзд;
- новые и изменённые отзывы в проверенном окне от новых к старым;
- новые и изменённые ответы разработчика;
- статус
baseline,changed,unchangedилиcoverage_changed; - ссылки на источники, время наблюдения в UTC и стабильный
observationId.
Первый полный запуск создаёт базовый срез. Для следующих проверок повторяйте тот же watchId и запускайте это расписание последовательно, чтобы каждое сравнение использовало предыдущее принятое состояние. Состояние разделяется по пользователю Apify, который запустил Actor, и по watchId.
Входные данные
{"apps": ["privy", "https://apps.shopify.com/klaviyo"],"watchId": "agency-portfolio","maxPagesPerApp": 2,"maxReviewsPerApp": 20}
Один запуск принимает до 5 приложений, до 5 страниц на приложение и до 50 последних отзывов на приложение. Также действуют пределы: 30 HTTP-запросов, 1 МиБ на ответ, 10 МиБ на запуск и 75 секунд обработки внутри 90-секундного таймаута Actor. Строка наблюдения приложения ограничена 512 КиБ.
Результат
Пример с публичной страницы Privy, наблюдавшейся 08.10.2026:
{"observationId": "b3ad7a9817e98ab61f0fd28f932abc44","appHandle": "privy","appTitle": "Privy ‑ Email, SMS & Pop Ups","observedAt": "2026-10-08T00:00:00Z","complete": true,"pagesFetched": 2,"reviewWindowCount": 20,"windowIsBounded": true,"coverageFingerprint": "shopify-app-store:reviews:newest:v1:pages=2:reviews=20","ratingValue": 4.5,"ratingCount": 4208,"starCounts": {"5": 3146, "4": 604, "3": 193, "2": 88, "1": 177},"changeType": "baseline","newReviews": [],"changedReviews": [],"newReplies": [],"changedReplies": []}
Полная строка также содержит ссылки на источники, ограниченные массивы изменений, изменения агрегатов, покрытие страниц и предел окна отзывов. baseline сохраняет первое видимое окно. changed сообщает об изменении отзыва, ответа или агрегированного рейтинга. unchanged подтверждает повторную полную проверку. coverage_changed сообщает об изменении входного окна и не считает вновь видимые старые отзывы новыми.
Покрытие и состояние источника
Строка Dataset записывается только после того, как все запрошенные страницы приложения прошли проверки HTTP, размера, идентичности, пагинации и итогов оценок. Если запрошенную страницу нельзя подтвердить, приложение получает статус unknown в SUMMARY, предыдущий базовый срез сохраняется, а полная строка для этого приложения не записывается. Если все проверки приложений неизвестны, состояние источника в сводке равно unknown.
Окно отзывов ограничено входными параметрами и отсортировано от новых к старым. Отзыв, который вышел за границу окна, сохраняется в компактном состоянии и не помечается удалённым. Ответ разработчика, отсутствующий в одном наблюдении, не считается удалённым или новым при повторном появлении того же ответа. Изменение maxPagesPerApp или maxReviewsPerApp создаёт coverage_changed; вновь видимые старые отзывы формируют новую базовую линию покрытия и не создают ложные сигналы о новых отзывах.
Единица использования
Плата за старт применяется и при отсутствии полной проверки. Полные доставленные проверки оплачиваются отдельно, включая проверки без изменений. Вычисления и прокси Apify включены в цену событий. Актуальный тариф указан в разделе Pricing.
Одна полная, подтверждённая источником проверка приложения, доставленная строкой Dataset, равна одной единице использования. Строки baseline, changed, unchanged и coverage_changed используют одну и ту же единицу. Ошибка источника до формирования полного наблюдения не создаёт строку Dataset. Если run завершается ошибкой уже после доставки полной строки, это доставленное наблюдение остаётся единицей использования.
Выходные данные
- Dataset: одна строка на полное наблюдение приложения.
SUMMARY: полные и неизвестные статусы приложений, доказательства источника и итоги доставки.
Запускайте Actor по расписанию в Apify Console или вызывайте его из интеграции. Один watchId должен выполняться последовательно, чтобы каждое сравнение использовало предыдущее принятое состояние.