Google Workspace Marketplace App Review Extractor by App ID
Pricing
from $0.49 / 1,000 results
Google Workspace Marketplace App Review Extractor by App ID
Pull public reviews for a specific Google Workspace Marketplace app by its App ID, with reviewer name, star rating, review text, posting date and helpful-vote count, filterable by minimum rating and sort order.
Pricing
from $0.49 / 1,000 results
Rating
0.0
(0)
Developer
Nimbryxo-studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Features
Share
Google Workspace Marketplace App Review Extractor
Collect the public user reviews of any Google Workspace Marketplace app - stars, review text, date, reviewer, helpful votes and the developer's replies - for one app or a whole watchlist. No Google account, cookie, API key or proxy is needed.
The actor paginates the public review list and deduplicates overlapping pages, so a request for 100 reviews returns 100 unique reviews instead of repeated first-page rows.
What this actor does
- One row per review - rating, text, date, reviewer, helpful votes and developer replies
- Multiple apps - pass app IDs or full Marketplace URLs in one run
- Pagination - follows the public review list page by page and removes duplicates
- Filters - rating range, date window and review-text keyword
- Languages - 28 Marketplace language slices or the mixed "All languages" stream
- App context - developer, listing rating, exact installs, pricing class, icon and links
- Empty fields are omitted - never
null, blank or placeholder values
Output per review
One row per review:
| Field | Meaning |
|---|---|
reviewId | Marketplace review identifier |
appId, appName, appUrl, sourceUrl | App identity and listing URL |
rating | 1-5 stars |
reviewText | Review body (omitted for rating-only reviews) |
reviewDate, reviewTimestamp | Posting date and full UTC timestamp |
reviewerName, reviewerAvatarUrl | Public reviewer identity and avatar |
helpfulCount | Other users' helpful votes |
reviewLanguage | Language slice when a specific language is requested |
developerReply, developerReplyDate, developerReplyTimestamp, developerReplyAuthor | Latest developer reply |
developerReplies[] | Every reply on the review (text, date, timestamp, author, avatarUrl, replyId) |
hasDeveloperReply, replyCount | Reply flags |
appDeveloper, appDeveloperWebsite | Publisher identity |
appRating, appReviewCount, appInstallCount, appInstallsLabel | Listing rating, rating count and exact installs |
appPricingModel | Free, Free trial, Freemium or Paid (omitted when unpublished) |
appIconUrl, appWorksWith[], appLastUpdated | Listing media, Google apps it plugs into, last update date |
appTermsUrl, appPrivacyUrl, appSupportUrl, appWebsiteUrl | Published listing links |
recordType, scrapedAt | Record marker and scrape time |
Empty values are omitted at every depth, so every row contains only real data.
Input
| Input | Default | What it does |
|---|---|---|
appIds | ["539341275670"] | App IDs or full Marketplace URLs. Duplicates are removed. Legacy saved tasks that send a single appId still work. |
maxItems | 100 | Total reviews saved across all apps. |
maxReviewsPerApp | 2000 | Hard per-app ceiling; unused slots are offered to the next app. |
sortBy | MostRelevant | MostRelevant / MostHelpful use Google's helpful ranking; Newest uses the date ranking; HighestRated / LowestRated sort the fetched reviews. |
reviewLanguage | en | 28 Marketplace language slices, or all for the site's mixed "All languages" stream. |
minRating, maxRating | - | Star range (1-5). maxRating: 2 keeps complaints only. |
sinceDate, untilDate | - | ISO date/datetime, or a relative period such as 30 days, 2 weeks, 6 months. |
reviewKeyword | - | Case-insensitive text that must appear in the review. |
Only appIds (or the legacy appId) is needed. Everything else has a working default.
Examples
One app, newest first:
{"appIds": ["539341275670"],"maxItems": 100,"sortBy": "Newest"}
A watchlist of IDs and URLs, complaints from the last 90 days:
{"appIds": ["539341275670","https://workspace.google.com/marketplace/app/form_presenter+timer/93519377337"],"maxItems": 200,"maxReviewsPerApp": 100,"maxRating": 2,"sinceDate": "90 days"}
German reviews that mention a specific word:
{"appIds": ["218858140171"],"reviewLanguage": "de","reviewKeyword": "Rechnung","maxItems": 50}
Reliability and coverage
- Pagination stops at the source total, repeated pages with no new review IDs, the per-app cap, or a safety page cap. Review IDs are deduplicated, so page overlap never produces duplicate rows.
- Replies are attached to the reviews that carry them.
- Rating, date and keyword filters are applied to the fetched reviews. Restrictive filters scan more pages automatically; raise
maxReviewsPerAppfor deeper history. - Network errors are retried on 429/5xx. A bad App ID is skipped with a clear status message, and the remaining apps still run.
- No proxy, no cookies: no account, login, cookie, API key or proxy setup is needed.
Use cases
- App due diligence - read recent complaints and developer responses before adopting an add-on
- Review monitoring - track new reviews for a watchlist of Marketplace apps
- Competitive research - compare ratings, installs and feedback across similar apps
- Product quality - surface recurring issues by rating, date or keyword
- Localization QA - inspect reviews in a specific language slice
FAQ
How many reviews can I collect? Up to 2,000 per app (maxReviewsPerApp) and up to 5,000 per run (maxItems). The Marketplace serves text reviews in 10-review pages; rating-only reviews have no body and are not part of the text review total.
Why does an app show thousands of ratings but fewer text reviews? The listing's rating count includes rating-only reviews. The review service returns reviews with text, split by language. Both numbers are real.
Why pick a language? The site serves one language slice at a time. reviewLanguage gives the complete slice for that language. all uses the site's mixed "All languages" stream, whose total can be shorter than the sum of the individual language slices.
Are review names always present? Most reviews show a public name and avatar; some are anonymous. Those fields are omitted rather than filled with a placeholder.
Do all apps have developer replies? Replies are shown when the developer posted one. They are attached to the reviews that carry them; the actor never invents a reply.
Are HighestRated and LowestRated real Marketplace sorts? The Marketplace only offers helpful and newest ordering. The actor fetches newest reviews and sorts that window by stars. Increase maxReviewsPerApp to widen the window.
Can I search for apps by keyword? This actor takes app IDs or URLs. Keyword app discovery is a separate Marketplace surface; use the ID from any app URL.
Can I monitor new reviews? Use sinceDate (for example 7 days) on a schedule; the actor returns only reviews in that window. Cross-run "new since last run" state is not part of this extractor.
A URL field looks broken? App icons, banners and reviewer avatars are public lh3.googleusercontent.com URLs and return images without cookies. Listing pages are public HTML. If an app's own terms/privacy/support link is dead, that is the publisher's link, not a scrape error.
What about an invalid App ID? The Marketplace returns HTTP 400 for an unknown ID. The actor reports it in the status message and continues with the other apps.
Limitations
- Caps are 2,000 reviews per app and 5,000 per run.
- The Marketplace exposes two real server sorts;
HighestRated/LowestRatedsort the fetched window client-side. - Reviewer names, avatars and developer replies can be absent upstream; missing values are omitted, never filled.
- Per-review permalinks are not published;
sourceUrlis the app page. - Restrictive filters scan a bounded page budget; raise
maxReviewsPerAppfor deeper history.