G2 & Capterra Reviews Scraper — Software Reviews API avatar

G2 & Capterra Reviews Scraper — Software Reviews API

Under maintenance

Pricing

Pay per usage

Go to Apify Store
G2 & Capterra Reviews Scraper — Software Reviews API

G2 & Capterra Reviews Scraper — Software Reviews API

Under maintenance

Scrape software product reviews from Capterra. Filter by product URL, sort order, minimum star rating and max review count. Alert mode outputs only reviews not seen in previous runs — perfect for scheduled reputation monitoring. Pay-per-event: $1 per 1,000 review records.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Bikram

Bikram

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Extract software product reviews from Capterra without maintaining a scraper, building an auth flow, or paying for a third-party reviews API. This Actor fetches review cards directly from Capterra's HTML (via requests + BeautifulSoup), normalizes each review into a flat JSON record, and streams results to the Apify dataset — ready for spreadsheets, CRMs, dashboards, or AI agents.

Turn on alert mode and run it on an Apify Schedule to monitor any product for new reviews automatically — reputation monitoring and competitive intelligence without a SaaS subscription.

Features

  • Flat, normalized output — every review is one clean JSON record with stable field names: reviewer name, job title, company size, star rating, pros, cons, date, verified status, and helpful votes.
  • Multi-product bulk scraping — pass a list of product URLs to scrape several products in a single run.
  • Sort control — fetch by most recent or most helpful, so you always see the freshest signal first.
  • Star rating filter — set minRating: 4 to collect only positive reviews, or minRating: 1 with maxReviews: 5 to sample the harshest critics.
  • Review alerts (dedupe built in) — alert mode remembers which review IDs it already output for each product and emits only new ones on subsequent runs.
  • Fair pay-per-event pricing — $1 per 1,000 reviews. Skipped duplicates (alert mode) and filtered-out reviews are never charged.
  • MCP-ready — callable as a tool from Claude, Cursor, or any MCP client via Apify's MCP server.

Input parameters

{
"productUrl": "https://www.capterra.com/p/7866/Zendesk/",
"maxReviews": 100,
"sortBy": "most_recent",
"minRating": 3,
"alertMode": false
}
FieldTypeDefaultDescription
productUrlstringCapterra product URL. Accepted formats: https://www.capterra.com/p/7866/Zendesk/ or /reviews/7866/Zendesk. Either this or productUrls is required.
productUrlsarrayList of Capterra product URLs for bulk scraping. Combined with productUrl if both supplied.
maxReviewsinteger100Maximum reviews to collect per product (1–5,000).
sortBystringmost_recentReview sort order: most_recent or most_helpful.
minRatingintegerOnly output reviews with an overall rating ≥ this value (1–5).
alertModebooleanfalseOutput only reviews not seen in previous runs for each product.

Finding the right product URL: open any software listing on Capterra (e.g. capterra.com/p/7866/Zendesk/) and paste the URL directly into productUrl. The Actor resolves both the legacy /p/<id>/ format and the newer /reviews/<id>/ format.

Output example

Each review becomes one dataset item. Fields not available on the Capterra page for a given review are null — never guessed.

{
"reviewId": "capterra-2345678",
"source": "capterra",
"productName": "Zendesk",
"productUrl": "https://www.capterra.com/p/7866/Zendesk/reviews/",
"reviewerName": "Sarah M.",
"reviewerTitle": "Customer Support Manager",
"reviewerCompanySize": "51-200 employees",
"rating": 4.5,
"reviewTitle": "Scales well once you learn the configuration quirks",
"pros": "Ticket routing and macro system are genuinely powerful once set up. The reporting dashboard gives our team clear visibility into SLA compliance without custom work.",
"cons": "Onboarding took longer than expected. Some integrations require workarounds that feel like they should be native. Support tier pricing adds up fast at mid-size.",
"overallSummary": "Strong platform for growing support teams willing to invest setup time. Would recommend with an implementation partner for teams over 30 agents.",
"date": "2026-04-22",
"verifiedPurchase": true,
"helpfulCount": 14,
"url": "https://www.capterra.com/p/7866/Zendesk/reviews/"
}

Field notes:

  • reviewId is a stable Capterra review identifier prefixed with capterra-. Use it as a deduplication key in your own pipelines.
  • rating is the reviewer's overall star rating (1.0–5.0). Sub-ratings (ease-of-use, customer service, etc.) are not included in the current version.
  • verifiedPurchase is true when Capterra marks the reviewer as a verified product user.
  • helpfulCount is the number of "helpful" votes the review received; null when Capterra does not display this count.
  • pros, cons, and overallSummary are the reviewer's own words from the corresponding sections of the Capterra review form. Fields absent from the review are null.

Review alerts: alert mode + Apify Schedules

  1. Set productUrl (or productUrls) and alertMode: true.
  2. Create an Apify Schedule that runs the Actor daily or weekly.
  3. Each run outputs only reviews that previous runs have not yet output — the dataset of every run is purely "what's new since last time".
  4. Add an integration (email, Slack, webhook, Make/Zapier) on the Actor run to route new reviews to wherever your team works.

How it works: seen review IDs are stored in a named key-value store (capterra-seen-<hash>), one per product. Changing maxReviews or sortBy does not reset the history; only the product URL matters. IDs are remembered for 400 days. A run that finds no new reviews still succeeds — a normal alert outcome — and charges nothing.

Pricing — $1 per 1,000 reviews

This Actor uses Apify's pay-per-event model with one simple event:

EventPriceWhen it's charged
review-record$0.001Once per review record written to the dataset

That is $1 per 1,000 reviews. You are never charged for a record that wasn't written: alert-mode duplicates are skipped for free, and reviews filtered by minRating are never charged. You can set a maximum cost per run in Apify Console; the Actor stops gracefully when the limit is reached without marking unpushed reviews as seen, so they appear in the next run.

Proxy note

Capterra is protected by Cloudflare. The Actor uses Apify's built-in proxy infrastructure (residential or datacenter proxies) to bypass Cloudflare automatically when run via Apify Console. If you run the Actor locally without a configured proxy, requests will be blocked and the Actor will exit with a clear error message explaining the cause. No records are charged and no silent empty results are returned.

Use from Claude, Cursor & other AI agents (MCP)

This Actor works as a tool over the Model Context Protocol. Add Apify's MCP server to your client and your agent can pull software reviews on demand:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/sse?actors=bikram07/capterra-g2-reviews",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}

Then ask your agent things like: "Pull the 50 most recent Zendesk reviews from Capterra, summarize the top three complaints, and compare them with HubSpot's most recent 50 reviews" — the agent calls this Actor twice (once per product), gets normalized records back, and analyses them directly.

You can also call it from code via the Apify API:

curl -X POST \
"https://api.apify.com/v2/acts/bikram07~capterra-g2-reviews/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"productUrl": "https://www.capterra.com/p/7866/Zendesk/",
"maxReviews": 50,
"sortBy": "most_recent"
}'

Use cases

Competitive intelligence Monitor a competitor's Capterra page weekly. Alert mode delivers a diff of new reviews every run — pipe them into a Slack channel or a shared doc to keep your product and sales teams current without manually refreshing browser tabs.

Product research & buyer enablement Pull all 4-star and above reviews for shortlisted tools before a procurement decision. Export to CSV and let your team read actual user language rather than vendor-curated case studies.

Reputation monitoring Track your own product's reviews in real time. When a new negative review appears, alert mode surfaces it within 24 hours so support or product can respond before it compounds. Pipe new reviews into a CRM or Zendesk ticket automatically via Make or Zapier.

Voice-of-customer (VoC) analysis Collect the pros and cons sections across 500+ reviews and run them through an LLM to extract recurring themes, feature requests, and friction points — structured product intelligence from unstructured review text.

Sales enablement Build objection-handling content by analysing what buyers say is missing in competitor reviews. The cons field across a competitor's recent reviews is a direct signal of unmet needs your product can address.

FAQ

Can I scrape multiple products at once? Yes. Pass a list of URLs to productUrls. The Actor processes each product in sequence and combines all reviews into one dataset. Alert mode tracks seen IDs independently per product, so histories never bleed across products.

What fields are available in the output? reviewId, source, productName, productUrl, reviewerName, reviewerTitle, reviewerCompanySize, rating, reviewTitle, pros, cons, overallSummary, date, verifiedPurchase, helpfulCount, url. Fields not present on a given review card are null — never filled with guesses.

How fresh is the data? The Actor fetches reviews live from Capterra's HTML at run time — there is no cache or database in between. For monitoring purposes a daily schedule with alertMode: true and sortBy: most_recent delivers new reviews within ~24 hours of when they appear on Capterra.

What is the maximum number of reviews I can collect? Up to 5,000 reviews per product per run. For most products Capterra shows hundreds to a few thousand reviews; maxReviews: 5000 will collect everything available.

Does it require a Capterra account or API key? No. The Actor reads publicly visible review pages — the same pages any visitor sees — without authentication.

What happens if Capterra changes its HTML structure? The parser tries multiple CSS selector strategies in order of specificity. If all fail, the Actor logs a clear warning ("0 review cards found on page 1") and exits without pushing empty results or charging. Open a support request with the affected product URL and the issue will be diagnosed and fixed.

Why does it need a proxy to run? Capterra uses Cloudflare to block requests that originate from datacenter IP ranges. Apify's residential proxy pool routes requests through real residential IPs that pass Cloudflare's checks. The proxy cost is included in Apify's platform fees — it is not an additional line item on your bill.

g2 reviews scraper · capterra reviews api · software reviews data · capterra scraper · competitive intelligence tool · review monitoring · b2b software reviews · saas reviews data · product review aggregator · capterra api alternative


Built with requests and BeautifulSoup4. Not affiliated with or endorsed by Capterra or Gartner Digital Markets. Review data belongs to the respective reviewers and Capterra; reuse is subject to Capterra's terms of service.