Capterra & Software Advice Reviews Scraper avatar

Capterra & Software Advice Reviews Scraper

Pricing

from $1.50 / 1,000 reviews

Go to Apify Store
Capterra & Software Advice Reviews Scraper

Capterra & Software Advice Reviews Scraper

Scrape software reviews from Capterra and Software Advice in one run, deduplicated across both sites. HTTP-only, no browser. 40 flat fields per review.

Pricing

from $1.50 / 1,000 reviews

Rating

0.0

(0)

Developer

Piquno

Piquno

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Capterra + Software Advice Reviews Scraper

Scrape software reviews from Capterra and Software Advice in a single run, deduplicated across both. HTTP-only — no browser. 41 flat fields per review, ready for CSV or Excel.

$1.50 per 1,000 reviews. No charge for empty rows.


Why this one

Capterra and Software Advice are both Gartner-family properties (acquired by G2 in February 2026) and they republish the same review corpus under the same review ids. A Slack review carries the id Capterra___7079722 on both sites, and both report the same 24,181 total.

Measured on live data: 48% of the Software Advice reviews for Slack were already present on Capterra. If you scrape the two sites with separate actors today, you pay twice for roughly half your rows and then have to reconcile them yourself.

This actor emits each review once, with sourcePlatform recording where it came from.

What else is different

This actorTypical incumbent
Cross-site dedupeYes, on shared review idNone — separate actors per site
Repeat runsincremental emits only new reviewsRe-bills full history every run
Empty rowsNever billedCommonly billed
FiltersApplied before billingOften applied after
Missing dataStays nullSometimes inferred

The incremental and no-bill-on-empty behaviours deliberately reduce what you are charged on scheduled runs. That is the point: a monitoring job should cost a few cents a week, not re-purchase 24,000 reviews every Monday.


Input

{
"targets": ["https://www.capterra.com/p/135003/Slack/"],
"platforms": ["capterra", "softwareadvice"],
"maxReviewsPerTarget": 500,
"dedupeAcrossPlatforms": true,
"minRating": 1,
"maxRating": 3,
"proxyConfiguration": { "proxyUrls": ["http://user:pass@your-residential-provider:port"] }
}

targets accepts:

  • a Capterra product URL — https://www.capterra.com/p/135003/Slack/
  • the short form — capterra:135003/Slack
  • a Software Advice profile URL — https://www.softwareadvice.com/remote-support/slack-profile/

Software Advice must be a full URL. Its path contains a category segment (remote-support) that cannot be derived from a Capterra id, and guessing one would silently return the wrong product.

Monitoring a product

Set incremental: true and give each schedule its own stateKey. The actor remembers review ids between runs and emits only ones it has not seen, tagged changeType: "new".


Output

One flat row per review. Nested objects are flattened; nothing is nested, so CSV and Excel exports stay usable.

{
"reviewId": "Capterra___7189737",
"productName": "Slack",
"sourcePlatform": "capterra",
"title": "Slack: Essential for Desk Based Workforces",
"prosText": "Slack is the best way for a desk based workforce to communicate…",
"consText": "Honestly, nothing. Occasionally there will be a bug…",
"overallRating": 5,
"easeOfUseRating": 5,
"customerSupportRating": 5,
"functionalityRating": 5,
"valueForMoneyRating": 5,
"recommendationRating": 10,
"writtenOn": "2026-07-25T00:00:00.000Z",
"incentivized": "NoIncentive",
"reviewerName": "Richard M.",
"reviewerJobTitle": "Founder",
"reviewerIndustry": "Marketing and Advertising",
"reviewerCompanySize": "Self-employed",
"reviewerTimeUsed": "2+ years",
"reviewerIsValidated": true,
"reviewerVerifiedLinkedIn": true,
"fieldsPopulated": 28
}

Field fill rates

Measured over a full page of live Capterra reviews. Published so you can judge completeness before you buy, not after.

FieldFill
reviewId, title, writtenOn100%
prosText, consText100%
all five sub-ratings, recommendationRating100%
generalComments96%
reasonsForSwitching20%
adviceToOthers0% on this sample

frequencyOfUsing, reasonsForChoosing and hasPreviousVersions (review edit history) come from Software Advice and are null on Capterra rows.

Software Advice returns a coded company size ("G") with no legend published on the page. The code is passed through as reviewerCompanySizeCode and reviewerCompanySize is left null — this actor does not guess a mapping it cannot verify.


Pricing

EventPrice
Review$0.0015 ($1.50 / 1,000)
Actor start$0.00005

A row is billed only if it has a review id and at least one of pros, cons, or comments, and it is billed before it is pushed — so you are never charged for a row you did not receive, and never receive one you were not charged for.

Rows removed by your filters are never billed. The actor also honours the maximum charge per run you set in the run options: once that budget is exhausted it stops fetching rather than continuing to spend compute on pages it can no longer bill.


Limitations — read before you buy

  • A third-party residential proxy is required. Apify Proxy does not work on this target. Measured 2026-08-21:

    RouteSuccess rate
    Consumer ISP address, direct1 / 3
    Apify Proxy — datacenter and RESIDENTIAL, via impit and got-scraping0 / 11

    Capterra's Cloudflare blocks Apify's proxy ranges specifically, so this is not fixed by retries, by rotating sessions, or by changing HTTP client. Supply your own residential proxy under Custom proxies in the proxy input (proxyUrls). Budget roughly 680 KB per page of 25 reviews when estimating proxy spend.

    Cloudflare also degrades a single address with volume: a clean IP starts near 100% and decays toward zero, so a rotating pool matters more than a fast one.

  • G2.com is not supported. G2 runs DataDome in blocking mode and returns 403 on every content URL including its own advertised sitemap. It gates on TLS and JS-derived signals, so proxies do not help. Actors claiming G2 coverage are the ones with the lowest ratings on the Store, and blocking is why.

  • GetApp is not supported. Its product pages reference Capterra review ids but do not carry the review bodies. Since the corpus is shared with Capterra, adding it would mostly duplicate rows you already have.

  • 25 reviews per page. A product with 24,000 reviews needs ~960 requests for a full history. Use maxReviewsPerTarget, date filters, or incremental rather than pulling everything.

  • Format risk. Reviews are read from the Next.js React Server Component payload. If the site changes its internals, extraction falls back to JSON-LD, which is thinner (author, title, rating) but correct — the actor degrades rather than returning nothing.


Running locally

npm install
npm test

Tests run against captured live pages in test/fixtures/ — no network required.