Capterra Products Scraper: Pricing, Features, Rank
Pricing
from $3.51 / 1,000 products
Capterra Products Scraper: Pricing, Features, Rank
Capterra software products for category or product URLs: starting price, plans, top features, category rank, sponsored flag, rating; $6.21 per 1,000 products. One category input returns up to 1,000 products. No reviewer data, free error rows.
Pricing
from $3.51 / 1,000 products
Rating
0.0
(0)
Developer
Arcadium Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Give it Capterra category or product pages and it returns one JSON row per software product: name, vendor, rating, review count, starting price and pricing plans, top features, category rank and the sponsored flag. $6.21 per 1,000 products on the free plan, and you pay only for the rows you get.
Why this actor
- A whole category is one input: up to 1,000 products with rank and the sponsored flag, ready for market maps and vendor shortlists.
- Pricing plans and top features in the same row, so no second scrape of each product page.
- Only product data: no reviewer names, photos or contact details. Free error rows with a machine-readable
code(not_found,blocked,unavailable...), so an agent knows whether to retry.
Built by Arcadium Data: public data, dated and agent-ready, never personal data.
Use with AI agents
Returns Capterra software products (starting price, plans, top features, category rank, rating, review count) for category or product URLs. Agents can call it through the Apify MCP server (https://mcp.apify.com, open source as apify/actors-mcp-server) as arcadium/capterra-products: the input schema is read from the actor, the result is a dataset of JSON rows.
Input example (minimal):
{"startUrls": [{"url": "https://www.capterra.com/project-management-software/"}],"maxResultsPerCategory": 20}
What comes back: one product row per software product (charged) and a free error row for an input that could not be read. Filter on the rowType field. An input that fails is reported, not hidden (includeErrorRows, on by default): the error row carries rowType: "error", a code (invalid_input, not_found, blocked, unavailable, filter_unsupported or no_match), a message and the input it is about. Retry on blocked and unavailable later; do not retry the other codes with the same input.
Cost of the call above: 20 products at $6.21 per 1,000 plus the $0.001 start fee is about $0.13 on the free plan; paid plans pay less. Free rows are never charged.
What you get
| Field | What it holds |
|---|---|
seoId, name, url | Capterra's product id, the title and the product page. |
vendor | The company behind it (category lists only). |
rating, reviewCount | Overall rating and number of reviews. |
category | The category the product was listed in. |
pricing | startingPrice, currency, model (per user, flat...), frequency, hasFreeTrial, hasFreeVersion, a one-line summary and the plans with their prices. |
topFeatures | The features reviewers rate as most important that the product offers. |
rank | Position in the category list, starting at 1. |
sponsored | true when the listing is a paid placement. |
description | The vendor's short blurb (category lists only). |
page, categoryUrl, scrapedAt | Where and when the row was collected. |
Output example:
{"rowType": "product","platform": "capterra","seoId": "184581","name": "Asana","vendor": "Asana","rating": 4.49,"reviewCount": 13770,"category": "Project Management","pricing": {"startingPrice": 10.99,"currency": "USD","model": "Per User","frequency": "Per Month","hasFreeTrial": true,"hasFreeVersion": true,"summary": "From $10.99 (Per User, Per Month)"},"topFeatures": ["Task Management", "Collaboration Tools", "Multiple Projects"],"rank": 18,"sponsored": false}
Input
{"startUrls": [{ "url": "https://www.capterra.com/project-management-software/" },{ "url": "https://www.capterra.com/p/184581/Asana-PM/" }],"maxResultsPerCategory": 100}
| Field | What it does |
|---|---|
startUrls | Category pages (list every product) and/or product pages (one product each). |
maxResultsPerCategory | Cap per category, up to 1,000. |
includePricingDetails | On by default. Reads each product's own page for the exact starting price, model and a ranked feature list. Off is faster and lighter, but category lists then only tell you whether a free trial or free version exists. |
includeErrorRows | Add a free row for each URL that failed. On by default. |
Use it from an AI assistant
Use the Apify actor "capterra-products" to list software in a category.Input: {"startUrls":[{"url":"https://www.capterra.com/crm-software/"}],"maxResultsPerCategory":50}Each dataset row is one product. Key fields: name, vendor, rating, reviewCount, pricing.summary, rank, sponsored.Run it, then show the top 10 non-sponsored products by rating with their pricing.
Use it from code
Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("arcadium/capterra-products").call(run_input={"startUrls": [{"url": "https://www.capterra.com/project-management-software/"}],"maxResultsPerCategory": 100,})for p in client.dataset(run["defaultDatasetId"]).iterate_items():print(p["rank"], p["name"], p["rating"], (p.get("pricing") or {}).get("summary"))
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('arcadium/capterra-products').call({startUrls: [{ url: 'https://www.capterra.com/project-management-software/' }],maxResultsPerCategory: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.length, 'products');
Pricing
You pay per product delivered, at the price of your Apify plan. Error rows are free.
| Apify plan | Per 1,000 products |
|---|---|
| Free | $6.21 |
| Starter (Bronze) | $5.31 |
| Scale (Silver) | $4.59 |
| Business (Gold) | $3.51 |
| Platinum | $3.51 |
| Diamond | $3.51 |
Plus a one-off $0.001 per GB of memory when a run starts.
Set a maximum cost per run in the Apify run options and the actor stops before it goes over.
Related actors and data
- Capterra Reviews Scraper: Pros, Cons, Company Size
- Software Reviews Scraper: Capterra, Google Play, App Store
- TrustRadius Reviews Scraper: Pros, Cons, Reviewer Role
Use cases
- Market maps: every product in a category with rating, review volume and price point.
- Prospecting: vendor lists per category for sales and partnerships.
- Pricing research: starting prices and free options across a whole category.
- Ad watch: see who pays for the top slots (
sponsored) and how rank moves week to week.
Limitations
- Public pages only. Nothing behind a login.
- You give it category or product URLs. Search by keyword is not offered, because Capterra's search pages are off limits for automated tools.
- Prices are the "starting from" figures the site publishes. Many products show "contact vendor" and have no price.
- Product pages do not name the vendor, so
vendoris empty for product URLs. Category runs fill it. topFeatureson a category list mirrors the site's feature check marks. Turn onincludePricingDetailsfor the more complete ranking from the product page.- Sponsored products are listed first, as on the site, so
rankis the page position, not a quality ranking.
Privacy
Only product data is collected. No reviewer names, photos or contact details.
FAQ
How fresh is the data? It is read when you run the actor, so it matches what the site shows at that moment.
A category returned fewer products than I asked for. Small categories simply have fewer. The run stops when the list ends.
Something looks wrong in the output. Who do I tell? Open an issue on the actor page with the run link. We read them all.