# Capterra Scraper - Software Reviews, Ratings & Leads (`scrapesage/capterra-scraper`) Actor

Scrape Capterra software products & vendors by category, search or URL: star rating, review count, ease-of-use/service/features/value ratings, Shortlist badge, pricing & reviews. Optional vendor email/social enrichment, lead scoring & monitor mode. Export CSV/JSON/Excel.

- **URL**: https://apify.com/scrapesage/capterra-scraper.md
- **Developed by:** [Scrape Sage](https://apify.com/scrapesage) (community)
- **Categories:** Lead generation, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.00 / 1,000 software product scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Capterra Scraper — Software Reviews, Ratings & Vendor Leads

Extract **complete Capterra software data** — including the fields other scrapers skip: the **four sub-ratings** (ease of use, customer service, features, value for money), **review counts**, the **Capterra Shortlist** badge, pricing, categories, full product descriptions and reviews. Optionally turn every software vendor into a **ready-to-contact B2B lead** by crawling its own website for **emails, phone numbers and social links**.

Scrape a whole category, a keyword search, or specific product URLs. Residential browser rendering with graceful anti-bot handling — no API key, no login.

### Why this Capterra scraper?

Most Capterra scrapers return a name and a star rating. This actor ships the **richest dataset in the category** — straight from Capterra's category and search listings, with optional deep product pages and vendor lead enrichment:

| Data | Typical scrapers | This actor |
|---|---|---|
| Overall star rating + review count | ✅ | ✅ |
| **Ease of Use / Customer Service / Features / Value-for-Money ratings** | ❌ | ✅ |
| Capterra **Shortlist** badge + category rank | ❌ | ✅ |
| Full product description, starting price, free-trial / free-version | ❌ | ✅ opt-in |
| Feature list, deployment & support options | ❌ | ✅ opt-in |
| User reviews (rating, pros/cons, author, date) | partial | ✅ opt-in |
| **Vendor website** | ❌ | ✅ opt-in |
| Vendor **contact emails** (from their website) | ❌ | ✅ opt-in |
| Vendor LinkedIn / Facebook / X / Instagram / YouTube | ❌ | ✅ opt-in |
| Lead score (0–100) per vendor | ❌ | ✅ |

### Use cases

- **B2B lead generation** — every product is a software vendor. Score them by rating, review volume and Shortlist status, then contact them directly (`emails`, `socialProfiles`) for partnerships, integrations, competitive outreach or agency services.
- **Competitive & market intelligence** — pull an entire category (CRM, project management, accounting…) with ratings, sub-ratings and review counts to benchmark products and track where you rank.
- **Software selection & research** — build comparison tables across hundreds of tools with structured ratings and pricing.
- **Review & reputation monitoring** — schedule recurring runs to watch a category for new entrants, rating moves and review growth.
- **Reputation / sentiment analysis** — pull user reviews (pros, cons, ratings) at scale for any product.

### How to use

1. [Sign up for Apify](https://console.apify.com/sign-up) — the free plan is enough to try this actor.
2. Open the **Capterra Scraper**, add one or more **categories** (e.g. `project-management-software`, `crm-software`) or **search terms**, and click **Start**.
3. Watch results stream into the dataset table.
4. **Export** as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the [Apify API](https://docs.apify.com/api/v2).

### Input

```json
{
    "categories": ["project-management-software", "crm-software"],
    "searchTerms": ["email marketing"],
    "maxResults": 100,
    "includeProductDetails": true,
    "includeReviews": true,
    "enrichVendorContacts": true,
    "minRating": "4",
    "monitorMode": false
}
```

- **categories** — Capterra category slugs from the URL `capterra.com/`**`project-management-software`**`/`. Every listed product is scraped with full ratings.
- **searchTerms** — keywords, when you don't know the exact category slug.
- **startUrls** — direct product (`/p/<id>/<slug>/`), category or search URLs.
- **maxResults** *(default 100)* — global cap on products.
- **includeProductDetails** *(default false)* — open each product page for description, pricing, features, deployment/support and the vendor website.
- **includeReviews** *(default false)* — attach user reviews (implies product details).
- **enrichVendorContacts** *(default false)* — crawl each vendor's website for emails, phones and socials (implies product details).
- **minRating / minReviews / withWebsiteOnly** — filters.
- **monitorMode** *(default false)* — emit only new/changed products across runs.
- **proxyConfiguration** *(default: Apify residential, US)* — residential is required (Cloudflare). Supports **Custom proxies** (BYO premium residential / unblocker) for reliable clearing.

### Output

One record per product (`type: "product"`). Listing fields are always present; detail and enrichment fields are added when you enable those options.

```json
{
    "type": "product",
    "productId": "147657",
    "slug": "monday-com",
    "name": "monday.com",
    "url": "https://www.capterra.com/p/147657/monday-com/",
    "category": "Project Management Software",
    "rank": 1,
    "rating": 4.6,
    "reviewCount": 6067,
    "ratingEaseOfUse": 4.5,
    "ratingCustomerService": 4.4,
    "ratingFeatures": 4.5,
    "ratingValueForMoney": 4.3,
    "onCapterraShortlist": true,
    "description": "monday.com is a work OS that powers teams to run projects and workflows with confidence…",
    "startingPrice": "$9/seat/month",
    "hasFreeTrial": true,
    "hasFreeVersion": true,
    "features": ["Task Management", "Gantt/Timeline View", "Time Tracking", "Reporting/Analytics"],
    "website": "https://monday.com",
    "emails": ["support@monday.com", "press@monday.com"],
    "contactPhones": ["+1 201 778 4567"],
    "socialProfiles": {
        "linkedin": "https://www.linkedin.com/company/mondaydotcom",
        "twitter": "https://twitter.com/mondaydotcom",
        "youtube": "https://youtube.com/mondaydotcom"
    },
    "reviews": [
        { "rating": 5, "title": "Best work management tool", "body": "…", "author": "Sarah K.", "date": "2026-05-12" }
    ],
    "leadScore": 92,
    "scrapedAt": "2026-06-27T03:00:00.000Z"
}
```

### Automate & schedule

Run this actor on autopilot and pull results into your own stack:

- **[Apify API](https://docs.apify.com/api/v2)** — start runs, fetch datasets, and manage schedules over REST.
- **[apify-client for JavaScript](https://docs.apify.com/api/client/js/)** and **[apify-client for Python](https://docs.apify.com/api/client/python/)** — official SDKs.
- **[Schedules](https://docs.apify.com/platform/schedules)** — run it daily/weekly with **monitor mode** to track new products, rating moves and review growth in a category.
- **[Webhooks](https://docs.apify.com/platform/integrations/webhooks)** — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.

```js
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });

const run = await client.actor('scrapesage/capterra-scraper').call({
    categories: ['crm-software'],
    maxResults: 100,
    includeProductDetails: true,
    enrichVendorContacts: true,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} products & vendor leads`);
```

### Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

- **[Make](https://docs.apify.com/platform/integrations/make)** — multi-step automation scenarios.
- **[Zapier](https://docs.apify.com/platform/integrations/zapier)** — push new vendor leads straight into your CRM.
- **[Slack](https://docs.apify.com/platform/integrations/slack)** — get notified when a monitored category changes.
- **[Google Drive / Sheets](https://docs.apify.com/platform/integrations/drive)** — auto-export every run to a spreadsheet.
- **[Airbyte](https://docs.apify.com/platform/integrations/airbyte)** — pipe results into your data warehouse.

### Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the **[Apify MCP server](https://docs.apify.com/platform/integrations/mcp)** — ask your assistant to "find the top-rated CRM software on Capterra and list vendor contacts" and let it run this scraper for you.

### Agent-ready: autonomous payments (x402 & Skyfire)

This actor is **agent-ready** — AI agents can discover it, run it, and **pay for it autonomously**, with no Apify account and no human in the loop. It uses [pay-per-event](https://docs.apify.com/platform/actors/publishing/monetize/pay-per-event) pricing and [limited permissions](https://docs.apify.com/platform/actors/development/permissions), so it qualifies for Apify's agentic-payment standards:

- **[x402](https://docs.apify.com/platform/integrations/x402)** — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp) — no account, no API key.
- **[Skyfire](https://docs.apify.com/platform/integrations/skyfire)** — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

### More scrapers from scrapesage

Build a complete **software-market & B2B lead stack**:

- **[SaaSworthy Scraper](https://apify.com/scrapesage/saasworthy-scraper)** — software, pricing, reviews & vendor leads.
- **[Salesforce AppExchange Scraper](https://apify.com/scrapesage/salesforce-appexchange-scraper)** — apps & ISV publisher leads.
- **[Shopify App Store Scraper](https://apify.com/scrapesage/shopify-app-store-scraper)** — apps, reviews & developer leads.
- **[Chrome Web Store Scraper](https://apify.com/scrapesage/chrome-web-store-scraper)** — extensions & developer leads.
- **[Product Hunt Scraper](https://apify.com/scrapesage/product-hunt-scraper)** — launches, makers & leads.
- **[Trustpilot Scraper](https://apify.com/scrapesage/trustpilot-scraper)** — company profiles, reviews & leads.
- **[LinkedIn Company Scraper](https://apify.com/scrapesage/linkedin-company-scraper)** — firmographics & B2B leads.
- **[Website Contact Scraper](https://apify.com/scrapesage/website-contact-scraper)** — emails, phones & socials from any site.
- **[Google Maps Scraper](https://apify.com/scrapesage/google-maps-scraper)** — local business leads & contacts.

### Tips

- **Full category sweeps**: a Capterra category can list 1,000+ products. Raise `maxResults` and the actor paginates automatically; split very large categories across scheduled runs.
- **Fast vs rich**: the default listing run is fast and already includes all ratings + sub-ratings. Turn on `includeProductDetails` / `enrichVendorContacts` only when you need pricing, descriptions and vendor contacts.
- **Recurring monitoring**: combine [Schedules](https://docs.apify.com/platform/schedules) with `monitorMode` to receive only new/changed products.
- **Proxies & reliability**: Capterra is behind Cloudflare, which recently tightened its challenge, so the default shared Apify residential pool now clears it only intermittently. **For consistent results, choose *Custom proxies* in `proxyConfiguration` and supply your own premium residential proxy or a Cloudflare-solving unblocker endpoint** (Bright Data, Oxylabs, etc.) — they're used as-is. Runs that Cloudflare blocks end cleanly with a "please re-run" status message and 0 charge, never an error.

### FAQ

**How do I scrape a Capterra category?** Put the slug from the category URL in `categories` (e.g. `project-management-software`, `crm-software`). Every product in the category is scraped with full ratings.

**Do I get the sub-ratings?** Yes — ease of use, customer service, features and value for money are extracted for every product, straight from the listing.

**Where do vendor emails come from?** Never from Capterra. With `enrichVendorContacts` on, the actor visits each vendor's own public website and extracts publicly listed contact details — the same thing a human visitor would see.

**Can I export to Google Sheets, CSV, or Excel?** Yes — one click in the dataset view, or automatically on every run via the [Google Drive integration](https://docs.apify.com/platform/integrations/drive).

**Is scraping Capterra legal?** This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (GDPR/CCPA for personal data) and Capterra's terms.

**A field is null — why?** Listing fields (ratings, sub-ratings, review counts) are always populated. Detail fields (pricing, description, vendor website) require `includeProductDetails`; emails/socials require `enrichVendorContacts` and a vendor that publishes them.

**A run returned 0 products / "Cloudflare blocked" — why?** Capterra's Cloudflare protection has become more aggressive, and the shared Apify residential proxies don't always clear it. The run still finishes cleanly (0 charge) and asks you to re-run. For reliable results, set `proxyConfiguration` to **Custom proxies** and use your own premium residential proxy or a Cloudflare-solving unblocker endpoint.

### Need help?

Open an issue on the actor's **Issues** tab, or visit the [Apify help center](https://help.apify.com/). Feature requests are welcome — this actor is actively maintained.

# Actor input Schema

## `categories` (type: `array`):

Capterra category slugs to browse — every product listed is scraped (with full ratings). Use the path from the category URL <code>capterra.com/<b>project-management-software</b>/</code>, e.g. <code>project-management-software</code>, <code>crm-software</code>, <code>accounting-software</code>, <code>marketing-automation-software</code>, <code>help-desk-software</code>, <code>hr-software</code>. A full category URL also works.

## `searchTerms` (type: `array`):

Keywords to search on Capterra, e.g. <code>video conferencing</code>, <code>payroll</code>, <code>ai chatbot</code>. Use this when you don't know the exact category slug.

## `startUrls` (type: `array`):

Direct Capterra URLs: product pages (<code>/p/\<id>/\<slug>/</code>), category pages (<code>/\<slug>-software/</code>) or search pages (<code>/search/?query=...</code>). Used in addition to the categories / search terms above.

## `maxResults` (type: `integer`):

Global cap on the number of product records to output across all categories / searches. Listing pages return ~25-40 products each, so this is reached quickly.

## `includeProductDetails` (type: `boolean`):

Open each product's page to add its full description, starting price, free-trial / free-version flags, feature list, deployment & support options and the vendor's website. Slower (one page per product) and billed per product (productDetails event). Leave off for the fast listing-only run.

## `includeReviews` (type: `boolean`):

Attach user reviews (rating, title, pros/cons, author, date) to each product. Opens the product page, so it implies 'Include product details'.

## `enrichVendorContacts` (type: `boolean`):

For every product with a vendor website, crawl the vendor's home + contact/about page and extract publicly listed e-mail addresses, social profiles (LinkedIn, Facebook, Instagram, X, YouTube, TikTok) and phone numbers — turning each vendor into a ready-to-contact B2B lead. Implies 'Include product details' (needed to find the website) and is billed as an enriched lead.

## `minRating` (type: `string`):

Keep only products with at least this average rating. Leave empty for all.

## `minReviews` (type: `integer`):

Keep only products with at least this many reviews (filters out brand-new / thin products). Leave empty for all.

## `withWebsiteOnly` (type: `boolean`):

Keep only products for which a vendor website was found (requires product details).

## `monitorMode` (type: `boolean`):

Remember products across runs and emit only NEW or CHANGED ones (rating, review count, pricing or vendor website change). Great for watching a category for new entrants or rating moves. Works independently of Apify Schedules — pair it with a Schedule to run on a cadence.

## `monitorKey` (type: `string`):

Namespace for monitor memory. Use a distinct key per saved search so their states don't collide.

## `proxyConfiguration` (type: `object`):

Proxies to use. Residential proxies are REQUIRED — Capterra is protected by Cloudflare and blocks datacenter IPs. <b>Cloudflare recently tightened its challenge</b>, so Apify's shared residential pool now clears it only intermittently. For reliable results, switch to <b>Custom proxies</b> and paste your own premium residential proxy or a Cloudflare-solving unblocker endpoint (e.g. Bright Data / Oxylabs) — these are used as-is. Otherwise the default (Apify residential, US) is attempted and the run ends cleanly if Cloudflare blocks it.

## `maxConcurrency` (type: `integer`):

How many Capterra pages to render in parallel. Lower is gentler on Cloudflare and more reliable; 4-8 is a good balance.

## `debugMode` (type: `boolean`):

Dump raw page diagnostics to the key-value store for troubleshooting selectors.

## `headful` (type: `boolean`):

Run the browser headful (under Xvfb) — clears Cloudflare's Turnstile far more reliably. On by default; set false to force headless.

## Actor input object example

```json
{
  "categories": [
    "project-management-software",
    "crm-software"
  ],
  "searchTerms": [
    "email marketing"
  ],
  "maxResults": 100,
  "includeProductDetails": false,
  "includeReviews": false,
  "enrichVendorContacts": false,
  "minRating": "",
  "withWebsiteOnly": false,
  "monitorMode": false,
  "monitorKey": "default",
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "maxConcurrency": 6,
  "debugMode": false,
  "headful": true
}
```

# Actor output Schema

## `results` (type: `string`):

All scraped Capterra product records as JSON items in the default dataset.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "categories": [
        "project-management-software"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapesage/capterra-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "categories": ["project-management-software"],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapesage/capterra-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "categories": [
    "project-management-software"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call scrapesage/capterra-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapesage/capterra-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/d7Hjh2cGoaZgvHtiU/builds/1tsL63CfyZQVk8A7B/openapi.json
