Clutch API: Search agencies
Finds 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.
Unofficial. Not affiliated with or endorsed by Clutch.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Sort optional
sort Ordering, such as most_reviews; recommended keeps Clutch's own order.
most_reviews
One of
recommended,most_reviews,highest_rating. Defaultrecommended.- Service, required
service Service you need, such as SEO agency, mobile app development, or accounting.
SEO agency
2 characters or more.
- Location optional
location City, state, or country, such as New York City; defaults to anywhere.
New York City
Default
.- Budget (USD) optional
budget_usd Maximum project budget in US dollars, such as 10000; defaults to any budget.
10000
Number 0 or more.
- Max Results optional
max_results Maximum number of firms, such as 20 (up to 100).
10
Whole number from 1 to 100. Default
20.
Input as JSON
{ "sort": "most_reviews", "service": "SEO agency", "location": "New York City", "budget_usd": 10000, "max_results": 10}Output
{ "firms": [ { "name": "SmartSites", "rating": 4.9, "location": "Serves New York City, NY", "employees": "250 - 999", "hourly_rate": "$100 - $149 / hr", "review_count": 368, "website_link": "https://www.smartsites.com/lp/digital-marketing-lp/?utm_source=clutch.co&utm_medium=referral" , "services_offered": "50% Search Engine Optimization; 30% Pay Per Click; 10% Advertising; 10% Social Media Marketing", "clutch_profile_link": "https://clutch.co/profile/smartsites" , "minimum_project_size": "$1,000+" }, { "name": "Loopex Digital", "rating": 5, "location": "Serves New York City, NY", "employees": "50 - 249", "hourly_rate": "$50 - $99 / hr", "review_count": 97, "website_link": "https://loopexdigital.com/?utm_source=clutch.co&utm_medium=referral&utm_campaign=directory" , "services_offered": "100% Search Engine Optimization", "clutch_profile_link": "https://clutch.co/profile/loopex-digital" , "minimum_project_size": "$1,000+" }, { "name": "Outpace SEO", "rating": 5, "location": "Serves New York City, NY", "employees": "10 - 49", "hourly_rate": "$150 - $199 / hr", "review_count": 113, "website_link": "https://outpaceseo.com/clutch-top-rated-seo-agency/?utm_source=clutch.co&utm_medium=referral&utm_campaign=directory" , "services_offered": "100% Search Engine Optimization", "clutch_profile_link": "https://clutch.co/profile/outpace-seo" , "minimum_project_size": "$1,000+" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"clutch.co/search_agencies","input":{"sort":"most_reviews","service":"SEO agency","location":"New York City","budget_usd":10000,"max_results":10}}' # 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": "clutch.co/search_agencies" , "input": { "sort": "most_reviews", "service": "SEO agency", "location": "New York City", "budget_usd": 10000, "max_results": 10 }})# 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": "clutch.co/search_agencies" , "input": { "sort": "most_reviews", "service": "SEO agency", "location": "New York City", "budget_usd": 10000, "max_results": 10 } }), 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 clutch.co/search_agencies# with {"sort":"most_reviews","service":"SEO agency","location":"New York City","budget_usd":10000,"max_results":10}"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": [ "service" ], "properties": { "sort": { "enum": [ "recommended", "most_reviews", "highest_rating" ], "type": "string", "default": "recommended", "description": "Ordering, such as most_reviews; recommended keeps Clutch's own order." }, "service": { "type": "string", "minLength": 2, "description": "Service you need, such as SEO agency, mobile app development, or accounting." }, "location": { "type": "string", "default": "", "description": "City, state, or country, such as New York City; defaults to anywhere." }, "budget_usd": { "type": "number", "minimum": 0, "description": "Maximum project budget in US dollars, such as 10000; defaults to any budget." }, "max_results": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1, "description": "Maximum number of firms, such as 20 (up to 100)." } }}Output schema
{ "type": "object", "required": [ "firms" ], "properties": { "firms": { "type": "array", "items": { "type": "object", "required": [ "name", "rating", "review_count", "minimum_project_size", "hourly_rate", "employees", "location", "services_offered", "website_link", "clutch_profile_link" ], "properties": { "name": { "type": "string" }, "rating": { "type": [ "number", "null" ], "description": "Average rating out of 5." }, "location": { "type": [ "string", "null" ] }, "employees": { "type": [ "string", "null" ] }, "hourly_rate": { "type": [ "string", "null" ] }, "review_count": { "type": "integer" }, "website_link": { "type": [ "string", "null" ] }, "services_offered": { "type": "string", "description": "Services and share percentages where shown." }, "clutch_profile_link": { "type": "string" }, "minimum_project_size": { "type": [ "string", "null" ] } }, "additionalProperties": false } } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
clutch.co/search_agencies- Returns
- name, rating, review count, minimum project size, hourly rate, employees, location, services, website, Clutch profile link
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 clutch.co/search_agencies with the inputs above.
Ask your agent
- Find me top-rated SEO agencies in Austin, Texas that can take on a project under $15,000 — show their hourly rates and minimum project sizes.
- I need a list of 30 mobile app development firms in London sorted by most reviews, with employee counts and website links.
- Which accounting firms on Clutch serve Toronto? Give me ratings, review counts, and their Clutch profile URLs.
- Looking for a branding and logo design studio anywhere that works with budgets up to $5k. Sort by highest rating and give me 10 options.
- Pull up the best-reviewed custom software development companies in Poland from clutch.co, including services offered and hourly pricing.
See more
Finds companies on Trustpilot by name or what they do, with TrustScore, review count, categories, location, logo and links. A preferred country moves companies listed in that country to the front.
trustpilot.com/search_companiesSearches public Craigslist listings in a city or area, newest first. Renewed listings may have older original posting dates.
craigslist.org/search_listingsSearch 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 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.
capterra.com/search_softwareFind publicly priced Priceline hotels in a place for your travel dates, with guest ratings, nightly and total USD prices, and cancellation information. Excludes hotels hidden behind anonymous deals and sign-in-only prices.
priceline.com/search_hotelsFinds real estate agents working in a city and state or ZIP code on Realtor.com, in Realtor.com's relevance order, with ratings, sales figures, price range, languages and phone number when published.
realtor.com/search_agentsFinds Klook activities, tickets, tours and passes in a city, with ratings, booking counts, prices and booking policies. Keyword matches are ranked by Klook and may include related activities.
klook.com/search_activitiesReads recent public Trustpilot reviews for a company by name, website or Trustpilot link, in every language, with its TrustScore, ratings, reviewer details and company replies. Reviews follow the chosen sort (most recent or most relevant) and star filters, starting from a chosen results page.
trustpilot.com/get_company_reviews