Cursor Rules Hub Logo

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

  1. 1Make a GET request to /api/rules
  2. 2Add query parameters for filtering and searching
  3. 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/rules

Get All Rules

Retrieve a list of all cursor rules with optional filtering and pagination

Parameters

NameTypeRequiredDescription
searchstringNoSearch query for rule names and descriptions
categorystringNoFilter by category (e.g., "Frontend", "Backend")
tagsstringNoComma-separated list of tags
limitnumberNoNumber of results to return (default: 50, max: 100)
offsetnumberNoNumber of results to skip for pagination
sortstringNoSort field: "name", "rating", "downloads", "updated_at"
orderstringNoSort 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

Need Help?

Documentation

Comprehensive guides and API reference

View Docs

GitHub Issues

Report bugs and request features

Open Issue

Community

Join discussions and get help

Join Discussion