Getting Started
The AI Indigo API gives you programmatic access to 7,500+ AI tools. Start with a free API key — no credit card required.
Authentication
All requests require an API key in the Authorization header.
http
Authorization: Bearer ai_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Get your key at /settings/api-keys.
Rate Limits
| Tier | Daily | Per Minute |
|---|---|---|
| Free | 100 | 10 |
| Pro | 5,000 | 60 |
| Enterprise | 50,000 | 300 |
json
{ "error": { "status": 429, "message": "Daily limit exceeded: 100 requests/day" } }Endpoints
List and filter tools with pagination. Supports filtering by category, pricing, and sorting.
Scope: tools:read
Parameters
| Name | Type | Required | Description | Default |
|---|---|---|---|---|
| category | string | No | Filter by category name | — |
| pricing | string | No | free | freemium | paid | — |
| sort | string | No | popularity | name | rating | newest | reviews | popularity |
| page | integer | No | Page number | 1 |
| per_page | integer | No | Results per page (max 100) | 20 |
| fields | string | No | Comma-separated field whitelist | — |
Request
bash
curl -H "Authorization: Bearer ai_live_..." \ "https://aiindigo.com/api/v1/tools?category=coding&pricing=free&per_page=5"
Response
json
{
"data": [
{
"slug": "cursor",
"name": "Cursor",
"tagline": "The AI-first code editor",
"category": "coding",
"pricing": "freemium",
"rating": 4.8,
"review_count": 312,
"url": "https://cursor.sh"
}
],
"meta": { "total": 847, "page": 1, "per_page": 5, "pages": 170 }
}MCP Server
Use AI Indigo directly from Claude Desktop or any MCP-compatible client — no code required.
json
{
"mcpServers": {
"ai-indigo": {
"type": "url",
"url": "https://aiindigo.com/api/mcp",
"name": "ai-indigo"
}
}
}Error Codes
| Status | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request — invalid or missing parameters |
| 401 | Invalid or missing API key |
| 403 | API key missing required scope — upgrade your plan |
| 404 | Resource not found |
| 429 | Rate limit exceeded — daily or per-minute |
| 500 | Internal server error |
All errors return:
{ "error": { "status": N, "message": "...", "docs": "..." } }