# Capterra Scraper API — $0.001 per product

> Capterra Scraper API: Software products from a Capterra category — vendor, rating. $0.001 per delivered product, nothing delivered means nothing charged.

[Home](https://quanticdata.io/)/[Collectors](https://quanticdata.io/collectors/)/*Capterra Scraper API*

# Capterra Scraper API

A Capterra scraper API that reads a software category — “crm”, “project management”, “help desk” — and returns the products it lists with the vendor behind each (Oracle for NetSuite, Intuit for Mailchimp), the star rating with its full 1–5 histogram, Capterra’s four sub-scores, description, starting price, free-trial and free-version flags, the paid-placement flag, logo and URL.

By [Aldo Morese](https://quanticdata.io/about/), founder of QuanticData · Published Aug 21, 2026 · Updated Sep 3, 2026

[Get my free API key](https://app.quanticdata.io/register) [See the request](/collectors/capterra-scraper-api/#integration)

$0.001 per delivered product · $2 free every month · Failed runs never billed

POST /v1/scraper/collectors/capterra_products/run

```
$ curl $QD/capterra_products/run \
    -H "Authorization: Bearer $QD_API_KEY" \
    -d '{"category": "crm", "max_results": 50}'
{ "status": "done", "count": 50,
  "results": [
    {
      "product_id": …,
      "product_uuid": "…",
      "name": "…",
      "vendor": "…" } ],
  "cost": 0.05 }
# 50 products × $0.001 · nothing delivered, nothing charged
```

You send category and country; the run goes out through a residential exit and comes back as products with rank, product_id and product_uuid — 27 fields on every row — and you are billed $0.001 for each product actually delivered, nothing for a run that delivers none.

**$0.001 / product**2,000 products on the free $2 every month

**Semantic input**category, country, max_results — no URL lists

**Up to 500**products per run, pagination handled for you

**No browser**read over HTTP/TLS — cheaper and faster than rendering

On this page: [Try it](/collectors/capterra-scraper-api/#try) [What it is](/collectors/capterra-scraper-api/#what) [Limits](/collectors/capterra-scraper-api/#caps) [Output fields](/collectors/capterra-scraper-api/#output) [Inputs](/collectors/capterra-scraper-api/#input) [Pricing](/collectors/capterra-scraper-api/#pricing) [Integration](/collectors/capterra-scraper-api/#integration) [Use cases](/collectors/capterra-scraper-api/#use-cases) [Versus the alternatives](/collectors/capterra-scraper-api/#compare) [FAQ](/collectors/capterra-scraper-api/#faq)

Try it

## Capterra software directory, running now

Change the input and run it against the live collector — nothing to install, no sign-up.

Run it from your own code, on your own inputs

Same collector, same rows — $2 of free API credit every month, no card.

[Get my free API key](https://app.quanticdata.io/register)

## What a Capterra scraper API does

Read this before asking for keyword search. Capterra’s search URL answers a plain fetch with a full page containing twenty product cards — and they are the same twenty whatever you searched for: a hard-coded “popular products” shell, verified by comparing two unrelated queries that returned the same names in the same order. The real search is an AI query-understanding call made after hydration. A naive collector reports twenty happy, wrong rows. So this one reads the category directory, which is fully server-rendered, resolves your keyword against Capterra’s own index of over a thousand categories, and a category is what “software search” means on Capterra anyway.

The rows come from the GraphQL product records Capterra embeds in its server payload, not from the cards. The vendor name, for one, is published only there. The cards are A/B-tested: on one variant the rating lives in an element that simply does not exist on the other, so a DOM parser is right on some page loads and blind on others. From the records every product carries its rating breakdown, the four sub-scores, pricing and campaign data — and the campaign field is what marks paid placements, delivered as `sponsored` rather than blended in.

Input is meaning, not a URL *category* *country* *max_results*

## Limits, in plain numbers

Everything that bounds one run of this collector. No hidden throttles.

Max per run

500 products

Price

$0.001 / product

Per 1,000

$1.00

Failed runs

Free zero rows, zero charge

Free every month

$2 no card

Rate limit

60 req/min on the free tier

## What one product looks like

Every delivered product carries these fields. Nullable means the source did not publish it — the field stays empty instead of being guessed.

| Field | Type | What it holds |
| --- | --- | --- |
| `rank` | integer | Position in Capterra's own order for this response, counting across pages. Note this order is bid-driven, not merit-driven — see `sponsored`. |
| `product_id` | integer | Capterra's numeric product id (its `seoId`, the number in the product URL). Stable, and the key used to de-duplicate. |
| `product_uuid` | string · nullable | Capterra's internal product UUID. |
| `name` | string | Product name. |
| `vendor` | string · nullable | Company behind the product, e.g. "Oracle" for NetSuite. Published in Capterra's data layer only — it does not appear anywhere in the rendered listing card. |
| `rating` | number · nullable | Overall star rating out of 5, rounded to 2 decimals. Capterra publishes it at raw float precision (4.233430091920658) and prints it as 4.2. |
| `reviews` | integer · nullable | Total number of reviews. 1 is a real value and is kept — several listed products have a single 5.0 review. |
| `rating_breakdown` | object · nullable | Star histogram as {"1":n,…,"5":n}, keyed by star value. Capterra emits these buckets unordered and omits a star nobody awarded. |
| `ease_of_use` | number · nullable | Capterra's "Ease of Use" sub-score out of 5, rounded to 2 decimals. |
| `customer_service` | number · nullable | Capterra's "Customer Service" sub-score out of 5, rounded to 2 decimals. |
| `functionality` | number · nullable | Capterra's "Features" / functionality sub-score out of 5, rounded to 2 decimals. |
| `value_for_money` | number · nullable | Capterra's "Value for Money" sub-score out of 5, rounded to 2 decimals. |
| `likelihood_to_recommend` | number · nullable | Likelihood to recommend as the 0–1 fraction Capterra publishes (0.63 = the 63% its UI shows). |
| `description` | string · nullable | The short product description Capterra shows on the listing card. |
| `category` | string · nullable | The category being listed, e.g. "CRM Software", read from the page breadcrumb. |
| `category_id` | string · nullable | Capterra's internal UUID for the category. |
| `starting_price` | number · nullable | Starting price of the default plan, in `price_currency`. Null where Capterra publishes no pricing plan — which is the case for every sponsored row, so expect nulls across the first page. |
| `price_currency` | string · nullable | Currency of `starting_price`. Capterra doubles its symbol in the payload ("$$"); an exactly repeated symbol is collapsed back to one. |
| `pricing_plans` | integer · nullable | How many pricing plans Capterra lists for the product. Null when it publishes none. |
| `has_free_trial` | boolean · nullable | Whether Capterra flags a free trial. |
| `has_free_version` | boolean · nullable | Whether Capterra flags a free version. |
| `sponsored` | boolean | True when the row is a paid placement. Capterra orders its directories by bid, so this is how to tell an advertisement from an organic listing. |
| `bid_spot` | integer · nullable | The advertising slot the vendor paid for (1 = top). Null on organic rows. |
| `logo` | string · nullable | Product logo image URL. |
| `slug` | string · nullable | Capterra's URL slug for the product. |
| `url` | string · nullable | Capterra product page URL. |
| `reviews_url` | string · nullable | Capterra reviews page URL, only when the product actually publishes one. |

## Inputs

The whole request. Anything you leave out falls back to the default shown in the catalog.

| Input | Type | Required | What it does |
| --- | --- | --- | --- |
| `category` | string | yes | The software category to list, as a plain keyword — "crm", "project management", "help desk", "accounting". Matched against Capterra's own category index, where an exact name wins over the categories that merely contain it ("crm" resolves to CRM, not Construction CRM). A Capterra slug or category URL is accepted too and skips the lookup fetch. |
| `country` | string | no | ISO 3166-1 alpha-2 code — proxy exit geo and Google locale (gl). Omit for the default pool. |
| `max_results` | integer | no | How many products to deliver at most (1–500). You pay only for delivered products. |

Pricing

## Capterra Scraper API pricing

$0.001 per delivered product. A run that delivers nothing costs nothing: blocked pages, challenges and retries are on us, and the $2 monthly allowance covers about 2,000 products before you spend anything.

**$0.001**per delivered product*$1 per 1,000 delivered products*

**2,000 products**on the free allowance*$2 every month, no card*

**Zero rows**zero charge*blocks, captchas and retries are on us*

**−30%**on volume tiers*the catalog returns your key's price*

### Pay as you go

$0/mo

- $2 free credit / month

- 60 requests / min

- List unit prices

### Starter

$19/mo

- $15 free credit / month

- 300 requests / min

- 10% off unit prices

Most popular

### Growth

$79/mo

- $50 free credit / month

- 600 requests / min

- 20% off unit prices

### Scale

$299/mo

- $250 free credit / month

- 1,200 requests / min

- 30% off unit prices

Same wallet, same key and same $2 monthly allowance as every other [Data API](https://quanticdata.io/web-data-api-for-ai/). Prices are launch pricing read live from the billing config — `GET /v1/scraper/collectors` returns the price your key actually pays.

Integration

## One POST, typed rows

Base URL `https://api.quanticdata.io/v1`, Bearer auth, the same key as every other Data API. Endpoint: `POST /v1/scraper/collectors/capterra_products/run`.

```
curl -X POST https://api.quanticdata.io/v1/scraper/collectors/capterra_products/run \
  -H "Authorization: Bearer $QD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"crm","max_results":50}'
```

```
import requests

r = requests.post(
    "https://api.quanticdata.io/v1/scraper/collectors/capterra_products/run",
    headers={"Authorization": f"Bearer {QD_API_KEY}"},
    json={
        "category": "crm",
        "max_results": 50
    },
    timeout=120,
)
for row in r.json()["payload"]["results"]:
    print(row)
```

```
const res = await fetch(
  "https://api.quanticdata.io/v1/scraper/collectors/capterra_products/run",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.QD_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({"category":"crm","max_results":50}),
  },
);
const { payload } = await res.json();
console.table(payload.results);
```

```
claude mcp add quanticdata \
  -e QUANTICDATA_API_KEY=qd_live_your_key_here \
  -- npx -y quanticdata-mcp

# then, in the chat:
> run the capterra_products collector with category="crm" and max_results=50
```

## What people build with the Capterra scraper API

Three shapes of work this endpoint was designed around.

### Competitive landscape

Every product in a category with rating, review histogram and sub-scores — the table behind a positioning or battlecard exercise.

### Vendor mapping

The company behind each product, stated in the data layer, joinable with the G2 and company-data collectors.

### Pricing intelligence

Starting price, currency, plan list and free-trial flags per product, re-run monthly.

## Capterra Scraper API versus rolling your own

The differences that actually cost time when you build this in-house.

|  | DIY scraper | This collector |
| --- | --- | --- |
| Keyword search | Twenty identical “popular” rows for any query | The category directory, resolved from your keyword |
| Vendor | Not on the card | From the embedded product record |
| Rating | Present on one A/B variant, absent on the other | From the record, with the 1–5 breakdown |
| Paid placement | Invisible | `sponsored` per row |

## What people search for

Live autocomplete demand around Capterra software directory, pulled with our own Keyword ideas collector.

Searches: [capterra review scraper](/collectors/capterra-scraper-api/#try)

The same call you would paste into a terminal: a Bearer key, category and country in the body, and back the envelope every QuanticData endpoint returns — type, message, payload — where count is how many products arrived and usage.cost_usd is $0.05, which is 50 × $0.001. A run that delivers nothing costs nothing. The key is good for 60 req/min on the free tier.

## Sources and standards

The platform documentation and standards this collector is built against — check any claim on this page against the primary source:

- [Capterra: terms of use](https://www.capterra.com/legal/terms-of-use/)

- [Schema.org: the Review type](https://schema.org/Review)

- [IETF: RFC 9309, Robots Exclusion Protocol](https://www.rfc-editor.org/rfc/rfc9309.html)

## FAQ

Questions we get about the Capterra scraper API.

[Something else? Ask us →](mailto:hello@quanticdata.io)

### Why does it take a category and not a search phrase?

Because Capterra’s search page returns the same twenty “popular” products for every query on a plain fetch — the real search happens after hydration. The category directory is server-rendered and complete, and your keyword is resolved against Capterra’s own category index.

### Are reviews included?

The rating with its full histogram and Capterra’s four sub-scores, plus the review count and the reviews URL. Individual review text is on the product page, which this collector does not read.

### How are sponsored listings handled?

Delivered and flagged. Capterra states the campaign on the product record, so `sponsored` is data rather than a guess.

### What if my keyword matches no category?

The run reports that it could not resolve the category rather than returning an unrelated one; try the term Capterra uses, which is usually the plain product-category name.

### Is there a free Capterra scraper API?

Every account gets $2 of credit every month with no card, which is about 2,000 delivered products on this endpoint at $0.001 each. It renews monthly, and a run that delivers nothing is never billed — so a failed or blocked attempt does not eat the allowance.

### How much does one run cost?

Multiply the rows you actually receive by $0.001. A run capped at 500 products — the maximum for this collector — costs $0.5 if every row comes back, and less when the source has fewer. Volume tiers take up to 30% off, and `GET /v1/scraper/collectors` returns the price your key actually pays.

## Run the Capterra scraper API now

$2 of free credit every month, no card. Your key returns its own prices from `GET /v1/scraper/collectors`.

[Get my free API key](https://app.quanticdata.io/register)

Related: [All 100 collectors](https://quanticdata.io/collectors/) [G2 Scraper API](https://quanticdata.io/collectors/g2-scraper-api/) [Company Data API](https://quanticdata.io/collectors/company-data-api/) [Technology lookup API](https://quanticdata.io/collectors/technology-lookup-api/) [Company data](https://quanticdata.io/scrape-company-data/) [Documentation](https://quanticdata.io/docs/)

## Also on this site

Quantic**Data**

Residential proxies & web data APIs for AI.

#### Proxies

- [Residential Basic](https://quanticdata.io/residential-proxies/#basic)

- [Residential Premium](https://quanticdata.io/residential-proxies/#plans)

- [Cheap Residential](https://quanticdata.io/cheap-residential-proxies/)

- [Mobile Proxies](https://quanticdata.io/mobile-proxies/)

- [Datacenter Proxies](https://quanticdata.io/datacenter-proxies/)

- [ISP Proxies](https://quanticdata.io/isp-proxies/)

- [Rotating Proxies](https://quanticdata.io/rotating-proxies/)

- [Sneaker Proxies](https://quanticdata.io/sneaker-proxies/)

- [SOCKS5 Proxies](https://quanticdata.io/socks5-proxies/)

- [IPv6 Proxies](https://quanticdata.io/ipv6-proxies/)

- [Proxy locations](https://quanticdata.io/proxies/)

#### Data APIs

- [MCP Server](https://quanticdata.io/mcp-server/)

- [Web Scraper API](https://quanticdata.io/web-scraping-api/)

- [SERP API](https://quanticdata.io/serp-api/)

- [Collectors](https://quanticdata.io/collectors/)

- [Web Data for AI](https://quanticdata.io/web-data-api-for-ai/)

- [Quantic AI](https://quanticdata.io/ai-web-scraping-service/)

- [Browser AI Agents](https://quanticdata.io/browser-ai/)

- [Crawl & Map](https://quanticdata.io/crawl-map/)

- [SEO Audit](https://quanticdata.io/seo-audit/)

#### Use cases

- [Company data](https://quanticdata.io/scrape-company-data/)

- [Price monitoring](https://quanticdata.io/competitor-price-monitoring/)

- [Market research](https://quanticdata.io/market-research-data/)

- [Real estate data](https://quanticdata.io/real-estate-data-scraping/)

- [Scrape job postings](https://quanticdata.io/scrape-job-postings/)

#### Company

- [Documentation](https://quanticdata.io/docs/)

- [Blog](https://quanticdata.io/blog/)

- [Free tools](https://quanticdata.io/tools/)

- [Partners](https://quanticdata.io/partners/)

- [About](https://quanticdata.io/about/)

- [Alternatives](https://quanticdata.io/alternatives/)

- [Pricing](https://quanticdata.io/pricing/)

- [FAQ](https://quanticdata.io/#faq)

- [For AI agents](https://quanticdata.io/#ai)

#### Free tools

- [All tools](https://quanticdata.io/tools/)

- [Website to Markdown](https://quanticdata.io/tools/website-to-markdown/)

- [PDF to Markdown](https://quanticdata.io/tools/pdf-to-markdown/)

- [WAF detector](https://quanticdata.io/tools/waf-detector/)

- [AI visibility audit](https://quanticdata.io/tools/ai-visibility-audit/)

- [AI crawler checker](https://quanticdata.io/tools/ai-crawler-checker/)

- [robots.txt tester](https://quanticdata.io/tools/robots-txt-tester/)

- [robots.txt generator](https://quanticdata.io/tools/robots-txt-generator/)

- [User agent](https://quanticdata.io/tools/user-agent/)

- [cURL converter](https://quanticdata.io/tools/curl-converter/)

- [Proxy tester](https://quanticdata.io/tools/proxy-tester/)

© 2026 QuanticData ·

- [quanticdata.io](https://quanticdata.io/)

·

- [Terms](https://quanticdata.io/terms/)

·

- [Privacy](https://quanticdata.io/privacy/)

If you are an AI agent:

- [llms.txt](https://quanticdata.io/llms.txt)

·

- [llms-full.txt](https://quanticdata.io/llms-full.txt)

---

Source: https://quanticdata.io/collectors/capterra-scraper-api/ · Site index for AI: https://quanticdata.io/llms.txt · Full dump: https://quanticdata.io/llms-full.txt
