Access AIDToolStack data programmatically via our public REST API. All endpoints return JSON and follow consistent response patterns.
API requests are rate-limited per IP address. GET endpoints allow 100 requests/minute. POST endpoints have stricter limits (noted per-endpoint). If rate-limited, you will receive a 429 status code.
All listed endpoints are publicly accessible and do not require authentication. Admin endpoints (not listed here) require authentication and are restricted to platform administrators.
https://aidtoolstack.comAll endpoint paths are relative to this base URL. Responses include a success boolean and a data field.
Run AIDToolStack developer tools from your scripts, CI pipelines, or applications. API v1 requires an API key for authentication.
Include your API key in the Authorization header of every request:
Authorization: Bearer dsk_your_api_key_here/api/v1/tools/{slug}API Key RequiredProcess input through a developer tool and receive the result.
| Parameter | Type | Required | Description |
|---|---|---|---|
input | string | Yes | The text to process (max 1 MB) |
| Slug | Description |
|---|---|
json-format | Parse and pretty-print JSON |
json-minify | Minify JSON (remove whitespace) |
base64-encode | Encode text to Base64 |
base64-decode | Decode Base64 to text |
url-encode | URL-encode text (encodeURIComponent) |
url-decode | URL-decode text (decodeURIComponent) |
hash-sha256 | Generate SHA-256 hash of text |
hash-md5 | Generate MD5 hash of text |
case-camel | Convert text to camelCase |
case-snake | Convert text to snake_case |
| Plan | Max Keys | Requests / Day |
|---|---|---|
| Free | 2 | 100 per key |
| Pro | 10 | 10,000 per key |
curl -X POST https://aidtoolstack.com/api/v1/tools/json-format \
-H "Authorization: Bearer dsk_..." \
-H "Content-Type: application/json" \
-d '{"input": "{\"key\":\"value\"}"}'{
"success": true,
"data": {
"result": "{\n \"name\": \"test\"\n}",
"processingTimeMs": 1.23,
"tool": "json-format"
},
"remaining": 99
}The following endpoints are publicly accessible and do not require authentication.
/api/toolsList all active developer tools. Supports pagination and category filtering.
| Parameter | Type | Required | Description |
|---|---|---|---|
category | string | No | Filter by category slug (e.g., json, crypto, devops) |
page | number | No | Page number (default: 1) |
pageSize | number | No | Items per page (default: 50, max: 100) |
{
"success": true,
"data": [
{
"id": "clx...",
"slug": "json-formatter",
"name": "JSON Formatter",
"summary": "Format, validate, and minify JSON data.",
"category": { "slug": "json", "name": "JSON" },
"privacyMode": true
}
],
"pagination": {
"page": 1,
"pageSize": 50,
"totalCount": 41,
"totalPages": 1,
"hasNextPage": false,
"hasPreviousPage": false
}
}/api/ai-toolsList AI-powered developer products. Supports filtering by category, pricing model, and free-tier availability.
| Parameter | Type | Required | Description |
|---|---|---|---|
category | string | No | Filter by category slug |
pricing | string | No | Filter by pricing model (e.g., "freemium", "subscription", "open-source") |
freeTier | string | No | Set to "true" to filter products with a free tier |
page | number | No | Page number (default: 1) |
pageSize | number | No | Items per page (default: 24, max: 100) |
{
"success": true,
"data": [
{
"id": "clx...",
"slug": "cursor",
"name": "Cursor",
"pricingModel": "freemium",
"freeTier": true,
"descriptionShort": "AI-first code editor...",
"categories": [...]
}
],
"pagination": { "page": 1, "pageSize": 24, "totalCount": 30, ... }
}/api/mcp-serversList Model Context Protocol servers. Supports filtering by category, compatibility, and verification status.
| Parameter | Type | Required | Description |
|---|---|---|---|
category | string | No | Filter by category (JSON array value) |
compatibleWith | string | No | Filter by compatible client (e.g., "claude-desktop", "cursor") |
verified | string | No | Set to "true" for verified servers only |
sort | string | No | Sort order: "stars" (default), "downloads", "name", "recent" |
page | number | No | Page number (default: 1) |
pageSize | number | No | Items per page (default: 24, max: 100) |
{
"success": true,
"data": [
{
"id": "clx...",
"slug": "filesystem",
"name": "Filesystem MCP Server",
"description": "Read, write, and manage files...",
"githubStars": 4200,
"isVerified": true,
"transportType": "stdio"
}
],
"pagination": { "page": 1, "pageSize": 24, "totalCount": 50, ... }
}/api/searchSearch across all content types — tools, AI products, MCP servers, guides, and comparisons.
| Parameter | Type | Required | Description |
|---|---|---|---|
q | string | Yes | Search query (min 2 characters) |
type | string | No | Filter by type: "tool", "ai-product", "mcp-server", "guide", "comparison" |
limit | number | No | Max results (default: 20, max: 50) |
mode | string | No | Set to "smart" for semantic/AI-powered search (default: classic text search) |
{
"success": true,
"data": [
{
"id": "clx...",
"type": "tool",
"slug": "json-formatter",
"title": "JSON Formatter",
"description": "Format, validate, and minify JSON data."
}
],
"query": "json",
"totalResults": 3,
"mode": "classic"
}/api/submissionsSubmit a new tool, AI product, or MCP server for review. Rate limited to 5 submissions per hour per IP.
| Parameter | Type | Required | Description |
|---|---|---|---|
toolName | string | Yes | Name of the tool (2-200 chars) |
submittedUrl | string | Yes | URL of the tool (must be valid) |
submitterEmail | string | Yes | Your email address |
description | string | No | Brief description (max 2000 chars) |
category | string | No | Suggested category |
entityType | string | No | "tool" (default), "ai-product", or "mcp-server" |
{
"success": true,
"data": { "id": "clx..." },
"message": "Submission received. We will review it shortly."
}/api/clicksLog an outbound click event for analytics. Fire-and-forget — always returns 200.
| Parameter | Type | Required | Description |
|---|---|---|---|
entityType | string | Yes | Type of entity clicked (e.g., "ai-product", "mcp-server") |
entityId | string | Yes | ID of the clicked entity |
targetUrl | string | Yes | The URL the user is navigating to |
referrer | string | No | Referrer URL (optional) |
{
"success": true
}If you encounter issues or have questions about the API, please open an issue on our GitHub repository or reach out via the contact form on the About page.