Capterra API: Search business software
Finds business software in the closest Capterra category for a software category or business need, in Capterra's default listing order. Starting prices are included when published in the listing; missing details are null.
Unofficial. Not affiliated with or endorsed by Capterra.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Need, required
need Software category or business need, such as "payroll software" or "project management".
project management
- Max Results optional
max_results Maximum products to return, for example 20 (up to 50).
20 (default)
Whole number from 1 to 50.
Input as JSON
{ "need": "project management"}Output
{ "products": [ { "rating": 4.7, "vendor": "HoneyBook", "sponsored": true, "free_trial": true, "free_version": false, "product_link": "https://www.capterra.com/p/162588/HoneyBook/" , "software_name": "HoneyBook", "starting_price": "$36/month" , "logo_image_link": "https://gdm-catalog-fmapi-prod.imgix.net/ProductLogo/8c70159d-32c2-43c6-87a7-f1f66d5d622b.png?auto=format%2Ccompress&fit=max&w=256&q=75&ch=Width%2CDPR" , "number_of_reviews": 690, "short_description": "Everything you need to manage projects: pipeline, proposals, contracts, payments, and more. \n\nStart your 7 day free trial today." }, { "rating": 4.5, "vendor": "Atlassian", "sponsored": false, "free_trial": true, "free_version": true, "product_link": "https://www.capterra.com/p/211559/Trello/" , "software_name": "Trello", "starting_price": "$5/user/month" , "logo_image_link": "https://gdm-catalog-fmapi-prod.imgix.net/ProductLogo/415abb34-71b7-4fa2-8dc4-1211cac6e655.png?auto=format%2Ccompress&fit=max&w=256&q=75&ch=Width%2CDPR" , "number_of_reviews": 23622, "short_description": "Trello is an intuitive project management tool that creates a shared perspective for your team across the entirety of any project." }, { "rating": 4.4, "vendor": "Atlassian", "sponsored": false, "free_trial": true, "free_version": true, "product_link": "https://www.capterra.com/p/19319/JIRA/" , "software_name": "Jira", "starting_price": "$7.91/user/month" , "logo_image_link": "https://gdm-catalog-fmapi-prod.imgix.net/ProductLogo/e1b492c5-8a97-4b86-a422-d317b2480afa.png?auto=format%2Ccompress&fit=max&w=256&q=75&ch=Width%2CDPR" , "number_of_reviews": 15490, "short_description": "Jira is a project management tool for all teams to collaboratively plan, track, and manage projects, customize workflows, and more." } ], "category_used": "Project Management Software"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"capterra.com/search_software","input":{"need":"project management"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "capterra.com/search_software" , "input": { "need": "project management" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "capterra.com/search_software" , "input": { "need": "project management" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run capterra.com/search_software# with {"need":"project management"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "need" ], "properties": { "need": { "type": "string", "description": "Software category or business need, such as \"payroll software\" or \"project management\"." }, "max_results": { "type": "integer", "default": 20, "maximum": 50, "minimum": 1, "description": "Maximum products to return, for example 20 (up to 50)." } }}Output schema
{ "type": "object", "required": [ "category_used", "products" ], "properties": { "products": { "type": "array", "items": { "type": "object", "required": [ "software_name", "vendor", "rating", "number_of_reviews", "starting_price", "free_trial", "free_version", "short_description", "logo_image_link", "product_link", "sponsored" ], "properties": { "rating": { "type": [ "number", "null" ] }, "vendor": { "type": [ "string", "null" ] }, "sponsored": { "type": "boolean" }, "free_trial": { "type": [ "boolean", "null" ] }, "free_version": { "type": [ "boolean", "null" ] }, "product_link": { "type": "string" }, "software_name": { "type": "string" }, "starting_price": { "type": [ "string", "null" ] }, "logo_image_link": { "type": [ "string", "null" ] }, "number_of_reviews": { "type": [ "integer", "null" ] }, "short_description": { "type": [ "string", "null" ] } }, "additionalProperties": false } }, "category_used": { "type": [ "string", "null" ], "description": "Matched Capterra category, or null if none matched." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
capterra.com/search_software- Returns
- matched category, software name, vendor, rating, number of reviews, starting price, free trial, free version, short description, logo link, product link, sponsored
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method capterra.com/search_software with the inputs above.
Ask your agent
- Find me the top 10 payroll software options on Capterra with their ratings, review counts, and starting prices
- I run a small dental clinic and need appointment scheduling software — list up to 15 options and note which ones have a free trial or free version
- What CRM tools are out there for a 20-person sales team? Give me vendor names, ratings, and pricing where it's published
- Pull 30 project management tools from Capterra and flag which listings are sponsored
- Show me inventory management software for a small e-commerce shop, about 25 products, with short descriptions and links to each product page
See more
All Capterra methodsFinds a software product on Capterra by name and returns its ratings, starting price, free version and free trial flags, and the most recent user reviews. Vendor and some review details may be missing from listings.
capterra.com/get_software_reviewsCompare two to four G2 software products in your chosen order, with ratings, review counts, pricing, trial availability, and category scores. Pricing and individual scores may be unavailable when G2 does not show them.
g2.com/compare_productsGets the newest public G2 reviews for a software product, with reviewer details and review text, plus the product's overall rating and review count when G2's profile shows them. The public feed exposes up to 25 recent reviews.
g2.com/get_product_reviewsLists CoinGecko crypto sectors by market cap with daily change, volume, leading coins and category pages, optionally filtered by name or link.
coingecko.com/list_crypto_categoriesSearch Chewy products by words, pet type, and sort order. Returns up to 72 products in Chewy's order, including listed and first-order Autoship prices when shown.
chewy.com/search_productsFinds B2B service firms on Clutch by service, location and project budget, with ratings, pricing, services and links. Location follows Clutch's service-area matches; firms without a listed minimum project size are left out when a budget is given.
clutch.co/search_agenciesFinds iPhone and iPad apps by keyword in a chosen country's App Store, with ratings, prices, categories and App Store links.
apps.apple.com/search_appsSearches Target products and returns prices, ratings, photos and product links. Prices can vary by store, so you can give a ZIP code for local pricing.
target.com/search_products