AIXBT Docs

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.tech

All endpoints are prefixed with /v2.

Authentication

Most endpoints require an API key. Include it in the x-api-key header:

curl "https://api.aixbt.tech/v2/projects" \
  -H "x-api-key: YOUR_API_KEY"

The grounding endpoint is the exception. It serves real-time data without authentication, providing market context across crypto, macro, traditional finance, and geopolitics.

Access Levels

LevelAuthenticationDataRate LimitsHow to Get
GroundingNone requiredReal-time (grounding only)10/min, 300/dayJust call the API
x402 Keyx-api-key headerReal-time30/min, 10k/dayPurchase via x402 - from $10/day
Full Keyx-api-key headerReal-time100/min, 100k/dayData, Pro, or Holder plan

Requests to data endpoints without an API key receive a 403 response with an API_KEY_REQUIRED error code and upgrade information (see Error Responses). x402 keys are convenient for short-term use; for ongoing access, a subscription plan offers the same or better value with higher rate limits. For the agentic endpoint (Indigo), an API key is required. Use x402 pay-per-request or a subscription key.

Quick Start

Grounding (No Key Required)

The grounding endpoint provides real-time market context without authentication:

curl "https://api.aixbt.tech/v2/grounding"

Projects (Key Required)

Data endpoints require an API key in the x-api-key header:

curl "https://api.aixbt.tech/v2/projects?limit=5" \
  -H "x-api-key: YOUR_API_KEY"

A successful response returns:

{
  "status": 200,
  "data": [...],
  "pagination": { "page": 1, "limit": 5, "totalCount": 1000, "hasMore": true }
}

Requests without an API key to data endpoints return 403 with upgrade information. See Getting Started for access options.

API Key Info

GET /v2/api-keys/info

Returns metadata about the API key used to authenticate the request.

{
  "status": 200,
  "data": {
    "id": "665f1a2b3c4d5e6f7a8b9c0d",
    "type": "x402",
    "scopes": ["mcp", "projects"],
    "expiresAt": "2026-03-27T08:00:00.000Z"
  }
}

The expiresAt field returns "never" if the key has no expiration set.

Rate Limits

Grounding (no key)x402 (personal)Full (subscription)
Per minute1030100
Per day30010,000100,000

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.000Z

Rate 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.

Unauthenticated Error Response

Data endpoints called without an API key return a 403 response with upgrade information:

{
  "error": "Forbidden",
  "message": "An API key is required to access this endpoint. Visit docs.aixbt.tech for access options.",
  "code": "API_KEY_REQUIRED",
  "meta": {
    "upgrade": {
      "description": "Purchase an API key for real-time access - no account needed.",
      "protocol": "x402",
      "payment": "USDC on Base",
      "options": [
        { "period": "1 day", "price": "$10", "method": "POST", "url": "https://api.aixbt.tech/x402/v2/api-keys/1d" },
        { "period": "1 week", "price": "$50", "method": "POST", "url": "https://api.aixbt.tech/x402/v2/api-keys/1w" },
        { "period": "4 weeks", "price": "$100", "method": "POST", "url": "https://api.aixbt.tech/x402/v2/api-keys/4w" }
      ]
    }
  }
}

This applies to all data endpoints (/v2/projects, /v2/signals, /v2/projects/{id}, etc.).

Reference endpoints (/v2/clusters, /v2/projects/chains) and grounding remain accessible without a key. Grounding responses include a meta.upgrade block when unauthenticated.

Error Response

{
  "status": 400,
  "error": "Invalid request parameters",
  "data": []
}

HTTP Status Codes

StatusCodeMeaning
200-Success
400-Bad request, check your parameters
401INVALID_API_KEYAPI key is invalid, expired, or inactive
403API_KEY_REQUIREDNo API key provided (includes upgrade info)
403INVALID_API_KEY_SCOPEAPI key lacks required permissions
404-Resource not found
429RATE_LIMIT_EXCEEDEDRate limit exceeded
500-Server error

Pagination

List endpoints support pagination with these query parameters:

ParameterDefaultMaxDescription
page1-Page number (1-indexed)
limit5050Results 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

On this page