API REFERENCE

Free, open, RESTful API for audio gear data. No authentication required. 118 products, 17 categories, 10 connection types.

BASE URL https://maketechrider.com/api/v1/

Overview

Free & Open

No API key required. CORS enabled for all origins (*). Use it from any frontend, script, or tool.

Rate Limited

100 requests per minute per IP. Rate limit headers included in every response: X-RateLimit-Limit, X-RateLimit-Remaining.

Edge Cached

Responses cached at the edge with s-maxage=86400. Fresh data served from the nearest CDN node.

Response Format

All responses follow a consistent JSON envelope.

SUCCESS
{
  "data": [ ... ],
  "meta": {
    "total": 118,
    "limit": 20,
    "offset": 0
  }
}
ERROR
{
  "error": {
    "message": "Resource not found",
    "code": "NOT_FOUND",
    "status": 404
  }
}

Endpoints

GET /api/v1/gear

List all gear products with optional filtering and pagination.

Query Parameters

ParamTypeDescription
categorystringFilter by category (e.g. synthesizer, mixer)
manufacturerstringFilter by manufacturer name (case-insensitive)
connectionstring[]Filter by connection type(s) (e.g. connection=XLR&connection=USB)
searchstringFull-text search across id, manufacturer, and product name
limitnumberResults per page (default: 20, max: 100)
offsetnumberNumber of results to skip (default: 0)

Example

CURL
curl https://maketechrider.com/api/v1/gear?category=synthesizer&limit=2
RESPONSE
{
  "data": [
    {
      "id": "moog-subsequent-37",
      "manufacturer": "Moog",
      "product": "Subsequent 37",
      "category": "synthesizer",
      "handles": [
        { "id": "midi-in", "connectionType": "MidiDIN", "direction": "input", "label": "MIDI IN" },
        { "id": "audio-out-l", "connectionType": "Audio635", "direction": "output", "label": "AUDIO OUT L" }
      ]
    }
  ],
  "meta": { "total": 15, "limit": 2, "offset": 0 }
}
GET /api/v1/gear/[id]

Get a single gear product by its unique ID.

Path Parameters

ParamTypeDescription
idstringProduct ID (e.g. moog-subsequent-37)

Example

CURL
curl https://maketechrider.com/api/v1/gear/pioneer-cdj-3000
RESPONSE
{
  "data": {
    "id": "pioneer-cdj-3000",
    "manufacturer": "Pioneer DJ",
    "product": "CDJ-3000",
    "category": "cdj",
    "handles": [
      { "id": "audio-out-l", "connectionType": "Audio635", "direction": "output", "label": "AUDIO OUT L" },
      { "id": "audio-out-r", "connectionType": "Audio635", "direction": "output", "label": "AUDIO OUT R" },
      { "id": "usb", "connectionType": "USB", "direction": "input", "label": "USB" }
    ]
  }
}
GET /api/v1/categories

List all gear categories with product counts.

Example

CURL
curl https://maketechrider.com/api/v1/categories
RESPONSE
{
  "data": [
    { "value": "synthesizer", "label": "Synthesizer", "productCount": 15 },
    { "value": "mixer", "label": "Mixer", "productCount": 8 },
    { "value": "cdj", "label": "CDJ", "productCount": 6 }
  ]
}
GET /api/v1/connections

List all connection types with their display colors and labels.

Example

CURL
curl https://maketechrider.com/api/v1/connections
RESPONSE
{
  "data": [
    { "type": "XLR", "label": "XLR", "color": "#EF4444" },
    { "type": "MidiDIN", "label": "MIDI (DIN)", "color": "#F97316" },
    { "type": "USB", "label": "USB", "color": "#3B82F6" }
  ]
}
GET /api/v1/catalog

Get the full gear catalog with default handle configurations per category.

Example

CURL
curl https://maketechrider.com/api/v1/catalog
RESPONSE
{
  "data": [
    {
      "category": "synthesizer",
      "label": "Synthesizer",
      "defaultHandles": [
        { "id": "midi-in", "connectionType": "MidiDIN", "direction": "input", "label": "MIDI IN" },
        { "id": "audio-out", "connectionType": "Audio635", "direction": "output", "label": "AUDIO OUT" }
      ]
    }
  ]
}
GET /api/v1/manufacturers

List all manufacturers with product counts, sorted alphabetically.

Example

CURL
curl https://maketechrider.com/api/v1/manufacturers
RESPONSE
{
  "data": [
    { "name": "Allen & Heath", "productCount": 4 },
    { "name": "Elektron", "productCount": 5 },
    { "name": "Moog", "productCount": 3 }
  ],
  "meta": { "total": 28 }
}

Rate Limiting

All endpoints share a per-IP rate limit.

HeaderDescription
X-RateLimit-LimitMaximum requests per window (100)
X-RateLimit-RemainingRequests remaining in current window
X-RateLimit-ResetUnix timestamp when the window resets

Exceeding the limit returns a 429 Too Many Requests response. Wait for the reset window before retrying.

PRO API — Coming Soon

Higher rate limits, webhooks, and custom gear collections. Powered by Polar.sh.