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 work without authentication, returning data delayed by 24 hours — useful for exploring the API, but not actionable for trading or monitoring. For real-time data and higher rate limits, include your API key in the x-api-key header:

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

Access Levels

LevelAuthenticationDataRate LimitsHow to Get
FreeNone required24h delayed, with meta upgrade block10/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

All access levels use the same endpoints. The difference is data freshness and rate limits. Free-tier responses include a meta block with upgrade URLs (see Response Format). 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.

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

Free (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.

Free-Tier Response

When no API key is provided, delayed-data endpoints include a meta block with upgrade information:

{
  "status": 200,
  "meta": {
    "tier": "free",
    "dataDelayHours": 24,
    "dataAsOf": "2026-03-10T04:00:00.000Z",
    "upgrade": {
      "description": "This response contains data delayed by 24 hours. 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" }
      ]
    }
  },
  "data": [ ... ],
  "pagination": { ... }
}

The meta block appears on these endpoints when called without an API key:

  • GET /v2/signals
  • GET /v2/projects
  • GET /v2/projects/{id}
  • GET /v2/projects/{id}/momentum

Reference endpoints (/v2/clusters, /v2/projects/chains) do not include meta — they return real-time data regardless of authentication.

When an API key is present, meta is absent. Its absence indicates real-time data.

Error Response

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

HTTP Status Codes

Most endpoints return 200 with delayed data when no API key is provided. The 401 codes below only apply to endpoints that require authentication (POST /v2/agents/indigo, GET /v2/api-keys/info).

StatusCodeMeaning
200-Success
400-Bad request - check your parameters
401MISSING_API_KEYNo API key provided
401INVALID_API_KEYAPI key is invalid or inactive
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