4242 4242 4242 4242.API v1
REST endpoints and MCP tools for AI agents, product teams, and developers who need reliable AI tool data.
The ToolHund API returns curated AI-tool intelligence: profiles, categories, alternatives, editorial benchmarks, deals, launches, and pricing signals. All responses are JSON. All endpoints are versioned under /api/v1.
Base URL: https://toolhund.com
All authenticated endpoints require a Bearer token. Get one from your API dashboard.
Authorization: Bearer th_live_xxxxxxxxxxxxxxxxKeep keys server-side. Never ship them in browser bundles or mobile apps.
Errors return standard HTTP status codes and a JSON body:
{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests. Please try again later."
}
}invalid_api_keyrevoked_api_keyrate_limit_exceeded or monthly_limit_exceededEvery key has a per-minute burst limit and a monthly cap. Both are enforced atomically at the database layer. Limits scale with your plan — see pricing.
/api/v1/toolsList / search tools with filters.
q (string) — Full-text querycategory (string) — Category sluglimit (int) — Max 100, default 20offset (int) — Pagination offsetcurl -H "Authorization: Bearer $TH_KEY" \
"https://toolhund.com/api/v1/tools?q=agents&limit=10"curl -H "Authorization: Bearer $TH_KEY" \
"https://toolhund.com/api/v1/tools?q=agents&limit=10"/api/v1/tools/{slug}Full profile for one tool.
curl -H "Authorization: Bearer $TH_KEY" \
https://toolhund.com/api/v1/tools/cursorcurl -H "Authorization: Bearer $TH_KEY" \
"https://toolhund.com/api/v1/tools/cursor"/api/v1/tools/{slug}/alternativesRanked alternatives to a tool.
curl -H "Authorization: Bearer $TH_KEY" \
https://toolhund.com/api/v1/tools/cursor/alternativescurl -H "Authorization: Bearer $TH_KEY" \
"https://toolhund.com/api/v1/tools/cursor/alternatives"/api/v1/tools/{slug}/reviewsUser reviews with rating breakdown.
limit (int) — Max 100offset (int) — Paginationcurl -H "Authorization: Bearer $TH_KEY" \
https://toolhund.com/api/v1/tools/cursor/reviewscurl -H "Authorization: Bearer $TH_KEY" \
"https://toolhund.com/api/v1/tools/cursor/reviews?limit=10"/api/v1/tools/{slug}/benchmarksEditorial ToolHund Score + sub-scores.
curl -H "Authorization: Bearer $TH_KEY" \
https://toolhund.com/api/v1/tools/cursor/benchmarkscurl -H "Authorization: Bearer $TH_KEY" \
"https://toolhund.com/api/v1/tools/cursor/benchmarks"/api/v1/categoriesAll categories.
curl -H "Authorization: Bearer $TH_KEY" https://toolhund.com/api/v1/categoriescurl -H "Authorization: Bearer $TH_KEY" \
"https://toolhund.com/api/v1/categories"/api/v1/dealsActive verified deals.
curl -H "Authorization: Bearer $TH_KEY" https://toolhund.com/api/v1/dealscurl -H "Authorization: Bearer $TH_KEY" \
"https://toolhund.com/api/v1/deals"/api/v1/newsRecent market events (launches, pricing, funding).
curl -H "Authorization: Bearer $TH_KEY" https://toolhund.com/api/v1/newscurl -H "Authorization: Bearer $TH_KEY" \
"https://toolhund.com/api/v1/news"/api/v1/stacks/buildBuild a task-based AI stack given a budget.
curl -X POST -H "Authorization: Bearer $TH_KEY" \
-H "Content-Type: application/json" \
-d '{"task":"marketing content","budget_usd":100}' \
https://toolhund.com/api/v1/stacks/buildcurl -X POST -H "Authorization: Bearer $TH_KEY" \
-H "Content-Type: application/json" \
-d '{
"task": "marketing content",
"budget_usd": 100
}' \
"https://toolhund.com/api/v1/stacks/build"/api/v1/mapComplete tool catalog map (light payload).
curl https://toolhund.com/api/v1/mapcurl "https://toolhund.com/api/v1/map"/api/v1/demo/recommendationsPublic demo endpoint — no auth required.
curl "https://toolhund.com/api/v1/demo/recommendations?task=coding"curl "https://toolhund.com/api/v1/demo/recommendations?task=coding"ToolHund is an MCP (Model Context Protocol) server. Point any MCP-compatible client (Claude Desktop, Cursor, custom agents) at:
https://toolhund.com/mcpDiscovery metadata: /.well-known/oauth-authorization-server and /.well-known/openid-configuration.
const r = await fetch("https://toolhund.com/api/v1/tools?q=agents", {
headers: { Authorization: `Bearer ${process.env.TH_KEY}` },
});
const data = await r.json();import os, httpx
r = httpx.get(
"https://toolhund.com/api/v1/tools",
params={"q": "agents"},
headers={"Authorization": f"Bearer {os.environ['TH_KEY']}"},
)
print(r.json())