Capterra Reviews Scraper
Pricing
from $0.70 / 1,000 reviews
Capterra Reviews Scraper
Paste Capterra product URLs or names such as Asana or ClickUp and get their reviews: ratings, sub-ratings, pros, cons, reviewer role, company size, vendor replies. Compare products in free summary and comparison rows: top pros, cons, price. Only-new mode. $1 per 1,000 reviews, failures free.
Pricing
from $0.70 / 1,000 reviews
Rating
0.0
(0)
Developer
Gautham Krishna
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
Get Capterra software reviews as clean rows, for product teams, competitor analysis and market research.
Use cases, each with a ready-to-run example:
- Get Slack's Capterra reviews with pros, cons and ratings
- Compare the reviews of Asana, monday.com and ClickUp
- Pull only the 1 and 2 star reviews of a CRM
- Read the most helpful reviews of a product first
Paste product URLs or just name the products (Asana, monday.com, ClickUp), pick newest first or a star filter, and get one row per review with ratings, pros, cons, the reviewer's role and company size, the incentive flags and the vendor's reply.
You pay $1 per 1,000 reviews ($0.001 each), and less on Apify Store discount tiers (Bronze, Silver, Gold), down to $0.70 per 1,000 on Gold. Failed URLs, missing products, unmatched names and products with no reviews are never charged.
At a glance
| Topic | Details |
|---|---|
| Input | Capterra product or review page URLs, or product names such as Asana or monday.com |
| Output | One JSON row per review: overall and sub-ratings, pros, cons, reviewer role, industry and company size, incentive flags and the vendor's reply. Optional free summary row per product and comparison row per run |
| Price | $0.001 per review ($1 per 1,000), or $0.90 per 1,000 on Bronze, $0.80 on Silver and $0.70 on Gold. No start fee. Failed URLs, products without reviews, summary rows and comparison rows are free |
| Tested | Final test run: 63 of 63 products returned reviews, 1,860 in total. A separate run collected 3,000 Slack reviews in under 3 minutes. Name test: 82 of 90 software names returned reviews of the product they name. Small products: 30 of 30 products with 1 to 6 reviews returned all 78 of their reviews |
| Monitoring | onlyNewSinceLastRun returns only reviews you have not had before, and publishedAfter sets a date cutoff. Schedule it in Apify for a weekly feed |
| Limits | capterra.com only. maxReviewsPerProduct is 100 by default, raise it (up to 100,000) to get every review |
What you get per review
| Field | What it holds |
|---|---|
productName, vendorName, productRating, productReviewCount, productCategory, productUrl | Product summary, repeated on every row so each row stands alone. vendorName is empty for small products that have no reviews page yet |
reviewId, title, reviewDate | Review ID, headline and date (YYYY-MM-DD) |
rating | Overall rating, 1 to 5 |
easeOfUseRating, customerSupportRating, functionalityRating, valueForMoneyRating | Sub-ratings, 1 to 5 |
recommendationScore | How likely the reviewer is to recommend it, 0 to 10 |
pros, cons, overall | The review text |
reviewerName | The name exactly as Capterra shows it publicly (first name and initial). Empty for anonymous reviewers |
reviewerJobTitle, reviewerIndustry, reviewerCompanySize, timeUsedProduct | Reviewer context as shown on Capterra |
isVerified, verificationMethods | Whether Capterra validated the reviewer, and how (LinkedIn, business email, proof of use) |
isIncentivized, isVendorReferred, incentive, reviewSource | Whether the reviewer got a gift card or was invited by the vendor, with Capterra's own explanation |
switchedFrom, alternativesConsidered | Products the reviewer moved from or compared |
vendorResponse | { "text", "date" } when the vendor replied, otherwise null |
nameMatch | Only on rows from a product name: the name you typed, how it matched (exact, starts_with or contains) and up to 3 other products it could mean |
status, input | ok for reviews. See the FAQ for other statuses |
No emails, phone numbers or profile photos are collected.
Input
{"startUrls": ["https://www.capterra.com/p/135003/Slack/reviews/","https://www.capterra.com/p/158833/ClickUp/"],"maxReviewsPerProduct": 100,"sortBy": "newest","starRatings": ["1", "2"]}
| Option | Values |
|---|---|
startUrls | Capterra product or review page links. Old /reviews/<id>/<name> links work too |
productNames | Software names instead of links, such as "Asana", "monday.com" or "ClickUp". See Product names below. Empty by default |
maxReviewsPerProduct | Default 100 |
sortBy | newest (default), most_helpful, highest_rated, lowest_rated |
starRatings | Any of "1" to "5". Empty means all ratings |
onlyNewSinceLastRun | Default false. See Monitoring below |
publishedAfter | Empty by default. See Monitoring below |
productSummary | Default false. One free summary row per product. See Compare products below |
compareProducts | Default false. One free comparison row across all products in the run. See Compare products below |
lowest_rated with starRatings: ["1", "2"] is a quick way to collect a competitor's complaints.
Product names instead of URLs
{"productNames": ["Asana", "monday.com", "ClickUp"],"maxReviewsPerProduct": 100}
Each name goes through Capterra's own search, one lookup per name, and the lookup is free.
A domain such as asana.com is searched as asana.
You can mix productNames and startUrls in one run.
The scraper then picks the product the name means. A product counts as a match when its name equals yours, starts with yours, or holds yours as whole words. Add-ons for a product, such as "SSIS Data Flow Components for Slack" or "SugarCRM Mailchimp Integration", never count. Each match scores its review count plus one, times 10 for an exact name, times 1 when it starts with your name, and times 0.5 when your name comes later in it. The highest score wins.
| Name | What happened in the test run |
|---|---|
Zoom | Zoom Workplace (14,690 reviews). A listing called "ZooM" matches exactly, but with 63 reviews it scores 640 against 14,691 |
monday.com | monday AI Work Platform, sold by monday.com |
Bill.com | BILL Accounts Payable & Receivable |
MyCase | 8am MyCase, the product's current name |
HubSpot | Ambiguous. HubSpot Marketing Hub (6,258 reviews) and HubSpot CRM (4,491) score too close |
Ties. When the second-best match scores at least half the best one's score, the name is ambiguous.
The scraper then collects no reviews for it and returns a free ambiguous row listing up to 5 candidates with their URLs, rating and review count.
Pass the full product name, such as HubSpot CRM, or its URL on the next run.
Every review row from a name carries a nameMatch field.
This one is copied from a test run:
"nameMatch": {"name": "monday.com","matchType": "starts_with","otherMatches": [{ "productName": "monday CRM", "productUrl": "https://www.capterra.com/p/245800/Monday-CRM/", "productReviewCount": 467 },{ "productName": "monday service", "productUrl": "https://www.capterra.com/p/10023357/monday-service/", "productReviewCount": 111 },{ "productName": "monday dev", "productUrl": "https://www.capterra.com/p/10008569/monday-dev/", "productReviewCount": 67 }]}
A name that matches nothing comes back as a free not_found row.
When a name points at a product that another input in the same run already covers, its reviews are listed once, and the other input gets a free duplicate row.
Test run on 90 software names across CRM, project management, HR, accounting, help desk, marketing, retail, developer, design, field service, construction, legal, healthcare, church, education, property, security and website tools, 30 reviews each:
| Result | Names |
|---|---|
| Reviews of the product the name means, checked against each row's vendor | 82 |
| Ambiguous | 5: HubSpot, Square, RingCentral, Insightly, Qualtrics |
| No match | 3: Intercom (Capterra's search does not list it), Toggl Track (listed as Toggl), Kareo (now Tebra) |
Monitoring: only new reviews and a date cutoff
Two optional inputs turn a scheduled run into a feed of new reviews. Both are off by default, and a run without them works exactly as before.
| Option | What it does |
|---|---|
onlyNewSinceLastRun | Returns only reviews this scraper has not returned to you before for the same product and filters, and none dated more than 14 days before the newest one it returned last time. Capterra checks reviews before they go live, so some appear days after their date, and the 14 days catch them. The first run returns the usual results and remembers them |
publishedAfter | Only reviews published on or after a date: 2026-10-01, 2026-10-01T12:00:00Z (UTC), or a relative value such as 7 days |
With sortBy: "newest" the run stops at the first page that holds nothing new, so a daily run reads only the pages it needs.
With other orders it still skips old reviews, but it reads further to find new ones.
You pay only for the reviews returned.
The memory is a key-value store named software-reviews-scraper-monitor in your own Apify account, one record per product and star filter.
Delete that store to start over.
A product with nothing new comes back as a free no_reviews row.
Run it on a schedule
A weekly run with onlyNewSinceLastRun: true and sortBy: "newest" gives you a feed of new reviews for the products you follow.
We ran the same 65 product links on 15 Oct and again on 20 Oct.
The 20 Oct run returned 2 reviews that Capterra put live after the earlier runs but dated 13 Oct, and none that an earlier run had returned.
A second run straight after returned 0 reviews and 63 free no_reviews rows, so a run with nothing new costs you nothing.
- Set your input with
onlyNewSinceLastRun: trueand click Save as a new task. - On the task page, click Actions, then Schedule, and pick how often it runs. Apify's schedules guide covers cron times and time zones.
- On the task's Integrations tab, choose where each run's results go.
| Integration | What it does |
|---|---|
| Slack | Posts a message to your channel when a run finishes |
| Google Drive | Saves each run's results as a file in your Drive |
| Webhook | Sends the finished run, with its dataset ID, to your own URL |
| Make, Zapier, n8n | Adds each new row to a Google Sheet, a CRM or a database |
Each review has a stable reviewId, so a sheet or database can skip rows it already holds.
Compare products: free summary and comparison rows
Two optional switches add free rows for tasks such as "compare Asana, monday.com and ClickUp". Both are off by default, and a run without them returns the same rows as before.
{"productNames": ["Asana", "monday.com", "ClickUp"],"maxReviewsPerProduct": 10,"productSummary": true,"compareProducts": true}
productSummary adds one summary row per product, after its reviews.
compareProducts adds one comparison row at the end of the run.
Neither is charged.
Each product needs one more page read, its Capterra profile page.
The summary holds Capterra's own figures, which cover every review of the product, not only the ones you collected.
| Field | What it holds |
|---|---|
productRating, productReviewCount | The rating and review count Capterra shows, the same as on review rows |
productRatingExact | Capterra's unrounded average. The profile page's "Overall rating" box can show 0.1 more than productRating. Jira's 4.4469 shows there as 4.5 and elsewhere as 4.4 |
starDistribution | How many reviews gave 1 to 5 stars. The counts add up to productReviewCount |
sentimentPercent | Share of 4 and 5 star (positive), 3 star (neutral) and 1 and 2 star (negative) reviews. Capterra's "Reviews sentiment" box shows about the same numbers, rounded |
subRatings | Ease of use, customer support, functionality and value for money, each with its average and how many reviews rated it |
recommendPercent | Share of reviewers who rated their likelihood to recommend 8 to 10 out of 10. Reviewers who skipped the question are left out |
topPros, topCons | Capterra's own pros and cons themes: the theme, Capterra's one-line description, the share of positive or negative mentions, and how many reviews mention it. Products without enough reviews have none |
pricing | Starting price, currency and unit, and whether there is a free trial and a free version. The price is empty when Capterra says "Contact vendor" |
returnedReviews | Figures from the reviews this run returned: count, oldest and newest date, average, star counts, share of 1 and 2 stars, recommend share, vendor reply share, the same for the last 90 days, and the products reviewers most often switched from or considered |
returnedReviews depends on maxReviewsPerProduct, sortBy and the filters.
With the newest 100 reviews, it describes recent opinion, while the other fields describe the product's whole history.
The comparison row lists every product side by side, in the order you gave them, with its rating, sub-ratings, recommend share, share of 1 and 2 star reviews, starting price, top pro and top con.
leaders names the best product on each figure, and ties share a place.
A product leads only when the figure rests on 20 or more reviews, so a product with one 5-star review does not top the list.
The overall rating uses productRatingExact, so 4.57 and 4.63 do not count as a tie.
notCompared lists inputs that gave no product, with their status, such as an ambiguous name.
This comparison row is copied from a test run on the input above, with the products list cut to its first entry:
{"status": "comparison","site": "capterra","productCount": 3,"products": [{"productName": "Asana","productId": "184581","productUrl": "https://www.capterra.com/p/184581/Asana-PM/","input": "Asana","productRating": 4.5,"productRatingExact": 4.4866,"productReviewCount": 13764,"easeOfUse": 4.4,"customerSupport": 4.3,"functionality": 4.4,"valueForMoney": 4.4,"recommendPercent": 76.7,"negativePercent": 1.7,"startingPrice": 10.99,"currency": "$","priceUnit": "Per User, Per Month","freeVersion": true,"freeTrial": true,"topPro": "Comprehensive real-time project tracking","topCon": "Overwhelming and excessive notifications","returnedReviews": 10,"returnedAverageRating": 5,"returnedNegativePercentLast90Days": 0,"returnedVendorReplyPercent": 0}],"leaders": {"productRating": ["ClickUp"],"easeOfUse": ["monday AI Work Platform"],"customerSupport": ["ClickUp"],"functionality": ["ClickUp"],"valueForMoney": ["ClickUp"],"recommendPercent": ["ClickUp"],"productReviewCount": ["Asana"],"fewestNegative": ["ClickUp"]},"notCompared": [],"message": "Capterra's figures for all reviews of each product, in input order. leaders names the best product on each figure among products with at least 20 reviews behind it, and ties share a place. The returned* fields cover only the reviews this run returned.","input": null}
Test runs with both switches on:
| Run | Result |
|---|---|
| 90 software names, 30 reviews each | All 82 products found got a summary row with star counts, sub-ratings and recommend share. 78 had pros and cons themes, 68 a starting price |
| 65 product URLs, 30 reviews each | All 63 products got a summary row with star counts, sub-ratings and recommend share |
| 10 products checked against their Capterra pages in a browser | Review count, top pro and top con with their shares and counts, starting price, free trial and free version matched on all 10. Sub-ratings with their review counts matched on the 9 pages that show them |
Output example
This is a real row from a test run.
{"status": "ok","site": "capterra","productId": "154664","productName": "Tithe.ly","vendorName": "Tithe.ly","productRating": 4.7,"productReviewCount": 693,"productCategory": "Nonprofit CRM","productUrl": "https://www.capterra.com/p/154664/Tithe-ly-Church-Giving/","reviewId": "6761023","title": "Great, easy-to-use software","rating": 5,"easeOfUseRating": 5,"customerSupportRating": 5,"functionalityRating": 5,"valueForMoneyRating": 5,"recommendationScore": 10,"pros": "Tithely has been really easy to use. The learning curve is minimal and it helps keep our church connected.","cons": "I can't think of anything I didn't like.","overall": "Great support. Easy to use. Good end user experience","reviewDate": "2025-03-29","reviewerName": "Marcy C.","reviewerJobTitle": "Communications and. Executive Assistant","reviewerIndustry": "Non-Profit Organization Management","reviewerCompanySize": "1-10 employees","timeUsedProduct": "1-2 years","isVerified": true,"verificationMethods": ["BusinessEmail", "ProofOfLink"],"isIncentivized": true,"isVendorReferred": true,"incentive": "VendorReferredIncentivized","reviewSource": "Vendor Referred - Incentive Offered: This reviewer was invited by the software vendor to submit an honest review and offered a nominal incentive as a thank you.","switchedFrom": ["Planning Center"],"alternativesConsidered": null,"vendorResponse": {"text": "Thank you Marcy for your feedback!","date": "2025-04-01"},"input": "https://capterra.com/p/154664/Tithe-ly-Church-Giving/reviews/?page=2"}
Pricing
Prices are per 1,000 reviews.
| Event | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| Review returned | $1 | $0.90 | $0.80 | $0.70 |
| Name lookup, unmatched or ambiguous name, duplicate, missing product, product with no reviews, unsupported or invalid URL, failed fetch, summary row, comparison row | Free | Free | Free | Free |
Bronze, Silver and Gold are Apify Store discount tiers, and Apify's Pricing tab shows them as Starter, Scale and Business. Apify decides which tier an account is on.
Set a maximum cost per run in the run options. The scraper stops once that limit is reached.
Speed
In tests, one product returned about 19 reviews per second, and 3,000 Slack reviews took under 3 minutes. Several products run in parallel, 5 by default.
Use it from AI agents
The scraper works as a tool through the Apify MCP server in Claude, Cursor, VS Code and other MCP clients.
An agent can pass a few product names, such as Asana, monday.com and ClickUp, with compareProducts on, and get back their reviews plus one row that puts Capterra's figures for each product side by side.
You can also call it through the Apify API, schedule it, or connect it to Make, Zapier and n8n.
More from heyitsgautham
Other actors from the same account.
- Trustpilot Reviews & TrustScore Scraper for Trustpilot reviews and each company's TrustScore, for any business on any Trustpilot country site.
- Hotel Reviews Scraper (Booking.com + Agoda) for guest reviews from Booking.com and Agoda, by hotel URL or hotel name.
- Tripadvisor Reviews Scraper: Hotels, Restaurants, Tours for Tripadvisor reviews of hotels, restaurants, attractions and tours, with sub-ratings and owner responses.
- YouTube Video & Shorts Comments Scraper with Replies for the comments and replies on a video or Short, for sentiment analysis and audience research.
- Google Trends Scraper: Related Queries & Trending Searches for Google Trends interest over time, related queries and Trending Now.
FAQ
What do the other statuses mean?
not_found means Capterra has no product at that URL, or no product matches that name.
ambiguous means a name matches several products about equally well.
The row lists the candidates.
duplicate means a name points at a product another input already covers, so its reviews are listed once.
no_reviews means the product has no reviews, none match your filters, or, when monitoring, none are new. That row still carries the product summary.
unsupported_site is a G2 URL.
invalid_input is anything else that isn't a capterra.com product link.
When it looks like a product name, such as Asana, the message says to put it in productNames.
error means the page could not be fetched after several retries.
summary and comparison are the optional rows described under Compare products.
None of these rows are charged.
Does it scrape G2?
No.
G2 shows a CAPTCHA to automated visitors, and this scraper does not solve CAPTCHAs.
G2 URLs come back as unsupported_site at no cost.
Does it work for small products?
Yes.
Capterra gives a product with only a few reviews no reviews page and shows them on its profile page, and the scraper reads those too.
In a test, 30 of 30 products with 1 to 6 reviews returned all 78 of their reviews.
Capterra does not show the vendor on those pages, so vendorName is empty.
Can I get every review of a big product?
Yes. Set maxReviewsPerProduct above the product's review count.
Does it log in? No. It reads the same public pages any visitor sees.
Why is the product URL different from mine? Capterra routes by the numeric product ID and sometimes renames products, so the scraper follows Capterra to the current page.
Limitations
- capterra.com only. Country sites such as capterra.co.uk are not supported.
- Product names rely on Capterra's search, which does not list every product. If a name comes back
not_foundbut you know the product is on Capterra, pass its URL. - Review text comes back as Capterra shows it, in the reviewer's language.
- If Capterra changes its site, sorting and star filters may stop working until the scraper is updated. The default order keeps working through a fallback.