Request a tool
All toolsAutomationsGuidesMCP serverRequest a toolPlatformsCategories
Capterra Reviews Scraper icon

Capterra Reviews Scraper

Scrape Capterra reviews with no API key or login: ratings, pros, cons, sub-scores, reviewer profile. JSON, CSV or Excel. $0.85 per 1,000 reviews.

155 runs on Apify $0.00085 per review ($0.85 / 1,000)
Run this in the cloudRun on Apify →

Reviews & Reputation Data

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust productUrls, maxReviewsPerProduct, sort (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.00085 per review = $0.85 per 1,000

You are charged forWhenPrice
Review scrapedCharged once per Capterra review returned. Summary, sample and diagnostic rows are never charged.$0.00085

Pay-per-event pricing: you are billed per result, not per subscription. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-08, and they are what you are actually charged.

Inputs

FieldWhat it doesType
productUrlsOne entry per product. Paste the Capterra reviews URL straight from your address bar (https://www.capterra.com/p/135003/Slack/reviews/), a Capterra country URL (https://www.capterra.co.uk/software/135003/slack), or just the numeric product id (135003). Only the number matters, the actor looks up the rest itself.array
maxReviewsPerProductHard cap on billable review rows for each product. You are charged per review returned, so this is also your budget cap. Capterra itself stops paginating at 2,500 reviews per product, which is the ceiling here too.integer
sortWhich reviews come first, and so which ones you get when you ask for fewer than the product has. Most helpful is Capterra's own default and what this actor has always read. The other three are the orders Capterra's sort box offers: newest first, or by overall star rating, highest or lowest first.string
includeProductSummaryOn by default. Adds one extra, never-charged row per product with the product name, average rating and sub-scores, Capterra's total review count, how many were collected, and the newest/oldest review dates.boolean

What you get

A structured dataset — each result includes fields like:

productNamereviewIdtitleoverallRatingpublishedAtreviewerNamereviewerJobTitlereviewerIndustrycompanySizeusedForprosconsreviewUrl

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

Related tools in Reviews & Reputation Data

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

Tripadvisor Reviews Scraper iconReviews & Reputation Data

Tripadvisor Reviews Scraper

Scrape Tripadvisor reviews for hotels, restaurants and attractions. Get rating, full text, reviewer, hometown, trip type and owner reply. $0.25/1,000.

1 use cases

Booking.com Reviews Scraper iconReviews & Reputation Data

Booking.com Reviews Scraper

Scrape Booking.com guest reviews. Get the score, title, liked and disliked text, reviewer name, country and stay dates. $1.50 per 1,000 reviews.

Ready to run — no setup

Google Play Reviews Scraper iconApp Store Data

Google Play Reviews Scraper

Google Play reviews by app ID or URL: score, text, reviewer, date, developer reply. Any country. Up to 5,000 per app. $0.09 per 1,000.

Ready to run — no setup

2GIS Reviews Scraper iconMaps & Local Lead Generation

2GIS Reviews Scraper

Scrape 2GIS reviews by place URL or city: rating, text, author, date, photos, owner replies. No API key. $0.50 per 1,000.

Ready to run — no setup

Yelp Scraper iconMaps & Local Lead Generation

Yelp Scraper

Scrape Yelp businesses and reviews through Yelp's official Fusion API. Get rating, review count, price, phone, address, GPS and text. Bring your own key.

Ready to run — no setup

Glassdoor Company Reviews Scraper iconJob Market Scrapers

Glassdoor Company Reviews Scraper

Scrape Glassdoor reviews: pros, cons, six sub-ratings, recommend rate and CEO approval. First page per company without login. $2.50 per 1,000.

20 use cases

See all Reviews & Reputation Data →

Capterra Reviews Scraper: every review for a software product, no API key

Give it a Capterra product URL or just the numeric product id, and you get one row per review. All five scores, the pros and cons in the reviewer's own words, the date, and who wrote it: job title, industry, company size and how long they have used the product.

Capterra's own pagination stops at 2,500 reviews per product, so a product with 24,000 reviews cannot be read end to end by anyone. What you can choose is the order, and with it which reviews you get: most helpful first, newest first, or by rating.

InputCapterra product URLs, country URLs, or numeric product ids
OutputOne row per review, plus an optional summary row per product
Ceiling2,500 reviews per product
Account neededNone, and no API key
Price$0.85 per 1,000 reviews, flat on every plan

🔍 What Capterra Reviews Scraper does

Only the product number matters. Paste the reviews URL from your address bar, a Capterra country URL like capterra.co.uk/software/135003/slack, or the bare 135003. The actor works out the rest, including the exact capitalisation Capterra insists on in the product slug.

Every review comes back with all five of Capterra's scores, not just the headline star: overall, ease of use, customer service, features and value for money, plus the 0 to 10 recommend score. The reviewer's profile comes with it, so you can cut the results by company size or industry later.

Switch on the summary row and each product also gets one extra, never-charged row: the average and its four sub-scores, how many reviews Capterra says exist in total, how many you collected, and the newest and oldest dates in your set.

📥 What you give it

{
  "productUrls": ["https://www.capterra.com/p/135003/Slack/reviews/", "217965"],
  "maxReviewsPerProduct": 300,
  "sort": "most_recent",
  "includeProductSummary": true
}
FieldDefaultWhat it is
productUrlsnone, the box starts with the Slack product URLOne entry per product. A reviews URL, a Capterra country URL, or the numeric product id on its own.
maxReviewsPerProduct100 when you leave it out, and the box starts at 100Cap on billable review rows for each product, 1 to 2,500. This is your budget control.
sortmost_helpfulThe order reviews come in: most_helpful (Capterra's default), most_recent, highest_rated or lowest_rated. With a cap below the product's total, this decides which reviews you get.
includeProductSummaryonOne extra, never-charged row per product with the averages and totals. Set it to false to skip it.
proxyConfigurationnoneOptional. Only touch it if the run has to leave through your own servers.

Reviews for a product arrive when that product's walk finishes, not page by page. Ask for 2,500 from one product on a short run timeout and the run can end with nothing for it. Split a very large pull into several runs, or raise the timeout.

Products are read one after another. If Capterra will not serve the first product on a given run, the later ones in the same run are reported as skipped rather than attempted.

📤 What you get back

A real review row from a recent run, with the avatar URL trimmed:

{
  "productId": "135003",
  "productName": "Slack",
  "productUrl": "https://www.capterra.com/p/135003/Slack/reviews/",
  "reviewId": "Capterra___7189737",
  "reviewUrl": "https://www.capterra.com/p/135003/Slack/reviews/?review=Capterra___7189737",
  "title": "Slack: Essential for Desk Based Workforces",
  "publishedAt": "2026-07-25",
  "publishedText": "July 25, 2026",
  "overallRating": 5,
  "easeOfUse": 5,
  "customerService": 5,
  "features": 5,
  "valueForMoney": 5,
  "likelihoodToRecommend": 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...",
  "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.",
  "comments": "I love Slack and could not run my business without it...",
  "alternativesConsidered": null,
  "switchedFrom": null,
  "reasonsForChoosing": null,
  "reasonsForSwitching": null,
  "reviewerName": "Richard M.",
  "reviewerJobTitle": "Founder",
  "reviewerIndustry": "Marketing and Advertising",
  "companySize": "Self-employed",
  "usedFor": "2+ years",
  "verifiedLinkedInUser": true,
  "reviewerValidations": "LinkedIn, ProofOfLink",
  "reviewerAvatar": "https://reviews.capterra.com/cdn/profile-images/linkedin/...",
  "incentivized": false,
  "incentiveType": "NoIncentive",
  "reviewerSource": "No Incentive Offered: This review was submitted organically.",
  "sourceSite": "Capterra",
  "globalReviewId": "Capterra___7189737",
  "sourceDomain": "www.capterra.com",
  "_charged": true
}
FieldWhat it is
reviewIdStable. Use it as your dedupe key across runs.
overallRating and the four beside itCapterra's full score set. likelihoodToRecommend is the 0 to 10 answer.
pros, cons, commentsThe reviewer's own text, kept as written including line breaks.
alternativesConsidered, switchedFrom, reasonsForChoosing, reasonsForSwitchingFilled in only when the reviewer answered those questions, which most do not. null otherwise.
reviewerNamenull when the review was left anonymously.
incentivized, incentiveType, reviewerSourceWhether the reviewer got something for writing it, in Capterra's own wording.
sourceSite, globalReviewIdCapterra shares a review corpus with its sister sites, so a review can originate elsewhere and say so here.
publishedAtThe ISO date. publishedText keeps Capterra's own wording.

🧾 Reading the output

Four kinds of row can land in your dataset.

RowHow to spot itCharged
A reviewA reviewId, and none of the flags belowyes
The product summary_summary: trueno
The sample row_sample: trueno
A diagnostic_diagnostic: true and a reasonno

Every row carries _charged. Treat it as the marker that tells a real review apart from the summary, sample and diagnostic rows, and filter on the three flags rather than on that one field. Run the actor with nothing filled in and you get the sample row on its own.

The reason on a diagnostic row names what went wrong:

ReasonWhat it means
unrecognised-product-referenceThat entry is not a Capterra product URL or id.
product-not-foundCapterra has no product with that number.
blockedCapterra would not serve a readable page for that product on this run. Try again.
skippedAn earlier product in the same run could not be served, so this one was not attempted.
no-new-reviewsPaging stopped because Capterra started repeating itself.
page-limit-reachedThe 2,500-review ceiling. Everything up to it was delivered.
unknown-sortThe sort value is not one of the four above. Nothing was fetched or charged.
sort-unavailableCapterra's sort did not answer for that product on this run. Try again, or use most_helpful.
sort-not-appliedCapterra sent a page that was not in the order you asked for. That page was dropped and not charged.

The summary row also carries stoppedBecause, with the same vocabulary plus reached-requested-count and all-reviews-collected, so you can tell a finished walk from a capped one at a glance.

▶️ How to run it

1. Open Capterra Reviews Scraper and click Try for free. 2. Paste one or more products into Capterra product URLs, one per line. 3. Set Maximum reviews per product, and a Review order if you want the newest or the best and worst rated first. Start around 100 to see the output shape. 4. Leave Add a product summary row on unless you only want review rows, then click Start. 5. Download the dataset as JSON, CSV or Excel, or read it from the Apify API.

💰 How much does it cost?

$0.85 per 1,000 reviews. Flat on every Apify plan, no volume tiers.

You pay per review row delivered. The summary row, the sample row and diagnostic rows carry no review charge, and a product that returns no reviews produces none either.

💡 What people use it for

  • Reading what buyers in one company size band actually complain about, by filtering companySize

and then cons.

  • Tracking a product's score month by month on a schedule, with sort on most_recent and deduping

on reviewId.

  • Pulling switchedFrom and reasonsForSwitching across a category to see which products people

leave and why.

  • Sorting the sub-scores against each other, because a product can rate well on features and badly

on customer service and the headline average hides it.

🚧 What it does not do

  • 2,500 reviews per product is the ceiling. That is Capterra's own pagination, not a setting

here. Popular products have far more than that and nobody can read past it.

  • No oldest-first order. Capterra's sort offers most helpful, newest, highest and lowest rating,

and those four are what you can ask for here.

  • No search by product name. You need the URL or the id. Find the product on Capterra once and

keep the number.

  • English reviews from the .com site. Paste a country URL and the product id is kept, but the

reviews still come from the main site.

  • No reviewer country. Capterra does not publish it on the review.
  • The optional fields are usually empty. alternativesConsidered and the three beside it depend

on the reviewer having answered, and most skip them.

  • Rows are a snapshot. A review can be edited or removed later, and the run records what was on

the page when it read it.

🧭 Which review scraper do you need?

If you wantUse
Capterra reviews with all five sub-scoresThis one
The same job on G2G2 Reviews Scraper
Agency and service-provider reviewsClutch Agencies Scraper
Mobile app reviews on AndroidGoogle Play Reviews Scraper
Mobile app reviews on iOSApp Store Scraper

❓ Questions people ask

Where do I find the product id? Open the product on Capterra and read the number out of the URL: capterra.com/p/135003/Slack/reviews/ is 135003. Paste either form.

Can I scrape several products in one run? Yes, one per line. Each gets its own cap and its own summary row.

Why did I get fewer reviews than I asked for? Either the product has fewer than that, or you hit the 2,500 ceiling, or paging started repeating. The summary row's stoppedBecause says which.

Do I get the newest reviews? Set sort to most_recent and you do, newest first. Left alone, you get Capterra's default order, most helpful first.

Can I run it on a schedule? Yes. Keep the cap modest, dedupe on reviewId, and compare newestReview between runs.

Is scraping reviews legal? These are public reviews on public product pages. They carry personal data all the same, which GDPR and similar laws cover, so have a reason for collecting it. Apify's write-up on scraping and the law is a good starting point, and we are not lawyers.

🆘 If something breaks

Open the Issues tab on the actor page. Send the product URL or id and the run ID. The reason on the diagnostic row usually names the problem on its own.