- Added 32 JSON metadata files for all AI coding tools - Generated 39 REST API endpoints for programmatic access - Created working examples in Python, JavaScript, and PowerShell - Set up GitHub Actions workflow for automated deployment - Enhanced README with comprehensive feature documentation - Added version comparison and automation tools - Updated 20+ documentation files - Ready for GitHub Pages deployment
7.4 KiB
🔌 API Documentation
RESTful JSON API for AI Coding Tools data
📋 Base URL
https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/
Or locally:
file:///path/to/repo/api/
📊 Endpoints
1. Tools Index
Endpoint: /index.json
Lists all available tools with basic information.
Response:
{
"version": "1.0",
"generated": "2025-01-02T00:00:00",
"count": 32,
"tools": [
{
"slug": "cursor",
"name": "Cursor",
"type": "IDE Plugin",
"description": "AI-powered code editor...",
"status": "active"
}
]
}
2. Tool Detail
Endpoint: /tools/{slug}.json
Get detailed information about a specific tool.
Example: /tools/cursor.json
Response:
{
"version": "1.0",
"generated": "2025-01-02T00:00:00",
"name": "Cursor",
"slug": "cursor",
"type": "IDE Plugin",
"status": "active",
"description": "...",
"pricing": { ... },
"features": { ... },
"models": { ... }
}
3. By Type
Endpoint: /by-type.json
Tools grouped by type (IDE Plugin, CLI Tool, etc.).
Response:
{
"version": "1.0",
"types": {
"IDE Plugin": [
{ "slug": "cursor", "name": "Cursor", ... }
],
"CLI Tool": [
{ "slug": "claude-code", "name": "Claude Code", ... }
]
}
}
4. By Pricing
Endpoint: /by-pricing.json
Tools grouped by pricing model.
Response:
{
"pricing_models": {
"free": [...],
"freemium": [...],
"paid": [...]
}
}
5. Features Matrix
Endpoint: /features.json
Shows which tools have which features.
Response:
{
"features": {
"agentMode": [
{ "slug": "cursor", "name": "Cursor" },
{ "slug": "claude-code", "name": "Claude Code" }
],
"parallelExecution": [...]
}
}
6. Statistics
Endpoint: /statistics.json
Aggregate statistics about all tools.
Response:
{
"total_tools": 32,
"by_type": {
"IDE Plugin": 11,
"CLI Tool": 6,
...
},
"by_pricing": { ... },
"feature_adoption": {
"codeGeneration": 28,
"agentMode": 15,
...
},
"most_common_features": [
["codeGeneration", 28],
["gitIntegration", 25],
...
]
}
7. Search Index
Endpoint: /search.json
Optimized index for search functionality.
Response:
{
"index": [
{
"slug": "cursor",
"name": "Cursor",
"type": "IDE Plugin",
"description": "...",
"tags": ["IDE", "Agent", "Premium"],
"keywords": ["cursor", "ide", "agent", "premium"]
}
]
}
🔍 Usage Examples
JavaScript (Fetch API)
// Get all tools
fetch('https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/index.json')
.then(res => res.json())
.then(data => {
console.log(`Found ${data.count} tools`);
data.tools.forEach(tool => {
console.log(`- ${tool.name} (${tool.type})`);
});
});
// Get specific tool
fetch('https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/tools/cursor.json')
.then(res => res.json())
.then(tool => {
console.log(tool.name);
console.log(tool.description);
console.log(tool.features);
});
// Filter by type
fetch('https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/by-type.json')
.then(res => res.json())
.then(data => {
const idePlugins = data.types['IDE Plugin'];
console.log(`IDE Plugins: ${idePlugins.length}`);
});
Python (requests)
import requests
# Get all tools
response = requests.get('https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/index.json')
data = response.json()
print(f"Found {data['count']} tools")
# Get specific tool
tool = requests.get('https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/tools/cursor.json').json()
print(tool['name'])
print(tool['description'])
# Get statistics
stats = requests.get('https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/statistics.json').json()
print(f"Total tools: {stats['total_tools']}")
print(f"By type: {stats['by_type']}")
cURL
# Get all tools
curl https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/index.json
# Get specific tool
curl https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/tools/cursor.json
# Get statistics
curl https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/statistics.json
# Pretty print with jq
curl https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/index.json | jq '.'
🔧 Advanced Queries
Filter Tools by Feature
// Get all tools with agent mode
fetch('/api/features.json')
.then(res => res.json())
.then(data => {
const agentTools = data.features.agentMode;
console.log('Tools with Agent Mode:', agentTools);
});
Search Tools
// Search for tools
const query = 'ide';
fetch('/api/search.json')
.then(res => res.json())
.then(data => {
const results = data.index.filter(tool =>
tool.keywords.some(keyword => keyword.includes(query.toLowerCase()))
);
console.log(`Found ${results.length} results for "${query}"`);
});
Get Free Tools
// Get all free tools
fetch('/api/by-pricing.json')
.then(res => res.json())
.then(data => {
const freeTools = data.pricing_models.free || [];
console.log(`${freeTools.length} free tools available`);
});
📊 Data Schema
Tool Object
interface Tool {
name: string;
slug: string;
type: "IDE Plugin" | "CLI Tool" | "Web Platform" | "Autonomous Agent";
status: "active" | "beta" | "deprecated";
description: string;
version: {
current: string;
lastUpdated: string;
history: Array<{
version: string;
date: string;
changes: string;
}>;
};
pricing: {
model: "free" | "freemium" | "paid" | "enterprise";
tiers: Array<Tier>;
};
models: {
primary: string;
supported: string[];
customizable: boolean;
};
features: {
codeGeneration: boolean;
codeCompletion: boolean;
chatInterface: boolean;
agentMode: boolean;
parallelExecution: boolean;
memorySystem: boolean;
todoTracking: boolean;
// ... more features
};
platforms: {
vscode: boolean;
jetbrains: boolean;
web: boolean;
cli: boolean;
standalone: boolean;
};
patterns: {
conciseness: "very-high" | "high" | "medium" | "low";
parallelTools: boolean;
subAgents: boolean;
verificationGates: boolean;
todoSystem: boolean;
};
links: {
website: string | null;
docs: string | null;
github: string | null;
pricing: string | null;
};
tags: string[];
metrics: {
promptTokens: number;
toolsCount: number;
securityRules: number;
concisenessScore: number;
};
}
🔄 Updates
API endpoints are regenerated automatically when:
- New tools are added
- Tool metadata is updated
- Features change
Check the generated field in each endpoint for the last update time.
📝 Contributing
See CONTRIBUTING.md for guidelines on:
- Adding new tools
- Updating metadata
- Improving API structure
- Adding new endpoints
📚 Resources
Last Updated: 2025-10-02
API Version: 1.0