Capterra Reviews Scraper - Pros, Cons & Ratings
Pricing
from $1.50 / 1,000 results
Capterra Reviews Scraper - Pros, Cons & Ratings
Use this to get software reviews from Capterra, GetApp and Software Advice. Input: product URLs or names, max reviews, optional star, company-size, keyword, date filters. One result = one review: rating, title, pros, cons, sub-ratings, reviewer industry, company size, date. $1.50 per 1,000 reviews.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Giovanni Rich
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
3
Monthly active users
18 hours ago
Last modified
Categories
Share
Capterra Reviews Scraper - Software Reviews, Pros & Cons API
This Capterra scraper extracts B2B software reviews from Capterra, GetApp and Software Advice into clean JSON, CSV or Excel: star rating, title, pros, cons, overall comments, the four sub-ratings (ease of use, customer service, features, value for money), reviewer industry, company size, time used, review date and vendor response. Paste a Capterra product URL or just a product name, filter by stars, company size or keyword, and get newest reviews first at $1.50 per 1,000 reviews.
Capterra, GetApp and Software Advice are all owned by Gartner and share one review database. This actor reads that database through Software Advice's public pages over plain HTTP, with no headless browser. That's why it's fast (about 25 reviews per request, 600 reviews in under 5 seconds in our tests) and cheap to run. Every review keeps its original ID (Capterra___7209621), so you can match it against what you see on capterra.com.
What you get
- The review: title, overall rating (1-5), pros, cons, overall comments, reasons for choosing the product and reasons for switching from a competitor.
- Sub-ratings: ease of use, customer service, features, value for money.
- The reviewer: first name and last initial (as shown on Capterra), industry, company size, verified flag, time used, usage frequency, and whether the review was incentivized.
- Vendor response text and date, when the vendor replied.
- Product summary on every row: product name, category, logo, overall rating, total reviews, 1-to-5-star breakdown, average sub-ratings and likelihood-to-recommend score.
- Filters that run on the site's side, so you only pay for what you want: star ratings, company size, time used, and a keyword search inside the review text.
- Newest-first sorting with a date cutoff (
reviewedAfter), so scheduled monitoring runs stop as soon as they reach reviews they've already seen.
How to use the Capterra Reviews Scraper
- Enter products: paste Capterra product URLs (for example
https://www.capterra.com/p/135003/Slack/), GetApp or Software Advice URLs, or product names likeAsana. Optionally set filters and a max number of reviews per product. - Click Start. A few hundred reviews usually take seconds, because no browser runs.
- Download the reviews as JSON, CSV, Excel or HTML from the Storage tab, or pull them straight into your app through the Apify API.
Use cases
- Competitor research: what users like and hate about a competitor, straight from the pros and cons
- Product and UX research: mine negative reviews (
starRatings: ["1","2"]) for feature gaps - Sales battlecards: "reasons for switching" shows why buyers left a competitor
- Review monitoring: a daily schedule with
reviewedAfterpicks up new reviews of your product - Sentiment analysis and LLM training sets, segmented by industry or company size
Input
| Field | Default | Description |
|---|---|---|
products | - | Capterra URL (https://www.capterra.com/p/135003/Slack/), GetApp URL, Software Advice URL, or a product name ("Asana"). One per line. |
maxReviewsPerProduct | 100 | Reviews per product. 0 = every review matching your filters. |
sortBy | newest | newest or recommended (the site's default: most detailed reviews first) |
starRatings | all | e.g. ["1", "2"] for negative reviews only |
companySizes | all | Codes A (self-employed), B (2-10), C (11-50), D (51-200), E (201-500), F (501-1,000), G (1,001-5,000), H (5,001-10,000), I (10,001+) |
timeUsed | all | FreeTrial, LessThan6Months, LessThan12Months, LessThan2Years, MoreThan2Years |
keyword | - | Only reviews that mention this word or phrase |
reviewedAfter | - | YYYY-MM-DD. Skips older reviews. With newest sorting, the scraper stops early. |
proxyConfiguration | Apify Proxy | Switch to RESIDENTIAL if the log shows repeated blocks |
Input example
Every 1- and 2-star review of Jira and Asana from mid-size companies since 2025:
{"products": ["https://www.capterra.com/p/19319/Jira/", "Asana"],"maxReviewsPerProduct": 0,"sortBy": "newest","starRatings": ["1", "2"],"companySizes": ["D", "E", "F"],"reviewedAfter": "2025-01-01"}
Output example
One dataset item per review. This one is from a real run (Slack, newest first):
{"input": "https://www.capterra.com/p/135003/Slack/","productName": "Slack","reviewId": "Capterra___7209621","reviewSource": "Capterra","reviewSourceId": "7209621","title": "Can’t work without","rating": 4,"pros": "Its ease of use and flexibility. The way you can open a new chat and a channel to share with others is the best","cons": "Just as a personal point of view, the UI is not as modern as other tools are made. Some changes could help improve.","overallComments": "I use Slack as a professional live chat tools. Not only using it with the colleagues, but also to communicate with external partners.","reasonsForChoosing": null,"reasonsForSwitching": "Many features were under expensive plans","easeOfUseRating": 5,"customerServiceRating": 3,"featuresRating": 5,"valueForMoneyRating": 4,"date": "2026-09-05","dateTime": "2026-09-05T05:47:19Z","reviewerName": "Lorenzo F.","reviewerIndustry": "Computer Software","reviewerCompanySize": "11-50 employees","reviewerCompanySizeCode": "C","reviewerVerified": true,"reviewerAnonymous": false,"timeUsed": "More than 2 years","usageFrequency": "Daily","incentive": "Nominal gift (e.g. gift card)","vendorResponse": null,"vendorResponseDate": null,"productId": "964a02e4-2901-4992-aea5-a6d200b696d4","productSeoId": "154669","productSlug": "slack","productUrl": "https://www.softwareadvice.com/remote-support/slack-profile/","productReviewsUrl": "https://www.softwareadvice.com/remote-support/slack-profile/reviews/","productLogo": "https://gdm-catalog-fmapi-prod.imgix.net/ProductLogo/91f64896-759a-41ae-8d14-d540f90c5870.png","productCategory": "Team Communication","productOverallRating": 4.66,"productTotalReviews": 24209,"productEaseOfUseRating": 4.61,"productCustomerServiceRating": 4.43,"productFeaturesRating": 4.56,"productValueForMoneyRating": 4.55,"productLikelihoodToRecommend": 8.6,"productRatingBreakdown": { "1star": 48, "2star": 127, "3star": 912, "4star": 5731, "5star": 17391 },"page": 1,"scrapedAt": "2026-09-24T05:24:16.141Z"}
The dataset has two ready-made views: Overview (product, rating, title, pros, cons, date, reviewer, industry, company size) and Ratings (all sub-ratings side by side).
Field fill rates (real test run: 600 reviews of Slack, Asana, Jira, Docusign, monday.com and QuickBooks Online)
| Field | Fill rate |
|---|---|
| reviewId, rating, title, pros, cons, date, reviewer name, industry, company size, time used, frequency, incentive | 100% |
| easeOfUseRating, featuresRating | 100% |
| customerServiceRating | 88% (some reviewers skip it) |
| valueForMoneyRating | 89% |
| overallComments | 81% |
| reasonsForSwitching | 10% (only reviewers who switched from another tool) |
| reasonsForChoosing | 5% |
| vendorResponse | only when the vendor replied (rare on large products) |
| all product summary fields | 100% |
Pricing
Pay per result: $1.50 per 1,000 reviews. No start fee, no monthly rental.
- 1,000 reviews = $1.50
- 10,000 reviews = $15
You're never charged for duplicates or for reviews skipped by your filters, and products that aren't found cost nothing. If you set a maximum cost per run, the scraper stops cleanly when it reaches it. The Apify free plan includes $5 of monthly platform credit, enough to try the actor on real products.
Integrations
- Apify API: start runs and fetch results over REST, or with the official JavaScript and Python clients.
- No-code tools: Make, Zapier and n8n, plus a direct export to Google Sheets.
- Webhooks: get notified (or trigger your own pipeline) when a run finishes.
- Schedules: run daily or weekly to monitor new reviews of your product or your competitors.
- MCP for AI agents: through the Apify MCP server (https://mcp.apify.com), Claude, ChatGPT, Cursor and other agents can call this actor and read Capterra reviews directly.
Limits (read before large runs)
- Coverage is the Software Advice catalog. Most Capterra products are on it: Slack, Asana, Jira, monday.com, Notion, QuickBooks Online, Docusign, Canva, Shopify, Microsoft Teams and Google Workspace all worked in testing. A few big vendors aren't listed there, for example Salesforce Sales Cloud, HubSpot CRM, Zendesk and Mailchimp. Those products come back as "product not found" with a list of close matches, and you're not charged.
- Product names are matched exactly, never guessed.
"Salesforce"won't silently turn into "Salesforce Backup". If a name isn't found, the log andRUN_SUMMARYsuggest the closest product URLs. URLs are always the most reliable input. - Reviewer job titles aren't included, because the source doesn't publish them. You get industry and company size instead.
- Reviewer names are first name + last initial, the way Capterra displays them. Anonymous reviewers come back as
"Anonymous". - Review sources: almost all reviews are Capterra-collected. Some older ones come from GetApp or Software Advice (
reviewSourcetells you which).
FAQ
Does it need a browser or cookies? No. It makes plain HTTPS requests to the same review endpoint the website uses. That's why it's fast and cheap.
Why not scrape capterra.com directly? capterra.com sits behind an aggressive Cloudflare challenge that needs a real browser, which is slow and fails often. The same reviews are served from Software Advice without that challenge. You get the same review IDs and text, much faster and more reliably.
How do I monitor new reviews?
Schedule the actor daily with sortBy: "newest" and reviewedAfter set to yesterday's date. Each run reads only the first page or two. reviewId is stable, so you can deduplicate across runs.
Which proxy should I use? Start with the default Apify Proxy. Blocked requests are retried automatically on a fresh session with a new IP. If you still see repeated "Blocked" warnings, switch the proxy group to UNBLOCKER or RESIDENTIAL.
Why did a product return fewer reviews than maxReviewsPerProduct?
Fewer reviews matched your filters, or the product has fewer reviews. RUN_SUMMARY in the key-value store shows each product's matched count and stop reason.
Is it legal to scrape Capterra reviews? The actor collects only publicly available reviews, with no login, and shows reviewers the way the site does (first name and last initial). You're responsible for using the data in line with the site's terms and privacy laws such as GDPR. This isn't legal advice; if you're unsure, check with a lawyer.
How does it avoid blocks?
It runs through Apify Proxy with a session pool: a blocked response (HTTP 401, 403, 429 or a challenge page) retires that session and retries on a fresh one with a new IP, and other errors retry with exponential backoff, up to 6 retries per request by default (maxRequestRetries). Page requests for one product run in order, so traffic stays light.
What are the limits?
Coverage is the Software Advice catalog (a few big vendors such as Salesforce Sales Cloud, HubSpot CRM, Zendesk and Mailchimp aren't listed there), product names must match exactly, and reviewer job titles aren't published by the source. There's no hard cap on reviews per product: maxReviewsPerProduct: 0 returns every review that matches your filters. See "Limits" above for details.
How it works (for developers)
Software Advice is a Next.js app. The first page of a product's reviews is embedded in the HTML as React Server Components "flight" data. Further pages, sorting and filters go through the site's getReviewsPaginated server action, which returns 25 reviews per call. The scraper reads the action ID from the site's own JavaScript at run time, so it keeps working after the site redeploys. If the action can't be found, it falls back to plain ?page=N URLs (recommended order only). The flight parser handles text rows with UTF-8 byte lengths and resolves $ref links, and every field is read defensively.
Run it locally:
npm installnpm test # parser tests on saved fixturesAPIFY_LOCAL_STORAGE_DIR=./storage node src/main.js # input in storage/key_value_stores/default/INPUT.json