All payments in preview are in test mode. Use card 4242 4242 4242 4242.

API v1

ToolHund API documentation

REST endpoints and MCP tools for AI agents, product teams, and developers who need reliable AI tool data.

Introduction

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

Plans & pricing →

Authentication

All authenticated endpoints require a Bearer token. Get one from your API dashboard.

Authorization: Bearer th_live_xxxxxxxxxxxxxxxx

Keep keys server-side. Never ship them in browser bundles or mobile apps.

Errors

Errors return standard HTTP status codes and a JSON body:

{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Too many requests. Please try again later."
  }
}
  • 401invalid_api_key
  • 403revoked_api_key
  • 404 — resource not found
  • 429rate_limit_exceeded or monthly_limit_exceeded
  • 5xx — transient upstream error, safe to retry with backoff

Rate limits

Every 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.

Endpoints

GET/api/v1/tools

List / search tools with filters.

Parameters
  • q (string)Full-text query
  • category (string)Category slug
  • limit (int)Max 100, default 20
  • offset (int)Pagination offset
curl -H "Authorization: Bearer $TH_KEY" \
  "https://toolhund.com/api/v1/tools?q=agents&limit=10"
Try it
GET 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"
GET/api/v1/tools/{slug}

Full profile for one tool.

curl -H "Authorization: Bearer $TH_KEY" \
  https://toolhund.com/api/v1/tools/cursor
Try it
GET https://toolhund.com/api/v1/tools/cursor
curl -H "Authorization: Bearer $TH_KEY" \
  "https://toolhund.com/api/v1/tools/cursor"
GET/api/v1/tools/{slug}/alternatives

Ranked alternatives to a tool.

curl -H "Authorization: Bearer $TH_KEY" \
  https://toolhund.com/api/v1/tools/cursor/alternatives
Try it
GET https://toolhund.com/api/v1/tools/cursor/alternatives
curl -H "Authorization: Bearer $TH_KEY" \
  "https://toolhund.com/api/v1/tools/cursor/alternatives"
GET/api/v1/tools/{slug}/reviews

User reviews with rating breakdown.

Parameters
  • limit (int)Max 100
  • offset (int)Pagination
curl -H "Authorization: Bearer $TH_KEY" \
  https://toolhund.com/api/v1/tools/cursor/reviews
Try it
GET https://toolhund.com/api/v1/tools/cursor/reviews?limit=10
curl -H "Authorization: Bearer $TH_KEY" \
  "https://toolhund.com/api/v1/tools/cursor/reviews?limit=10"
GET/api/v1/tools/{slug}/benchmarks

Editorial ToolHund Score + sub-scores.

curl -H "Authorization: Bearer $TH_KEY" \
  https://toolhund.com/api/v1/tools/cursor/benchmarks
Try it
GET https://toolhund.com/api/v1/tools/cursor/benchmarks
curl -H "Authorization: Bearer $TH_KEY" \
  "https://toolhund.com/api/v1/tools/cursor/benchmarks"
GET/api/v1/categories

All categories.

curl -H "Authorization: Bearer $TH_KEY" https://toolhund.com/api/v1/categories
Try it
GET https://toolhund.com/api/v1/categories
curl -H "Authorization: Bearer $TH_KEY" \
  "https://toolhund.com/api/v1/categories"
GET/api/v1/deals

Active verified deals.

curl -H "Authorization: Bearer $TH_KEY" https://toolhund.com/api/v1/deals
Try it
GET https://toolhund.com/api/v1/deals
curl -H "Authorization: Bearer $TH_KEY" \
  "https://toolhund.com/api/v1/deals"
GET/api/v1/news

Recent market events (launches, pricing, funding).

curl -H "Authorization: Bearer $TH_KEY" https://toolhund.com/api/v1/news
Try it
GET https://toolhund.com/api/v1/news
curl -H "Authorization: Bearer $TH_KEY" \
  "https://toolhund.com/api/v1/news"
POST/api/v1/stacks/build

Build 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/build
Try it
POST https://toolhund.com/api/v1/stacks/build
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/build"
GET/api/v1/map

Complete tool catalog map (light payload).

curl https://toolhund.com/api/v1/map
Try it
GET https://toolhund.com/api/v1/map
curl "https://toolhund.com/api/v1/map"
GET/api/v1/demo/recommendations

Public demo endpoint — no auth required.

curl "https://toolhund.com/api/v1/demo/recommendations?task=coding"
Try it
GET https://toolhund.com/api/v1/demo/recommendations?task=coding
curl "https://toolhund.com/api/v1/demo/recommendations?task=coding"

MCP integration

ToolHund is an MCP (Model Context Protocol) server. Point any MCP-compatible client (Claude Desktop, Cursor, custom agents) at:

https://toolhund.com/mcp

Discovery metadata: /.well-known/oauth-authorization-server and /.well-known/openid-configuration.

SDK examples

JavaScript / TypeScript
const r = await fetch("https://toolhund.com/api/v1/tools?q=agents", {
  headers: { Authorization: `Bearer ${process.env.TH_KEY}` },
});
const data = await r.json();
Python
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())
Ready to build?
Start free — 1,000 requests/month, no card.
Get your API key →