Works with the AI you already use

  • OpenAI
  • ChatGPT
  • Claude
  • Gemini
  • Grok
  • Perplexity
  • DeepSeek
  • Mistral
  • Meta AI
  • OpenAI
  • ChatGPT
  • Claude
  • Gemini
  • Grok
  • Perplexity
  • DeepSeek
  • Mistral
  • Meta AI
  • OpenAI
  • ChatGPT
  • Claude
  • Gemini
  • Grok
  • Perplexity
  • DeepSeek
  • Mistral
  • Meta AI
  • OpenAI
  • ChatGPT
  • Claude
  • Gemini
  • Grok
  • Perplexity
  • DeepSeek
  • Mistral
  • Meta AI
  • Cursor
  • Windsurf
  • GitHub Copilot
  • VS Code
  • Cline
  • Roo Code
  • Continue
  • Zed
  • Devin
  • Manus
  • Replit
  • Bolt
  • OpenCode
  • MCP Inspector
  • Cursor
  • Windsurf
  • GitHub Copilot
  • VS Code
  • Cline
  • Roo Code
  • Continue
  • Zed
  • Devin
  • Manus
  • Replit
  • Bolt
  • OpenCode
  • MCP Inspector
Browse documentation

REST API

Browser Sessions

List and inspect your cloud browsers.

Browsers start automatically when a task needs one and close when it ends, unless keep_browser was set. Use POST /navigations to open an approved page.

GET/browser-sessions

List your live cloud browser sessions (up to 20, newest first).

Auth: Bearer API key · Permission: sessions:read

allquery · booleantrue to include ended sessions.
curl https://taken.trade/api/public/v1/browser-sessions \
  -H "Authorization: Bearer $TAKEN_API_KEY"

Errors: 401 missing_api_key / invalid_api_key / api_key_revoked / api_key_expired · 403 insufficient_scope · 429 rate_limited

GET/browser-sessions/{id}

Get one of your sessions by id.

Auth: Bearer API key · Permission: sessions:read

idpath · uuid · requiredSession id.
curl https://taken.trade/api/public/v1/browser-sessions/ID \
  -H "Authorization: Bearer $TAKEN_API_KEY"

Errors: 400 invalid_request · 404 not_found

POST/agent/tasks

Submit a natural-language browser task. Trading, payments and credentials in instructions are refused.

Auth: Bearer API key · Permission: tasks:write

instructionbody · string ≤1000 · requiredWhat Taken should do.
windowbody · integer 1–3Default 1.
keep_browserbody · booleanKeep the browser open after the task (up to the browser time limit).
curl -X POST https://taken.trade/api/public/v1/agent/tasks \
  -H "Authorization: Bearer $TAKEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"instruction":"Open example.com and tell me the page title"}'

Errors: 400 invalid_request · 422 task_rejected

GET/agent/tasks/{id}

Get a task's real status, result and recent events. While the task is running, each call first advances it by one bounded step (up to ~45 s). Poll until done is true.

Auth: Bearer API key · Permission: tasks:read

idpath · uuid · requiredTask id.
advancequery · booleanfalse to read without advancing.
curl https://taken.trade/api/public/v1/agent/tasks/ID \
  -H "Authorization: Bearer $TAKEN_API_KEY"

Errors: 404 not_found

POST/agent/tasks/{id}/cancel

Cancel one of your tasks and close its browser.

Auth: Bearer API key · Permission: tasks:write

idpath · uuid · requiredTask id.
curl -X POST https://taken.trade/api/public/v1/agent/tasks/ID/cancel \
  -H "Authorization: Bearer $TAKEN_API_KEY"

Errors: 404 not_found

GET/connected-platforms

List supported platforms and your connection status. order_automation is false for every platform today.

Auth: Bearer API key · Permission: platforms:read

curl https://taken.trade/api/public/v1/connected-platforms \
  -H "Authorization: Bearer $TAKEN_API_KEY"

POST/trading/order-previews

Parse an order description into a structured draft and list missing details. Nothing is saved or submitted; approval only happens in the Taken app.

Auth: Bearer API key · Permission: orders:prepare

instructionbody · string ≤500 · requirede.g. “buy 1 NQ limit 18000 on Tradovate”.
curl -X POST https://taken.trade/api/public/v1/trading/order-previews \
  -H "Authorization: Bearer $TAKEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"instruction":"buy 1 NQ"}'

Errors: 400 invalid_request