API DOCUMENTATION
Integrate DOTA 2 Shader Database data into your own tools. Our REST API provides read-only access to shader, gem, and market data.
1. Overview
The API is organized around REST principles. It returns JSON-encoded responses and uses standard HTTP response codes. All endpoints are read-only and require an API key for authentication.
- Base URL: https://api.renderdota.pro/v1
- All responses are JSON.
- Rate limit: 60 requests per minute per key.
- Read-only — no write operations supported.
2. Authentication
Every request must include your API key in the X-API-Key header. Keys are tied to your Steam account and can be regenerated at any time.
Need an API Key?
Sign in with Steam to generate your personal API key.
3. Endpoints
Below is a list of available endpoints. All are GET requests and return JSON.
Returns a paginated list of all indexed cosmetic items.
| Parameter | Type | Description |
|---|---|---|
| page | integer | Page number (default: 1) |
| limit | integer | Items per page, max 100 (default: 25) |
| hero | string | Filter by hero name (e.g. "terrorblade") |
Returns detailed information about a single item, including shader and material phase data.
Returns the full list of known shader and material phase combinations.
Returns all Prismatic and Ethereal gems with their color codes and effect IDs.
Returns current market statistics for a specific item.
4. Example Response
Here is an example response from /v1/items/12345:
5. Error Codes
The API uses standard HTTP response codes to indicate success or failure.
| Code | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request — invalid parameters |
| 401 | Unauthorized — missing or invalid API key |
| 404 | Resource not found |
| 429 | Rate limit exceeded |
| 500 | Internal server error |
6. Rate Limits & Fair Use
To keep the API fast and available for everyone, the following limits apply:
- 60 requests per minute per API key.
- Burst limit: 10 requests per second.
- Responses are cached for 60 seconds where applicable.
- Excessive or abusive usage may result in temporary suspension.
7. Support
If you have questions about the API, need a higher rate limit, or want to report an issue, reach out to us.
- Email: [email protected]
- Discord: join our community for live help.
- Documentation updates are posted on our main page.