
API Documentation
Comprehensive documentation for the Cursor Rules Hub API. Access our database of 326+ cursor rules programmatically with powerful search and filtering capabilities.
Base URL
cursor-rules-hub.haimc.xyz
Version
v1.0
Authentication
None Required
Quick Start
Get Started in 30 Seconds
- 1Make a GET request to
/api/rules - 2Add query parameters for filtering and searching
- 3Parse the JSON response and integrate into your app
Example Response
{
"rules": [...],
"pagination": {
"total": 326,
"limit": 50,
"offset": 0,
"has_more": true
}
}API Endpoints
Endpoints
GET
/api/rulesGet All Rules
Retrieve a list of all cursor rules with optional filtering and pagination
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| search | string | No | Search query for rule names and descriptions |
| category | string | No | Filter by category (e.g., "Frontend", "Backend") |
| tags | string | No | Comma-separated list of tags |
| limit | number | No | Number of results to return (default: 50, max: 100) |
| offset | number | No | Number of results to skip for pagination |
| sort | string | No | Sort field: "name", "rating", "downloads", "updated_at" |
| order | string | No | Sort order: "asc" or "desc" (default: "desc") |
Example Request
curl -X GET "https://cursor-rules-hub.haimc.xyz/api/rules?search=react&category=Frontend&limit=10" \
-H "Accept: application/json"Example Response
{
"rules": [
{
"id": "a1b2c3d4",
"name": "React TypeScript Best Practices",
"slug": "react-typescript-best-practices",
"description": "Comprehensive rules for React with TypeScript development",
"content": "# React TypeScript Rules\n\n...",
"categories": ["Frontend", "React"],
"tags": ["react", "typescript", "hooks", "components"],
"author": "john_doe",
"rating": 4.8,
"downloads": 15420,
"file_size": 2048,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-12-01T14:20:00Z"
}
],
"pagination": {
"total": 326,
"limit": 10,
"offset": 0,
"has_more": true
},
"meta": {
"request_id": "req_123456789",
"response_time_ms": 45
}
}Code Examples
JavaScript/Node.js
// Using fetch API
const response = await fetch('https://cursor-rules-hub.haimc.xyz/api/rules?search=react&limit=10');
const data = await response.json();
console.log(`Found ${data.rules.length} rules`);
data.rules.forEach(rule => {
console.log(`- ${rule.name} (Rating: ${rule.rating})`);
});
// Using axios
const axios = require('axios');
const getRules = async (searchQuery) => {
try {
const response = await axios.get('https://cursor-rules-hub.haimc.xyz/api/rules', {
params: {
search: searchQuery,
category: 'Frontend',
sort: 'rating',
order: 'desc'
}
});
return response.data;
} catch (error) {
console.error('Error fetching rules:', error.message);
}
};Python
import requests
import json
# Basic request
response = requests.get('https://cursor-rules-hub.haimc.xyz/api/rules')
data = response.json()
print(f"Found {len(data['rules'])} rules")
for rule in data['rules']:
print(f"- {rule['name']} (Rating: {rule['rating']})")
# Advanced search with parameters
def search_rules(query, category=None, tags=None, limit=50):
params = {
'search': query,
'limit': limit
}
if category:
params['category'] = category
if tags:
params['tags'] = ','.join(tags)
response = requests.get(
'https://cursor-rules-hub.haimc.xyz/api/rules',
params=params
)
if response.status_code == 200:
return response.json()
else:
print(f"Error: {response.status_code}")
return None
# Usage
results = search_rules('react', category='Frontend', tags=['typescript', 'hooks'])
if results:
print(f"Total results: {results['pagination']['total']}")
for rule in results['rules']:
print(f"- {rule['name']}")
print(f" Tags: {', '.join(rule['tags'])}")
print(f" Downloads: {rule['downloads']}")
print()cURL
# Get all rules
curl -X GET "https://cursor-rules-hub.haimc.xyz/api/rules" \
-H "Accept: application/json"
# Search with filters
curl -X GET "https://cursor-rules-hub.haimc.xyz/api/rules?search=react&category=Frontend&tags=typescript,hooks&limit=10" \
-H "Accept: application/json"
# Get specific rule
curl -X GET "https://cursor-rules-hub.haimc.xyz/api/rules/react-typescript-best-practices" \
-H "Accept: application/json"
# Advanced search
curl -X GET "https://cursor-rules-hub.haimc.xyz/api/search?q=react%20hooks&fuzzy=true&threshold=0.5" \
-H "Accept: application/json"
# Get categories
curl -X GET "https://cursor-rules-hub.haimc.xyz/api/categories" \
-H "Accept: application/json"
# Get popular tags
curl -X GET "https://cursor-rules-hub.haimc.xyz/api/tags?popular=true" \
-H "Accept: application/json"Rate Limits
- • Public API: 1000 requests per hour
- • Search API: 500 requests per hour
- • Burst limit: 20 requests per minute
- • Rate limit headers included in responses
Best Practices
- • Cache responses when possible
- • Use pagination for large datasets
- • Implement exponential backoff for retries
- • Monitor rate limit headers