Business Review Monitor — New & Changed Reviews
Pricing
from $1.50 / 1,000 source checkeds
Business Review Monitor — New & Changed Reviews
Monitor public business-review pages for new and changed reviews with persistent state, structured output, and selector fallback when Schema.org data is unavailable.
Pricing
from $1.50 / 1,000 source checkeds
Rating
0.0
(0)
Developer
Automation Tech
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Monitor public business-review pages and receive structured review records ready for alerts, dashboards, reputation workflows, and scheduled automation.
The Actor uses Schema.org / JSON-LD review data first, with optional CSS selectors for sources that expose reviews in regular HTML.
Persistent monitoring · New/changed detection · Stable review IDs · Pay only for delivered review rows
Quick start
Add one or more public review pages:
{"startUrls": [{ "url": "https://example.com/customer-reviews" }],"maxResults": 100}
Each delivered row contains a stable uniqueKey, source URL, scrape timestamp, and normalized review fields such as business name, review text, author, publication date, review URL, and rating when the page exposes them.
Turn a snapshot into a monitor
Enable persistent state and reuse the same stateKey on scheduled runs:
{"startUrls": [{ "url": "https://example.com/customer-reviews" }],"monitor": true,"stateKey": "example-business","emitMode": "new_and_changed","maxResults": 100}
Monitoring modes:
new— deliver reviews not previously acknowledged by this monitorchanged— deliver previously known review records whose normalized content changednew_and_changed— deliver bothall— deliver all observed reviews
Monitoring state is stored in the named Apify Key-Value Store business-review-monitor-state. State is updated only after a selected row is actually delivered. Reviews blocked by maxResults or the PPE spending limit are not incorrectly marked as delivered, so they remain eligible on a later run.
changeRetentionDays and maxStateRecords keep state bounded.
What counts as a changed review?
A review is matched by its stable uniqueKey. When the same key is observed again, the Actor hashes the normalized review data. A different hash is classified as changed.
Typical changes can include:
- review text edits
- rating changes on the same review
- title/author/date metadata changes exposed by the source
This does not claim to monitor an aggregate business rating unless the target review records themselves expose that information.
Extraction
Automatic structured-data mode
When a page exposes Schema.org Review, LocalBusiness, Organization, or compatible JSON-LD, the Actor normalizes those reviews automatically.
CSS selector fallback
For a source without useful structured review markup, configure:
- Review card selector
- Review title selector
- Review body selector
- Rating selector
- Author selector
- Published date selector
- Optional stable review ID attribute
Selectors are source-specific and may need maintenance if the website redesigns its markup.
Output
The Reviews dataset view exposes useful monitoring columns directly:
- monitor status
- business
- rating
- review title/body
- author
- published date
- review URL
- source URL
- stable unique key
The OUTPUT record contains run-level diagnostics:
- requested / successful / failed targets
- emitted and charged rows
- PPE charge-limit status
- new / changed / unchanged counts
- rows intentionally skipped by monitoring mode
- persisted state size
- output warnings
Billing semantics
The live Store uses Apify's synthetic apify-default-dataset-item event for each review row written to the default Dataset. The current event price is $0.0015 per delivered review row ($1.50 / 1,000), plus the standard Actor-start event at $0.00005.
Duplicate rows, unchanged reviews excluded by monitoring mode, failed targets, and rows stopped by the result or spending cap are not written as delivered review rows and therefore do not create a default-Dataset-item event.
The current customer price and any future pricing changes remain visible in the Apify Pricing tab.
Scheduling
For recurring monitoring:
- Test each source with a small manual run.
- Enable
monitor. - Give the workflow a stable
stateKey. - Choose
newornew_and_changed. - Schedule the same input hourly, daily, or weekly through Apify.
The first new / new_and_changed run treats previously unknown reviews as new. A changed-only first run establishes a baseline without emitting those initial reviews.
Reliability and limits
Public review sites differ significantly.
- Schema.org markup may be incomplete.
- CSS selectors can stop matching after a source redesign.
- Some sites return login walls, CAPTCHAs, or HTTP 403 responses.
- The Actor does not bypass authentication or private APIs.
- Blocked pages are target failures, not evidence that a business has zero reviews.
- Some Trustpilot/G2-style surfaces may block generic public crawling and should not be advertised as supported unless a live run has been verified.
A run where every target fails is failed rather than silently presented as an empty successful scrape. Successful targets from a partial run are preserved.
Responsible use
Use the Actor for lawful collection of public review information. Follow applicable privacy, content, consumer-protection, and platform requirements.