Google Workspace Marketplace Scraper: Apps & Reviews avatar

Google Workspace Marketplace Scraper: Apps & Reviews

Pricing

from $2.00 / 1,000 apps

Go to Apify Store
Google Workspace Marketplace Scraper: Apps & Reviews

Google Workspace Marketplace Scraper: Apps & Reviews

Scrape & monitor Google Workspace Marketplace apps & developers (Gmail, Docs, Sheets add-ons): exact installs, ratings, OAuth scopes, reviews with complaint insights, market reports. $2/1,000 apps.

Pricing

from $2.00 / 1,000 apps

Rating

0.0

(0)

Developer

Bin

Bin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

Scrape and monitor apps on the Google Workspace Marketplace: the add-ons and integrations for Gmail, Google Docs, Sheets, Slides, Forms, Drive, Calendar, Chat, Meet and Classroom. Each app comes back with its exact install count (e.g. 3,638,156, not just "3M+"), rating, review count, developer, website, pricing model, the Google apps it works with, the listing-updated date and, optionally, the OAuth permissions it requests and the user reviews (stars, text, date and the developer's reply).

New: one row per developer (outputLevel: "developers"): every app a company has on the marketplace, with total exact installs, total reviews, weighted rating, website domain and EU trader status, plus developer-level alerts (new app launched, install growth).

New: market reports (includeMarketReport / marketReportOnly): one row per keyword or category that sizes the niche by exact installs: install concentration, median installs, ratings, integrations, pricing mix, stale listings, top developers, weak incumbents (big apps with poor ratings) and, on scheduled runs, the fastest-growing apps.

New: review insights & competitor comparison (includeReviewInsights): what users complain about in each add-on (bugs, authorization, permissions, quota limits, pricing, Google integration, support…) with example quotes, feature requests, rating trend (last 90 days vs older) and developer reply rate, plus a side-by-side comparison that shows each app's relative weaknesses and strengths against its competitors.

In monitor mode each run is compared with the previous one. You get new apps, install growth, new reviews, rating moves, rank changes, listing updates, pricing changes and permission changes, so a daily schedule becomes an alert feed for your category.

No login, no API key, no browser. It reads the data the marketplace embeds in its public pages, so it's fast and cheap.

Why this one?

  • Exact installs, not buckets. The marketplace shows "1M+", but the page data has the exact number. You get installs (exact) and installsLabel, plus installsChange / installsChangePct between runs. That's the best public traction metric for Workspace apps.
  • Monitor mode built in. outputMode: "new" returns only apps never seen before; "changed" adds installs-up/down (with a % threshold), reviews-up, rating-up/down, rank-up/down, entered-list, listing-updated, pricing-change, renamed and permissions-change.
  • OAuth permissions audit. With includeDetails, every app gets its requested scopes and simple flags such as gmailFullAccess, driveFullAccess, calendarFullAccess, contacts, adminDirectory, externalRequests.
  • User reviews with developer replies. includeReviews adds one row per review: stars, text, date, developerReply and developerReplyAt. Newest or most helpful first, any review language, complaints-only filter (maxReviewRating: 2), date limit, and in monitor mode only reviews posted since the last run.
  • Review insights, not just a review dump. includeReviewInsights adds one review-insights row per app: rating distribution, negative share, rating trend (improving / stable / declining), top complaint themes in 1-3★ reviews with mentions, share and example quotes, feature requests, frequent two-word phrases, developer reply rate and median reply time — and, with 2+ apps, a review-comparison row (themes per 100 reviews for every app, relative weaknesses ≥1.5× the peer median, strengths, rankings). Themes are tuned for Workspace add-ons (quota limits, authorization, OAuth permissions, Google integration). Every review row also gets topics.
  • Search, categories and watchlists in one run. Keyword searches, any of 26 categories and curated lists (Popular, Top rated, Sales & CRM, Education…) and a list of specific app URLs.
  • Filters that matter. Works with (only Gmail add-ons, only Sheets add-ons…), pricing model, developer, min installs / rating / reviews.
  • Developer view (account list). outputLevel: "developers" groups apps by company and finds the developer's other apps too (the marketplace has no developer pages, so it searches the developer's names and website domains). Apps listed under several names or websites of one company (e.g. Zoho Corporation + zoho.com, lucidchart.com + lucidspark.com) are merged. Each row: appCount, totalInstalls, totalReviews, averageRating, topApp, worksWith, pricingModels, latestListingUpdate, appsNotUpdatedInYear, websiteDomain(s), traderStatus, plus new-app / app-removed / installs-up / reviews-up / rating alerts in monitor mode.
  • Market report per niche. marketReportOnly: true turns 100 search results into one row: how much of the installs the top 3 apps own, what most apps charge, which Google apps they plug into, how many listings are stale, and which big apps have weak ratings (an opening for a better product). Add trackChanges and a schedule to see new entrants and the fastest-growing apps each week.
  • No contact harvesting. Developer trader addresses and emails are deliberately not exported. You get the developer name, website and support/privacy/terms links.

Use cases

  • Workspace app developers (ISVs): track your own listing and competitors daily: install growth, new reviews (with their text, so you can answer them fast), rating changes, your rank for your main keywords, and alerts when a new competitor launches.
  • SaaS partnerships & integrations teams: map who already ships a Gmail, Sheets or Calendar integration in your category, and how big they are.
  • Product & customer research: read what users complain about in competing add-ons (1-2 star reviews) and how their developers reply, before you build or position a feature.
  • Security & IT admins: audit which marketplace apps request full Gmail or Drive access before allowing them in your domain, and get alerted when an app's permissions change.
  • B2B lead generation: companies that ship a Workspace add-on are a well-defined account list. The developer view gives one row per company with website domain, total installs and app count, ready for CRM enrichment (company data only, no personal data).
  • Investors & market research: size categories by installs, spot fast-growing apps (install velocity) and stale listings (daysSinceUpdate).
  • Founders choosing what to build: run marketReportOnly on 10 candidate keywords and compare concentration, median installs, pricing and weak incumbents in one table.

Input

FieldDescription
searchTermsKeywords, e.g. "crm", "email tracking", "mail merge", "ai"
categoriese.g. popular-apps, top-rated, business-tools/sales-and-crm, productivity/task-management, education (26 options)
appUrlsWatchlist: app URLs or numeric ids
maxResultsPerQueryMax apps per search / category (the marketplace shows at most 100)
worksWithgmail, docs, sheets, slides, forms, drive, calendar, chat, meet, classroom, web-app
pricingfree, freemium, free-trial, paid
developersDeveloper name or website contains, e.g. "zoho"
minInstalls, minRating, minReviewsQuality filters
includeDetailsAdd OAuth scopes, sensitiveAccess flags and full description
outputLevelapps (default) or developers (one row per developer company with all its apps and totals)
includeMarketReportAdd one market-report row per search term / category
marketReportOnlyOutput only the market report rows (no app rows)
includeReviewsAdd user reviews as separate rows (recordType: "review")
maxReviewsPerAppMax reviews per app (default 50, up to 2,000)
reviewSortrecent (newest first) or helpful
reviewLanguageReview language code, e.g. en (default), de, es, fr, pt-BR, ja
maxReviewRating2 = only 1-2 star reviews; 5 = all
reviewsSince"30 days", "2 weeks" or a date like "2026-09-01"
includeReviewInsightsOne review-insights row per app + a review-comparison row for 2+ apps (works without includeReviews; set maxReviewsPerApp to e.g. 200 for the sample size)
outputModeall, new (never seen before) or changed (new + any change)
trackChangesAdd change fields in all mode too
minInstallsChangePct, minRankChangeAlert thresholds (default 2% and 5 positions)
stateKeyMonitor name: use one per schedule

Example: compare three niches before building an add-on (one row each):

{
"searchTerms": ["mail merge", "crm", "invoice"],
"marketReportOnly": true,
"trackChanges": true,
"stateKey": "niche-research"
}

Example: CRM landscape with permissions:

{
"searchTerms": ["crm"],
"categories": ["business-tools/sales-and-crm"],
"includeDetails": true
}

Example: daily alert of new or changed Gmail add-ons for email tracking:

{
"searchTerms": ["email tracking", "mail merge"],
"worksWith": ["gmail"],
"outputMode": "changed",
"stateKey": "gmail-addons-watch"
}

Example: watch your app and two competitors:

{
"appUrls": [
"https://workspace.google.com/marketplace/app/insightly_crm/340379804296",
"800057673271"
],
"outputMode": "changed",
"stateKey": "competitors"
}

Example: complaints about two competitors in the last 6 months, with developer replies:

{
"appUrls": ["800057673271", "340379804296"],
"includeReviews": true,
"maxReviewRating": 2,
"reviewsSince": "6 months",
"maxReviewsPerApp": 200
}

Example: daily feed of new reviews for your app (only reviews posted since the previous run):

{
"appUrls": ["https://workspace.google.com/marketplace/app/streak_crm_for_google_workspace/800057673271"],
"includeReviews": true,
"outputMode": "changed",
"stateKey": "my-app-reviews"
}

Example: one row per developer for the top CRM add-ons, with weekly developer alerts:

{
"searchTerms": ["crm"],
"outputLevel": "developers",
"outputMode": "changed",
"stateKey": "crm-developers"
}

Output

{
"id": "340379804296",
"slug": "insightly_crm",
"name": "Insightly CRM",
"tagline": "Insightly",
"description": "Insightly provides customer relationship management (CRM) and project management software ...",
"developer": "insightly.com",
"developerWebsite": "https://insightly.com",
"traderStatus": "unspecified",
"installs": 3638156,
"installsLabel": "3M+",
"rating": 4.24,
"reviewCount": 364,
"pricing": null,
"worksWith": ["web-app"],
"listingUpdated": null,
"daysSinceUpdate": null,
"supportUrl": "https://www.insightly.com/features/google-apps/",
"termsUrl": "https://www.insightly.com/terms-of-service/",
"privacyPolicyUrl": "https://www.insightly.com/privacy-policy/",
"url": "https://workspace.google.com/marketplace/app/insightly_crm/340379804296",
"oauthScopes": ["https://www.googleapis.com/auth/drive", "https://mail.google.com/", "https://www.googleapis.com/auth/calendar", "..."],
"oauthScopeCount": 8,
"sensitiveAccess": ["gmailFullAccess", "driveFullAccess", "calendarFullAccess", "contacts", "adminDirectory"],
"rank": 1,
"query": "search:crm",
"isNew": false,
"previousInstalls": 3561020,
"installsChange": 77136,
"installsChangePct": 2.17,
"reviewsChange": 1,
"changeTypes": ["installs-up", "reviews-up"],
"scrapedAt": "2026-10-05T14:33:05.907Z"
}

With includeReviews, each review is its own row (the Reviews view in the dataset):

{
"recordType": "review",
"appId": "93519377337",
"appName": "Form Presenter+Timer",
"appUrl": "https://workspace.google.com/marketplace/app/form_presenter+timer/93519377337",
"reviewId": "12668142882758386030",
"rating": 1,
"text": "After publishing the form, the person only Attempt remaining 0/1 but unable to proceed. ...",
"createdAt": "2026-09-18T06:16:30.650Z",
"developerReply": "Thanks for reaching out! We completely understand how frustrating it is ...",
"developerReplyAt": "2026-09-25T05:04:09.101Z",
"hasDeveloperReply": true,
"language": "en",
"scrapedAt": "2026-10-06T03:40:12.511Z"
}

With outputLevel: "developers", each developer is one row (recordType: "developer", the Developers view):

{
"recordType": "developer",
"developer": "Lucid Software",
"developerNames": ["Lucid Software"],
"website": "http://www.lucidchart.com",
"websiteDomain": "lucidchart.com",
"websiteDomains": ["lucidchart.com", "lucidspark.com", "lucidscale.com"],
"traderStatus": "trader",
"appCount": 4,
"totalInstalls": 53093228,
"totalReviews": 9954,
"averageRating": 4.06,
"topApp": { "name": "Lucidchart", "installs": 47158259, "rating": 4.06, "reviewCount": 9848 },
"worksWith": ["chat", "docs", "sheets", "slides", "calendar", "drive", "meet", "gmail"],
"pricingModels": { "freemium": 4 },
"latestListingUpdate": "2025-11-18",
"appsNotUpdatedInYear": 3,
"matchedApps": ["Lucidchart"],
"apps": [{ "id": "7081045131", "name": "Lucidchart", "installs": 47158259, "rating": 4.06, "pricing": "freemium", "...": "..." }]
}

In monitor mode developer rows add changeTypes (new, new-app, app-removed, installs-up/down, reviews-up, rating-up/down), newApps, removedApps, totalInstallsChange(Pct) and reviewsChange. An app only counts as removed when its marketplace page is gone. portfolioSearchCapped: true means a portfolio search hit the 100-result limit (very large developers such as Zoho), so a few apps may be missing.

Market report rows

Real numbers from a test run ("searchTerms": ["mail merge"], marketReportOnly, trimmed):

{
"recordType": "market-report",
"query": "search:mail merge",
"appsAnalyzed": 100,
"developers": 78,
"totalInstalls": 244413901,
"medianInstalls": 166413.5,
"installsDistribution": { "under 1K": 16, "1K-10K": 14, "10K-100K": 15, "100K-1M": 21, "1M-10M": 29, "10M+": 5 },
"topAppInstallSharePct": 16.5,
"top3InstallSharePct": 37.5,
"top10InstallSharePct": 66.7,
"reviewWeightedRating": 4.73,
"ratingDistribution": { "4.5-5": 47, "4.0-4.4": 27, "3.0-3.9": 15, "below 3": 5, "unrated": 6 },
"worksWith": [{ "value": "sheets", "count": 81, "pct": 81 }, { "value": "docs", "count": 25, "pct": 25 }, "..."],
"pricing": [{ "value": "freemium", "count": 45, "pct": 45 }, { "value": "free", "count": 28, "pct": 28 }, "..."],
"updatedLast90DaysPct": 42.4,
"notUpdatedInYearPct": 34.3,
"topDevelopersByInstalls": [{ "developer": "Talarian", "apps": 2, "installs": 40995383, "installSharePct": 16.8 }, "..."],
"weakIncumbents": [{ "name": "Mail merge for Google Docs", "installs": 4826008, "rating": 3.49, "reviewCount": 683 }, "..."],
"sinceLastRun": { "newApps": 3, "installsChangePct": 2.75, "fastestGrowing": [{ "name": "Mailmeteor: Mail merge for Google Sheets", "previousInstalls": 6372821, "installs": 7966027, "installsChangePct": 25 }] }
}

sinceLastRun appears from the second run with trackChanges (or a monitor mode) and the same stateKey (the numbers above come from a test with an edited snapshot). With includeDetails the report adds medianOauthScopes, sensitiveAccess and appsWithSensitiveAccessPct.

Review insights rows

Real test, searchTerms: ["mail merge"], maxResultsPerQuery: 3, includeReviewInsights: true, maxReviewsPerApp: 150 (newest 150 reviews per app, trimmed):

{
"recordType": "review-insights",
"appName": "Yet Another Mail Merge: Mail Merge for Gmail",
"reviewsAnalyzed": 150,
"averageRating": 4.56,
"negativeSharePct": 10,
"ratingTrend": { "last90DaysReviews": 5, "last90DaysAverage": 3.8, "olderAverage": 4.59, "change": -0.79, "direction": "declining" },
"topIssues": [
{ "theme": "quota & limits", "mentions": 6, "examples": [{ "rating": 2, "text": "YAMM has unfortunately been gradually reducing the effectiveness of it's free service. Initially, you could send 50 emails a day…" }] },
{ "theme": "pricing & paywall", "mentions": 6 },
{ "theme": "billing & subscription", "mentions": 5 }
],
"developerReplies": { "replied": 23, "replyRatePct": 15.3, "medianReplyHours": 134.39 }
}

The review-comparison row of the same run: YAMM is weak in quota & limits and pricing & paywall (4 per 100 reviews vs a peer median of 0.34); Mailmeteor's relative weaknesses are Google integration and customer support, its strengths quota and pricing. The comparison is also saved as the REVIEW_COMPARISON record.

App rows have recordType: "app". Reviewer names and profile photos are not collected.

pricing is free, freemium, free-trial, paid or null (not stated). traderStatus is the EU trader declaration (trader, non-trader, unspecified). OAuth fields appear with includeDetails (watchlist apps always include them when it is on). Change fields appear when outputMode is new / changed or trackChanges is on. A run summary is saved to the SUMMARY record in the key-value store.

Pricing

Pay per result, no subscription:

  • $2 per 1,000 apps returned
  • +$3 per 1,000 apps with includeDetails (OAuth permissions + full description, one extra page per app)
  • $0.50 per 1,000 reviews with includeReviews
  • $5 per 1,000 developer rows with outputLevel: "developers" (each row includes the developer's whole app portfolio; portfolio apps are not charged separately)
  • $0.01 per review insights row (includeReviewInsights, one per app + one comparison row). The reviews read for the analysis are not charged unless you also output them with includeReviews.
  • $0.02 per market report row (includeMarketReport / marketReportOnly). In report-only mode apps are not charged, so sizing 10 niches costs $0.20.

A 100-app category costs $0.20 ($0.50 with permissions). In new / changed mode you pay only for apps that are new or changed, so a daily monitor usually costs cents per month.

FAQ

Can I scrape Google Workspace Marketplace reviews? Yes. Turn on includeReviews. You get the star rating, review text, date and the developer's reply for every review the marketplace shows, newest or most helpful first, up to 2,000 per app.

Why does an app show 364 reviews but I get fewer? reviewCount counts reviews in all languages, while the marketplace serves reviews one language at a time (like the Language selector on the Reviews tab). Set reviewLanguage (e.g. de, es, pt-BR) to get the others. Many reviews are rating-only and have no text.

How do I get only new reviews every day? Use outputMode: "changed" (or "new") with a stateKey and a daily schedule. After the first run, only reviews posted since the previous run are returned, and apps whose review count did not change are not even requested.

How are complaint themes detected? With keyword rules (no AI), the same method as our App Store / Google Play review tool, with themes adapted to Workspace add-ons: bugs & errors, authorization & login, permissions & privacy, quota & limits, billing, pricing & paywall, speed, Google integration, recent update, customer support, usability, data loss, spam & ads, and feature requests. A review can match several themes. Results are reproducible, but a keyword can misfire, so check the example quotes.

Do insights work in monitor mode? Yes. With outputMode: "new" / "changed" only new reviews are output, but the insights always analyse the newest maxReviewsPerApp reviews, so a weekly schedule gives you a comparable snapshot every week.

Do you collect reviewer names? No. Reviewer names and profile photos are left out on purpose. Review text and developer replies are public on the app page.

Can I get one row per developer / publisher instead of per app? Yes. Set outputLevel to developers. Matched apps are grouped by company and the developer's other marketplace apps are added, with total installs, reviews and rating across the portfolio.

Can I compare niches without exporting every app? Yes. marketReportOnly: true returns one row per search term or category with install concentration, median installs, ratings, pricing mix, integrations, stale-listing share, top developers and weak incumbents, for $0.02 per row.

Does the developer view include emails? No. Only company-level public data: developer name(s), website and domain, and the EU trader status flag. Trader addresses, emails and phone numbers are not exported.

Scheduling a monitor

  1. Set outputMode to changed (or new) and give the monitor a stateKey.
  2. Run it once. The first run is the baseline and returns everything.
  3. Create an Apify Schedule (e.g. daily). Later runs return only what changed. Connect a webhook, Slack or email integration to get alerts.

More tools from the same developer