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
# 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.jsonExample 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.
{
"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.
# 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.
# 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.
# 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.
Which vike data tools do you have, and what does each one answer?