Capterra Reviews Scraper - $0.85/1,000, No API Key avatar

Capterra Reviews Scraper - $0.85/1,000, No API Key

Pricing

Pay per event

Go to Apify Store
Capterra Reviews Scraper - $0.85/1,000, No API Key

Capterra Reviews Scraper - $0.85/1,000, No API Key

Scrape public Capterra software reviews by product URL or numeric id. Returns star rating, pros, cons, the ease-of-use, customer-service, features and value sub-scores, likelihood to recommend, plus reviewer job title, industry, company size and how long they used the product.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Capterra Reviews Scraper — Capterra review data as an API

Pulls public software reviews from Capterra for any product you point it at: star rating, the pros/cons text, four sub-scores, likelihood to recommend, and who wrote it (job title, industry, company size, how long they used the product).

Paste a Capterra URL, get rows. No login, no cookies, no API key.

$0.85 per 1,000 reviews ($0.00085 each), plus $0.001 each time a run starts. Nothing else — no proxy surcharge, no monthly fee, no volume tiers to unlock. Of the Capterra review scrapers on the Apify Store with an active user base, exactly one is cheaper than this; the rest run from $0.90 to $10.00 per 1,000, and that is each one's lowest volume tier, not its headline rate.

What you get per review

FieldExample
reviewIdCapterra___7189737
titleSlack: Essential for Desk Based Workforces
publishedAt2026-07-25
overallRating5
easeOfUse, customerService, features, valueForMoney5, 5, 5, 5
likelihoodToRecommend10 (out of 10)
prosSlack is the best way for a desk based workforce to communicate...
consOccassionally there will be a bug or issue...
commentsthe reviewer's overall summary, separate from pros and cons
reviewerName, reviewerJobTitleRichard M., Founder
reviewerIndustry, companySize, usedForMarketing and Advertising, Self-employed, 2+ years
verifiedLinkedInUser, reviewerValidationstrue, LinkedIn, ProofOfLink
incentivized, incentiveType, reviewerSourcefalse, NoIncentive, No Incentive Offered: This review was submitted organically.
reviewUrl, productId, productNamedirect link, 135003, Slack

Also emitted when the review has them: alternativesConsidered (Microsoft Teams), switchedFrom, reasonsForChoosing, reasonsForSwitching — about 6-20% of reviews carry these. Every row also carries globalReviewId, sourceSite, sourceDomain and, where the reviewer has one, reviewerAvatar.

Measured field coverage on one real 2,500-review Slack run: overallRating, all four sub-scores, likelihoodToRecommend, publishedAt, usedFor and reviewerSource were populated on 2,500 of 2,500. pros 2,497, cons 2,498, reviewerJobTitle 2,498, reviewerIndustry 2,470, companySize 2,469, comments 1,988. reviewerName on 2,054 of 2,500 — the other 446 reviews are anonymous on Capterra, and the actor returns null rather than inventing a name.

With includeProductSummary on (the default) you get one extra free row per product carrying averageRating, the four product-level sub-scores, totalReviewsOnCapterra, reviewsCollected, the newest/oldest review date, and stoppedBecause — the reason the walk ended.

Input

{
"productUrls": ["https://www.capterra.com/p/135003/Slack/reviews/"],
"maxReviewsPerProduct": 100
}

productUrls accepts a capterra.com reviews URL, a Capterra country URL, or the bare numeric product id (135003). Only the number matters. Capterra's URL slug is case-sensitive (/p/135003/Slack/ works, /p/135003/slack/ returns an empty page at HTTP 200), so the actor resolves the real slug itself before it starts paging.

Which Capterra does it read, and is that allowed?

www.capterra.com, and yes. That host's robots.txt User-agent: * group lists 22 disallowed paths. /p/<id>/<Slug>/reviews/ is not one of them, and neither page nor any other parameter this actor sends is disallowed. The one query parameter capterra.com does forbid on this path is sort_options=, and this actor never sends it — which is also why there is no sort option in the input.

Capterra also runs international mirrors (capterra.co.uk, .ca, .com.au, .ie, .co.nz, .in, .com.sg, .co.za, .ae). They carry the same corpus, and an earlier version of this actor read them. It no longer does: every one of those hosts ships Disallow: /*?* — a blanket ban on any URL with a query string — and pagination needs one. You can still paste a mirror URL as input; the actor takes the product id out of it and reads capterra.com.

Depth: 2,500 reviews per product

Capterra's own pagination stops at page 100 and serves 25 reviews per page, so 2,500 reviews per product is the ceiling — asking for page 101 returns a byte-for-byte copy of page 1 at HTTP 200. The actor detects that and stops, reporting stoppedBecause: "page-limit-reached" on the summary row rather than quietly returning duplicates. page_size, per_page, limit and pageSize are all accepted by Capterra and all ignored; 25 is 25.

Most products are well inside that. Slack has 24,167 reviews on Capterra and you can reach 2,500 of them; HubSpot CRM has 4,477; the large majority of Capterra products have fewer than 2,500 in total and come back complete.

Speed and scale

Measured on real Apify runs, August 2026:

RunReturnedRequestsWall time
Slack, 5 reviews514.6 s
Slack, 250 reviews2501025 s
Slack, 2,500 reviews (the ceiling)2,500100222 s
Slack + Microsoft Teams + HubSpot CRM, 30 each90814 s

25 reviews per request, deduplicated by review id. Every one of those runs returned zero duplicate rows — 2,500 rows, 2,500 distinct review ids. The 2,500-review Slack run reached reviews published in March 2016.

What this does not do

  • It does not log in. Only reviews Capterra shows the public are returned.
  • No more than 2,500 reviews per product. That is Capterra's pagination limit, not a throttle we added. See above.
  • No sort order. Capterra's sort_options parameter is disallowed by its robots.txt, so reviews come back in Capterra's own default order, which is not chronological. Pull what you need and sort on publishedAt yourself.
  • No search by product name. Capterra's /search path is disallowed by its robots.txt too, so you have to supply a URL or an id. The id is the number in any Capterra product URL.
  • No reviewer country. capterra.com does not publish one on the review. It publishes a first name, a job title, an industry and a company size, and that is what you get.
  • It does not read GetApp, Software Advice or G2. Those are separate sites with their own review sets.
  • No vendor pricing or feature matrices — this is a reviews scraper.
  • Reviews are English-language, as capterra.com displays them.

Costs

Pay per review returned: $0.00085 per review ($0.85 per 1,000), plus $0.001 per run.

Product summary rows, the empty-input sample row and diagnostic rows are labelled _charged: false and are never billed. A run that finds nothing, or that Capterra blocks, returns a diagnostic row explaining why and charges you for zero reviews. There is no proxy surcharge: the actor brings its own egress and uses no Apify Proxy and no residential bandwidth, so PROXY_RESIDENTIAL_TRANSFER on your run is zero. Verified on every run above.

FAQ

Can I scrape Capterra reviews without an API key? Yes. This actor needs no Capterra account and no key. Give it a product URL and run it.

Does Capterra have a public reviews API? No. Capterra does not offer a public reviews API, which is why a scraper is the normal route. This actor reads the same pages a browser sees.

Is scraping Capterra reviews allowed by their robots.txt? For the pages this actor reads, yes. www.capterra.com/robots.txt does not disallow /p/<id>/<Slug>/reviews/ or the page parameter for general crawlers. This actor avoids every path and parameter that file does disallow, including sort_options= and /search.

How many reviews can I get for one product? Up to 2,500, which is where Capterra's own pagination ends. Set maxReviewsPerProduct to what you actually want — you pay per review.

How do I find a product's Capterra id? It is the number in the URL. https://www.capterra.com/p/135003/Slack/reviews/135003.

Can I get only 1-star reviews? Not as a filter. Pull the reviews and filter on overallRating in your own pipeline.

How fresh is it? Live. Every run fetches the pages at that moment; nothing is cached between runs.

Can I monitor a product for new reviews? Yes — schedule it with a small maxReviewsPerProduct and diff on reviewId. Capterra's default ordering puts recent reviews near the front, though it is not a strict chronological index.

Why did I get fewer reviews than I asked for? Either the product has fewer than you asked for, or you hit the 2,500 page limit. The summary row's stoppedBecause field says which: all-reviews-collected, page-limit-reached, reached-requested-count, past-last-page or no-reviews-page.

How does it get past Cloudflare without a browser? It presents a real browser TLS fingerprint over plain HTTP, so there is no headless browser to pay for. Requests leave from a small pool of fixed addresses; if one is turned away the actor retries on the next. That retry is invisible to you and costs you nothing — you are billed per review returned, not per request.