Programmatic access to 300+ curated AI tools and 163+ categories. Build integrations, power discovery features, and enrich your product with live AI tool data.
API key required
All endpoints require a valid X-API-Key header. Contact us to get access.
Looking for MCP?
Connect Claude, Cursor, or any MCP-compatible assistant directly -- no API key needed. MCP Server docs.
Pass your API key via the X-API-Key header on every request. Keys are prefixed with sk_ and are plan-scoped.
| 1 | curl "https://bnkmsvdtubbrqtdqoukb.supabase.co/functions/v1/public-api/api/v1/tools" \ |
| 2 | -H "X-API-Key: sk_your_api_key_here" |
MISSING_API_KEYNo X-API-Key header was providedINVALID_API_KEYKey not found or does not match stored hashREVOKED_API_KEYKey has been deactivated by an adminAll endpoints are relative to this base URL. HTTPS only.
| 1 | https://bnkmsvdtubbrqtdqoukb.supabase.co/functions/v1/public-api/api/v1 |
Append endpoint paths like /tools, /categories, or /search.
Limits are enforced per API key per 60-second window. When exceeded, a 429 is returned. The remaining count resets automatically each minute.
X-RateLimit-LimitMax requests/min for your plan
X-RateLimit-RemainingRequests left in this window
X-RateLimit-ResetUnix timestamp for window reset
429 Response
| 1 | { |
| 2 | "error": "Rate limit exceeded. Max 60 requests per minute.", |
| 3 | "code": "RATE_LIMIT_EXCEEDED" |
| 4 | } |
All responses are Content-Type: application/json. List endpoints wrap results in a data array with a meta pagination object. Single-item endpoints wrap in data. Errors include error and code fields.
List response
| 1 | { |
| 2 | "data": [ /* array of items */ ], |
| 3 | "meta": { |
| 4 | "page": 1, |
| 5 | "per_page": 20, |
| 6 | "total": 312, |
| 7 | "total_pages": 16 |
| 8 | } |
| 9 | } |
Error response
| 1 | { |
| 2 | "error": "Human-readable message", |
| 3 | "code": "MACHINE_READABLE_CODE" |
| 4 | } |
5 endpoints. All read-only (GET). Click any row to expand parameters and code examples.
All error responses follow the same shape with an HTTP status code, human-readable error string, and machine-readable code.
| Status | Label | Description |
|---|---|---|
200 | OK | Request succeeded. |
400 | Bad Request | Malformed query parameters. |
401 | Unauthorized | Missing, invalid, or revoked API key. |
404 | Not Found | The requested resource does not exist. |
429 | Too Many Requests | Rate limit exceeded for your plan. |
500 | Internal Server Error | Something went wrong on our end. |
Get up and running in under 5 minutes.
Obtain an API key
Contact us to get provisioned with an API key. Keys are delivered via email and prefixed with sk_.
Make your first request
| 1 | curl "https://bnkmsvdtubbrqtdqoukb.supabase.co/functions/v1/public-api/api/v1/tools?per_page=3" \ |
| 2 | -H "X-API-Key: sk_your_api_key_here" |
Build your integration
| 1 | # Search and filter in one go |
| 2 | curl "https://bnkmsvdtubbrqtdqoukb.supabase.co/functions/v1/public-api/api/v1/search?q=writing+assistant&limit=5" \ |
| 3 | -H "X-API-Key: sk_your_api_key_here" |
All plans include full access to all 5 endpoints.
Get your API key provisioned in minutes.