NeuroAPI

Quickstart

From zero to a live answer in five minutes — create a key, send your first prompt, and stream the response.

Everything below takes you from signup to a streaming answer in about five minutes — no SDK, just HTTP. The steps are independent, so if you already have a key you can jump straight to asking your first question.

1. Get an API key

Sign in to the dashboard and open API Keys.

Click Create key, give it a label, and copy the secret.

The full secret is shown once, at creation time. Store it in a secret manager or environment variable before you close the dialog.

Make sure your account has an active plan in Pricing - /agent/ask requires it.

API keys look like neuro_<random>. The leading neuro_<8 chars> is the public prefix; everywhere we surface a key (logs, dashboards) it's the prefix only.

2. Confirm your key works

GET /api/v1/health is the lightest authenticated call there is — it's free, bills zero units, and confirms your key and the connection in a single request.

curl -s https://api.neurobro.ai/api/v1/health \
  -H "X-API-Key: $NEUROAPI_KEY" | jq

Expected response:

{
  "status": "healthy",
  "service": "neuroapi",
  "version": "0.1.0",
  "authenticated": true,
  "key_prefix": "neuro_a1b2c3d4",
  "timestamp": "2026-05-08T12:34:56.789Z"
}

3. Ask your first question

/agent/ask is the endpoint you'll build on. Send a prompt, pick a mode (fast / smart / max), and get a structured JSON answer back with token usage and a request_id.

curl -s https://api.neurobro.ai/api/v1/agent/ask \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NEUROAPI_KEY" \
  -d '{
    "prompt": "Summarise the latest macroeconomic outlook for the eurozone.",
    "mode": "smart"
  }' | jq
const res = await fetch("https://api.neurobro.ai/api/v1/agent/ask", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "X-API-Key": process.env.NEUROAPI_KEY!,
  },
  body: JSON.stringify({
    prompt: "Summarise the latest macroeconomic outlook for the eurozone.",
    mode: "smart",
  }),
})
const { answer, request_id, usage } = await res.json()
import os, httpx

res = httpx.post(
    "https://api.neurobro.ai/api/v1/agent/ask",
    headers={"X-API-Key": os.environ["NEUROAPI_KEY"]},
    json={
        "prompt": "Summarise the latest macroeconomic outlook for the eurozone.",
        "mode": "smart",
    },
    timeout=60,
)
data = res.json()

Sample response:

{
  "answer": "The European Central Bank held rates steady ...",
  "mode": "smart",
  "request_id": "8b3a2f0e-1d7e-4c6b-9b2a-f5e23a1c9d44",
  "usage": {
    "prompt_tokens": 124,
    "completion_tokens": 256,
    "cost_units": 2
  }
}

The X-Request-Id response header mirrors request_id - paste it when reporting issues.

4. Stream the answer live

Set "stream": true to receive the answer as it's generated — token by token over SSE, ideal for chat UIs and long responses. The stream closes with a final data: [DONE]\n\n.

curl -N https://api.neurobro.ai/api/v1/agent/ask \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NEUROAPI_KEY" \
  -d '{"prompt": "Walk me through the bull and bear case for NVDA right now.", "stream": true}'

What's next

On this page