vike

Recipe 7 of 8

Give my AI assistant the whole vike API in one page

Download the OpenAPI document, one JSON file that describes every /v1 route with its parameters and auth, and attach it to your assistant; for the prose docs in one file, use the docs' llms-full.txt.

/v1/openapi.json is the live OpenAPI 3.1 document of the Data API: every /v1 route, its parameters, their allowed values and the auth it takes, in one JSON file. Save it and attach it to the chat, or put it in your assistant's project files. It is generated from the running service, so it cannot drift from what the routes accept.

Quick answer

cURL
# the whole /v1 surface as one OpenAPI file, saved to disk
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/openapi.json" -o openapi.json

Example response

Captured from the live API on 2026-10-24 at 17:19 UTC, trimmed to the openapi and info keys; paths and components follow them.

info.description already tells an assistant how to authenticate and how fast it may call: 200 requests a minute per key, and a 429 with Retry-After past that. Each entry under paths carries the route's summary, every parameter with its description, and the response codes.

Example response
{
  "openapi": "3.1.0",
  "info": {
    "title": "vike.io Data API",
    "description": "The vike.io Data API, in four products: on-chain analytics (wallets, labels, transfers, smart-money flows); Hyperliquid perps analytics with candles from our own node; HL Cohorts, the positioning of Hyperliquid trader cohorts (`/v1/hl-cohorts`); and Polymarket markets with a bulk Parquet archive. Authenticate every request with an `X-API-KEY: vk_...` header or an OAuth 2.1 bearer token; usage is metered per call and subject to an hourly rate limit and a per-minute cap of 200 requests per key (HTTP 429 with a `Retry-After` header over either).",
    "version": "1.0.0"
  }
}

Variations

Just the route list. A short list fits in any prompt.

cURL — route list
# every /v1 path, one per line
curl -s -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/openapi.json" | jq -r '.paths | keys[]'

One route in full. Give the assistant only the route it is working on.

cURL — one route
# the parameters and responses of the first-funder route
curl -s -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/openapi.json" | jq '.paths["/v1/onchain/wallets/{address}/first-funder"]'

One product only. Paths start with the product's namespace: /v1/onchain, /v1/hyperliquid, /v1/hl-cohorts, /v1/polymarket.

cURL — Polymarket only
# the Polymarket routes and their definitions
curl -s -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/openapi.json" | jq '.paths | with_entries(select(.key | startswith("/v1/polymarket")))'

Before you rely on it

The spec lists routes; the docs explain them

The OpenAPI file says what each route accepts, not the traps around it: which side a USD field is counted from, which labels look ahead, which windows are calendar days. For that prose in one file, point the assistant at https://vike.io/docs/llms-full.txt, which holds every docs page. Any single docs page also comes as markdown when you add .md to its URL.

This copy needs your key

/v1/openapi.json takes the same key as every other route. An assistant that fetches URLs on its own, without your key, can read the published copy built from the same source at https://vike.io/data/openapi.json, which needs none. An agent that can use tools does better with the MCP server: it calls the data directly instead of writing requests from the spec.

Ask your agent

Connected to the Vike MCP server (https://vike.io/mcp) in Claude, ChatGPT or Cursor, ask it in plain words. The client lists the tools the server publishes, so no data tool call is needed.

Ask your agent
Which vike data tools do you have, and what does each one answer?
Example response
{  "openapi": "3.1.0",  "info": {    "title": "vike.io Data API",    "description": "The vike.io Data API, in four products: on-chain analytics (wallets, labels, transfers, smart-money flows); Hyperliquid perps analytics with candles from our own node; HL Cohorts, the positioning of Hyperliquid trader cohorts (`/v1/hl-cohorts`); and Polymarket markets with a bulk Parquet archive. Authenticate every request with an `X-API-KEY: vk_...` header or an OAuth 2.1 bearer token; usage is metered per call and subject to an hourly rate limit and a per-minute cap of 200 requests per key (HTTP 429 with a `Retry-After` header over either).",    "version": "1.0.0"  }}