REST API
API key authentication and setup
Access the AIXBT API using API key authentication. For pay-per-request access without API keys, see x402.
Base URL
https://api.aixbt.techAll endpoints are prefixed with /v2.
Authentication
Include your API key in the x-api-key header with every request:
curl -X GET "https://api.aixbt.tech/v2/projects" \
-H "x-api-key: YOUR_API_KEY"Key Types
| Type | Access | How to Get |
|---|---|---|
| Demo Key | Non-agentic endpoints, Bitcoin data only | Sign in and go to Settings → API Keys |
| Full-Access Key | Non-agentic endpoints, full dataset | Subscribe to a Data Plan |
Both key types use the same authentication method. The difference is the data returned and rate limits. For agentic endpoints (Indigo), use x402 pay-per-request, or get in touch to discuss API key access.
Rate Limits
- Per minute: 100 requests
- Per day: 100,000 requests
Rate Limit Headers
Every response includes headers showing your current usage:
X-RateLimit-Limit-Minute: 100
X-RateLimit-Remaining-Minute: 99
X-RateLimit-Reset-Minute: 2025-01-15T12:01:00.000Z
X-RateLimit-Limit-Day: 100000
X-RateLimit-Remaining-Day: 99999
X-RateLimit-Reset-Day: 2025-01-16T00:00:00.000ZRate Limit Exceeded
When you exceed a limit, you'll receive a 429 response:
{
"error": "Too Many Requests",
"message": "Rate limit exceeded (minute). Try again after 2025-01-15T12:01:00.000Z",
"code": "RATE_LIMIT_EXCEEDED",
"limitType": "minute"
}The response includes a Retry-After header with the number of seconds to wait.
Response Format
All endpoints return a consistent JSON structure:
Success Response
{
"status": 200,
"data": { ... },
"pagination": {
"page": 1,
"limit": 50,
"totalCount": 1000,
"hasMore": true
}
}The pagination object is included for list endpoints.
Error Response
{
"status": 400,
"error": "Invalid request parameters",
"data": []
}HTTP Status Codes
| Status | Code | Meaning |
|---|---|---|
200 | - | Success |
400 | - | Bad request - check your parameters |
401 | MISSING_API_KEY | No API key provided |
401 | INVALID_API_KEY | API key is invalid or inactive |
403 | INVALID_API_KEY_SCOPE | API key lacks required permissions |
404 | - | Resource not found |
429 | RATE_LIMIT_EXCEEDED | Rate limit exceeded |
500 | - | Server error |
Pagination
List endpoints support pagination with these query parameters:
| Parameter | Default | Max | Description |
|---|---|---|---|
page | 1 | - | Page number (1-indexed) |
limit | 50 | 50 | Results per page |
Example:
curl "https://api.aixbt.tech/v2/projects?page=2&limit=25" \
-H "x-api-key: YOUR_API_KEY"Filtering
Most list endpoints support filtering. Filters use AND logic between different parameters, and OR logic for multiple values within a parameter.
# Projects matching (name=eth OR name=btc) AND chain=base
curl "https://api.aixbt.tech/v2/projects?names=eth,btc&chain=base" \
-H "x-api-key: YOUR_API_KEY"See the API Reference for available filters on each endpoint.
Next Steps
- Quickstart - Make your first request
- API Reference - Complete endpoint documentation
- x402 - Pay-per-request alternative