Introduction
Welcome to the Cmds Search API Documentation! Here, you'll find information on how to use all components of the Search API and other Cmds services.
(Nearly) all API routes start with /api. All responses have a success boolean in the returned JSON, unless otherwise shown. There may be an error string returned when success is false. Success and error alone don't determine request status; check the HTTP status code for details (see Handling Errors).
Rate Limits
Each user gets a limited number of free requests per IP per bucket. A bucket is a group of related endpoints that share the same limit. Limits reset over time, starting at the first request until the next reset time. If a limit has been exceeded, the Retry-After header shows when the next retry is allowed. Repeat violations may trigger longer secondary cooldowns.
Each route has its own rate limit defined as x requests per x time. Example: search → 30 requests per 60 seconds.
Handling Errors
Almost all failed requests return a JSON object with success: false and an error field describing what went wrong.
Additionally, HTTP status codes are used to indicate the type of error:
400 Bad Request- Missing or invalid parameters.403 Forbidden- Access denied for this resource.404 Not Found- Endpoint or resource does not exist.429 Too Many Requests- Rate limit exceeded. Check theRetry-Afterheader.500 Internal Server Error- Unexpected server error.
Example error response:
{
"success": false,
"error": "Missing required parameters"
}