Capterra Reviews Scraper - Pros, Cons & Ratings
Pricing
from $2.00 / 1,000 actor run starteds
Capterra Reviews Scraper - Pros, Cons & Ratings
Capterra reviews scraper that exports every review as a row: overall and five dimension ratings, a 0-10 recommendation score, separate pros and cons, incentive flag, vendor replies, and the reviewer's company size, industry, job title and tenure. Up to 2,500 reviews per product, pay per review.
Pricing
from $2.00 / 1,000 actor run starteds
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
24 days ago
Last modified
Categories
Share
Capterra Reviews Scraper
The Capterra Reviews Scraper exports the reviews behind any Capterra software listing as structured data: one row per review, with the overall rating, five dimension scores, pros, cons, the reviewer's role, company size and tenure, and the vendor's reply. Paste one or more product pages and get up to 2,500 reviews per product, ready for a spreadsheet, a BI tool or a sentiment model.
Capterra's star rating is a single number standing in for thousands of individual opinions. This Actor gives you the opinions: who wrote each one, what they liked, what they did not, how long they had used the product, how big their company was, and whether they were offered anything in return for writing it.
What the Capterra Reviews Scraper gives you per review
Every row carries the whole review, not a summary of it.
Scores. The overall star rating, plus all five of Capterra's individual dimension scores: ease of use, customer support, functionality, value for money, and the reviewer's 0-10 answer to how likely they are to recommend the product. That last one is on Capterra's own 0-10 scale and stays there rather than being squeezed into five stars, because it answers a different question from the rating.
The text, in the fields the reviewer filled in. Capterra asks for pros and cons
separately and this Actor keeps them separate, so you get pros and cons as their
own columns rather than one blob you have to split later. On top of those: the
review title, the reviewer's overall comments, any advice they left for other
buyers, why they chose this product, and why they switched away from a previous one.
Where a reviewer named the products they weighed against this one, or the product
they moved off, those come through as lists.
Who wrote it. Job title, industry, company size band, and how long they had been using the product when they wrote. Whether Capterra validated them, and by what method. Whether they posted anonymously.
The incentive disclosure. Capterra records, per review, whether the reviewer was offered something in exchange, such as a gift card. That flag is in every row, with Capterra's own wording of the disclosure alongside it, so you can weight incentivised reviews differently or drop them entirely.
The vendor's reply. Where the software vendor publicly answered a review, the reply and its date are in the row. Some vendors answer almost every review and some answer none, which is itself worth knowing about a vendor.
Where the review came from. Capterra publishes reviews gathered on its sibling directories next to its own. Every row states which one it came from, so a mixed set never looks like a single-source one.
Every row is checked against the product you asked for
This is the part worth reading first, because it is not a detail.
A Capterra product address looks like /p/135003/Slack/, and it reads as though
the name identifies the product. It does not. Capterra resolves on the number
alone and ignores everything after it, so /p/135003/Notion/ returns Slack,
as a completely normal page, under the name you typed. Product numbers are not
guessable either: 189442 is not a company anyone would guess, and a single
mistyped digit lands on a real, different product rather than on an error.
So a scraper that trusts the address it was given can hand you one company's reviews filed under another company's name, and nothing in the output would look wrong.
This Actor reads the product identity back off the page and checks it against
the number that was requested, on every page, not just the first. If they
disagree, nothing from that page is kept and the run reports it. Every row then
carries product_id, product_name and product_slug exactly as the page
reported them, so the attribution is on the row itself and you can verify it
without trusting us. Where the name you asked for and the name Capterra returned
are different, the run summary says so explicitly.
The same care applies to the reviews themselves. A Capterra reviews page also carries the product's recommended alternatives, each with its own name, id and rating summary sitting in the same data. Reviews are read only from the one record that both carries reviews and matches the requested id.
How to use the Capterra Reviews Scraper
- Open a product on Capterra and copy its address, for example
https://www.capterra.com/p/135003/Slack/. The reviews page address (/p/135003/Slack/reviews/) works too, and so does an id and slug pair like135003/Slack. - Paste one or more of them into Capterra products, one per line.
- Set how many reviews you want per product and, if you like, a sort order and filters.
- Start the run. Reviews appear in the dataset as they are collected; export them as JSON, CSV, Excel or through the Apify API.
Input
Only products is required. Everything else is optional and has the default shown.
| Field | Input | What it does |
|---|---|---|
products | Capterra products | Product page addresses, reviews page addresses or id/slug pairs |
maxReviewsPerProduct | Reviews per product | Stop after this many reviews for each product (default 100) |
maxProducts | Maximum products | Cap on how many products the run covers (default 10) |
sortBy | Sort reviews by | asServed (default), mostRecent, oldest, highestRated, lowestRated, mostRecommended |
minRating / maxRating | Minimum / maximum overall rating | Keep only reviews in a star range, 1 to 5 |
companySizes | Reviewer company size | self-employed, 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+ |
timeUsedProduct | How long the reviewer used it | free-trial, less-than-6-months, 6-12-months, 1-2-years, 2-years-plus |
sourceSites | Review source | capterra, getapp, softwareadvice |
excludeIncentivized | Drop incentivized reviews | Leave out reviews written for a reward (default off) |
requireProsAndCons | Only reviews with both pros and cons | Drop the one-liners (default off) |
writtenAfter / writtenBefore | Written on or after / before | Date range, as YYYY-MM-DD |
searchText | Text contains | Keep only reviews mentioning a word or phrase |
maxPagesPerProduct | Maximum pages per product | Page ceiling, for when a narrow filter would otherwise read everything (default 100) |
requestDelaySeconds | Delay between page requests | Pacing, in seconds (default 2) |
retries | Attempts per page | Retries for a page that came back incomplete (default 3) |
Example input:
{"products": ["https://www.capterra.com/p/135003/Slack/","https://www.capterra.com/p/211559/Trello/"],"maxReviewsPerProduct": 100,"sortBy": "mostRecent","excludeIncentivized": true}
About the filters and the sorting
These are applied to the reviews after they are collected, not asked of Capterra.
That is a deliberate choice and worth explaining, because Capterra's review pages do have a sort and filter panel, and its controls do write parameters into the address bar. Requested directly, the site accepts every one of those parameters and returns exactly the same reviews it would have returned without them. We checked each one against a baseline confirmed identical across three consecutive requests: sorting, star rating, company size, reviewer role and length of use all came back with the same twenty-five reviews, indistinguishable from a parameter name we invented on the spot. Passing them through would have produced an Actor whose filter inputs did nothing at all, which is worse than not offering them.
So the filtering happens here, on fields that are present in the row you receive and that you can check for yourself. Two of Capterra's own facets, reviewer role and frequency of use, are not offered at all, because the review data carries no such field and there would be nothing honest to filter on.
One consequence worth knowing: a reviewer who did not state their company size or tenure cannot satisfy a filter on it, so those rows drop out when you set one. The run summary reports how many rows your filters removed, so the effect is visible rather than silent.
Output
One dataset item per review. This is a real row from a run on Slack, unedited:
{"product_id": "135003","product_name": "Slack","product_slug": "Slack","product_url": "https://www.capterra.com/p/135003/Slack/","review_id": "Capterra___7189737","title": "Slack: Essential for Desk Based Workforces","written_on": "July 25, 2026","written_on_date": "2026-07-25","overall_rating": 5,"ease_of_use_rating": 5,"customer_support_rating": 5,"functionality_rating": 5,"value_for_money_rating": 5,"recommendation_score_0_10": 10,"pros": "Slack is the best way for a desk based workforce to communicate. Hands down. \n\nNothing beats the speed, customizability, and ease of using Slack. As a small business owner, the first thing I did was set up my email, and second was a Slack account. \n\nIt's also so affordable for small businesses to use, and the freemium plan is also fantastic on its own. \n\nI recently had an issue with billing and their customer support fixed it in mere hours.","cons": "Honestly, nothing. \n\nOccassionally there will be a bug or issue, like when you had to hard refresh to get rid of phantom notifications, but that is once in a blue moon.","overall_comments": "I love Slack and could not run my business without it. Nothing beats the speed, ease, and easy way to communicate and meet with team members around the world.","advice_to_others": null,"reasons_chosen": null,"reasons_switched": null,"alternatives_considered": null,"switched_from": null,"incentive": "NoIncentive","is_incentivized": false,"incentive_code": "NO","incentive_note": "No Incentive Offered: This review was submitted organically.","source_site": "Capterra","reviewer_name": "Richard M.","reviewer_job_title": "Founder","reviewer_industry": "Marketing and Advertising","reviewer_company_size": "Self-employed","reviewer_company_size_band": "self-employed","reviewer_time_used": "2+ years","reviewer_time_used_band": "2-years-plus","reviewer_is_anonymous": false,"reviewer_linkedin_verified": true,"reviewer_is_validated": true,"reviewer_validations": ["LinkedIn","ProofOfLink"],"vendor_response": null,"vendor_response_date": null,"vendor_responded": false,"source_page": 1,"position": 1}
Fields that a reviewer left empty are null, so every row has the same columns. Lists such
as alternatives_considered, switched_from and reviewer_validations are JSON arrays.
The key-value store holds a run summary (summary), with per-product figures: the name
Capterra resolved, how many reviews it holds in total, pages fetched, rows returned, rows
removed by your filters, duplicates blocked, and why the crawl stopped for that product.
Anything that could not be read lands in errors with a code.
Use cases for Capterra review data
- Competitor research. Pull the reviews of the three or four products you lose deals to and read their cons side by side. The complaints that repeat are your positioning.
- Voice of the customer. Export your own product's reviews with
mostRecentsorting and feedprosandconsinto a sentiment or topic model, split by company size or industry. - Product and roadmap input. Filter on
requireProsAndConsand asearchTextsuch as "integration" or "reporting" to find what buyers ask for in their own words. - Vendor due diligence. Before buying software, check how the vendor answers its
critics:
vendor_respondedandvendor_responseshow who replies and how. - Review quality analysis. Weight or drop incentivized reviews with
is_incentivized, and compare Capterra, GetApp and Software Advice reviews withsource_site. - Market and investment research. Track rating dimensions over time across a category,
using
written_on_dateand the five scores.
Capterra Reviews Scraper compared with other options
| This Actor | Copying by hand | Generic web scraper | |
|---|---|---|---|
| Pros and cons as separate columns | Yes | Manual | Usually one text blob |
| Five dimension scores and 0-10 recommendation | Yes | Manual | Often only the stars |
| Product identity checked on every page | Yes | You notice, or not | No |
| Duplicates past Capterra's page limit blocked | Yes | n/a | No |
| Incentive disclosure and review source per row | Yes | Manual | Rarely |
| Pay per review, no subscription | Yes | Your time | Usually a monthly plan |
Capterra itself offers no public reviews API for buyers or analysts, so a scraper is the
practical way to get its reviews as data. If you need the product profile rather than the
reviews behind it, including the rating dimensions, review counts, starting price and
pricing model as one row per product, use the Capterra Scraper Actor (s-r/capterra-scraper)
instead.
Limits, and how this Actor handles them
2,500 reviews per product, and it really is per product. Capterra publishes at most 100 pages of 25 reviews for any product, however many it holds. Slack has over 24,000 reviews and the site will show you 2,500 of them. That is the site's ceiling, not this Actor's, and asking for more cannot produce more.
The part worth stating plainly, because it decides whether this Actor is useful for more than one product at a time: the 2,500 is not a budget your run spends. It is a property of each product. Two large products in a single run each returned the full 2,500, the second one in a session that had already collected 5,000 reviews, with no slowdown and no errors. A separate run starting cold was served the identical reviews at pages 1, 50 and 100. So ten products in one run means 25,000 reviews, not 2,500 shared between them.
Past the ceiling Capterra does something worth guarding against: ask for page 101 and it answers with page 1 again, as a perfectly normal response carrying twenty-five genuine reviews and the correct product. Its own "more pages available" flag keeps saying yes well past the end, so it cannot be used to decide when to stop. A crawler that followed either signal would append silent duplicates to the end of every large product. This Actor tracks the reviews it has already collected and refuses to return any of them twice, and the run summary reports how many duplicates were blocked.
A product with very few reviews has no reviews page. Capterra redirects the review address for those products to the product profile, which answers normally and contains no reviews. That case is reported as an error with its own code rather than as a product with nothing to say, because a scraper that reported "no reviews" for a product with three would be giving you a confident wrong answer.
A product id that does not exist is reported as an error too, rather than as an empty result.
The number in the URL is what identifies a product. Capterra resolves on it and
ignores the name after it, so /p/135003/Notion/ returns Slack. Every row states the
product name the page actually reported, and the run summary flags any product whose
name did not match the one you asked for.
Speed and reliability
Collection keeps the original page order and pauses between pages according to
requestDelaySeconds. Large requests continue automatically in smaller batches.
Use maxReviewsPerProduct, maxProducts, and maxPagesPerProduct to set the amount
of work before starting. Filters can require several pages to find enough matches.
If a product cannot be read, other products are still collected. Reviews already
read are retained, and errors plus the per-product summary explain any missing
results. Sorting is stable across all products, and position reflects the final
dataset order. Dates are the dates printed by Capterra; no publication times are
inferred.
Pricing
Each delivered review costs $0.0011, so 1,000 reviews cost $1.10. A run returning no reviews incurs no review charge. The run-start event in the price configuration is not charged by this Actor, preserving the existing billing behavior. There is no additional charge for filters, sorting, reviewer details, incentive disclosures, or vendor replies.
Free-plan users receive at most 10 reviews per run, across all requested products,
and the Actor stops requesting further products when that allowance is filled.
The run summary reports freeTierCapped when the allowance is reached. Paying users
retain their requested per-product volume, up to Capterra's published limit.
FAQ
Is there a Capterra reviews API?
Capterra does not publish a reviews API for buyers or analysts. This Actor works as one: start it through the Apify API with a JSON input and read the dataset back as JSON or CSV, or call it from Make, Zapier, n8n or your own code.
How many reviews can I scrape per product?
Up to 2,500, which is what Capterra publishes for any product (100 pages of 25). The limit applies to each product separately, so ten large products in one run can return 25,000 reviews.
Can I scrape reviews from several products in one run?
Yes. Paste as many product pages as you like and set maxProducts to cover them. Every row
carries product_id and product_name, so the products stay apart in one dataset.
Does it include GetApp and Software Advice reviews?
Capterra shows reviews collected on its sibling directories next to its own. Every row says
where it came from in source_site, and sourceSites restricts the run to one or more of
them.
Why did a product return an error instead of reviews?
Either the product id does not exist, or the product has so few reviews that Capterra
publishes no reviews page for it. Both are reported in errors with their own code, rather
than as an empty result that would look like "no reviews".
Can I export Capterra reviews to CSV or Excel?
Yes. The dataset downloads as CSV, Excel, JSON, XML or HTML from the run page or the API. The built-in "Overview" and "Scores" views give you a ready-made table.