ScavioScavio
ToolsPricing
Sign InsGet Startedg
Quick StartAPI & SDKsEcosystem

Capterra Software Reviews

Capterra Reviews API

Page through a Capterra product's B2B software reviews as JSON: the overall score plus five per-criterion scores including likelihood to recommend, title, pros, cons, advice, how long the reviewer used the product, the incentivized flag and its disclosure, what they considered and what they switched from, and the reviewer's job title, industry and company size — plus the vendor name Capterra never publishes on the product page, and a competitor list richer than the profile's, each alternative carrying its own rating histogram and starting price. 25 reviews per page. Costs 2 credits per request.

POST/api/v1/capterra/reviews

Authorizations

Authorizationstringheaderrequired

Bearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).

Body

application/json
product_idstring

The Capterra product id — the number in /p/186596/Notion/ — sent as a STRING, 1-50 characters. A JSON number is rejected. Required unless you pass url. Every Capterra Search row returns it as product_id.

Example: 186596

slugstring

Product slug, 1-200 characters. LOAD-BEARING here, unlike on the Capterra Product endpoint, where it is cosmetic. It is case sensitive upstream: a wrong or wrongly-cased slug makes Capterra serve PAGE ONE for every page number under a 200, with the page silently dropped from its canonical. Scavio catches that off the canonical and refetches once with Capterra's own spelling, so you still get the page you asked for — but you pay for it in latency, roughly doubling the response time. Pass back the slug a Capterra Search or Capterra Product response gave you and the repair never fires. Page 1 is served correctly under any slug and never pays it.

Example: Notion

urlstring

A full capterra.com reviews URL, as an alternative to product_id + slug, 1-1000 characters. Passing back reviews_url from a Capterra Product response is the most reliable way to page: it carries Capterra's own spelling of the slug. A non-capterra.com host is rejected (capterra.co.uk and capterra.com.br are accepted).

Example: https://www.capterra.com/p/186596/Notion/reviews/

pageinteger

Reviews page, 1-based, 1 to 100. Capterra fixes the page size at 25 and serves no page past 100 whatever review_count and total_pages say, so page 101 is rejected here with a free 400 rather than sold as page one. Page 1 already rides along inside the Capterra Product response at no extra cost — start here at page 2.

Example: 2

Request

from scavio import ScavioClient

client = ScavioClient(api_key="sk_live_your_key")

# Page 1 is already inside product() - start paging at 2.
profile = client.capterra.product(product_id="186596")["data"]
reviews = list(profile["reviews"])   # the 25 that came free with the profile

page = 2
while page <= 100:                   # Capterra serves no page past 100
    batch = client.capterra.reviews(
        product_id="186596",
        slug=profile["slug"],   # case-sensitive: pass it back, do not guess
        page=page,
    )["data"]
    reviews.extend(batch["reviews"])
    if not batch["has_next_page"]:
        break
    page += 1

print(len(reviews), batch["vendor"]["name"])  # the vendor product() leaves null

Response

"product_id": "186596",
"product_uuid": "e7b8f7ee-43d5-409a-90e8-a6d200b7e1c5",
"name": "Notion",
"slug": "Notion",
"url": "https://www.capterra.com/p/186596/Notion/reviews/",
"logo": "https://gdm-catalog-fmapi-prod.imgix.net/ProductLogo/926fd60f-776a-41e5-9660-57c112abf44d.png",
"description": "Notion is the only task management software that connects your notes, tasks, and wiki in one tool.",
"target_market": "Notion is a tool for teams and companies that want a better way to manage knowledge, projects, documents, and collaboration.",
"updated_at": "2026-08-03T16:08:17Z",
"page": 2,
"count": 25,
"reviews_per_page": 25,
"review_count": 2789,
"total_pages": 112,
"has_next_page": true,
"rating": 4.7,
"rating_scale": 5,
"video_review_count": 12,
"badge_count": 5,
},
"response_time": 8744,
"credits_used": 2,
"credits_remaining": 4816
}
PreviousCapterra ProductNextGoogle Ads Advertiser Lookup
ScavioScavio

One scraper API for every social, search and ecommerce platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy