API

Run Blue Ocean analyses and pull the results straight into your own tools — the same 15-source pipeline and frameworks the app uses, over a small JSON API. Included with the Pro plan, no extra cost.

Authentication

Generate a key in Settings → API access (shown once). Send it as a bearer token on every request. Keep it secret — it grants full access to your workspace's analyses.

Authorization: Bearer boe_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Base URL: https://blueoceanexplorer.app/api/v1 · All responses are JSON.

The flow

  1. POST an industry to /explore → you get an exploration id back immediately (202).
  2. Poll GET /explorations/{id} until status is complete (~90s).
  3. Read the full analysis from that same response.

Endpoints

POST /explore

Start an analysis. Body: { "query": "vertical farming", "region": "global" } (region optional, defaults to global). Returns 202 { id, status, poll }.

GET /explorations

List your recent explorations (id, query, region, status, createdAt).

GET /explorations/{id}

The full analysis — market overview, strategy canvas, ERRC, non-customers, six paths, buyer-utility map, scored opportunities, niche strategy. 404 if it isn't yours, 409 while it's still running.

Example

# 1. start an analysis
curl -X POST https://blueoceanexplorer.app/api/v1/explore \
  -H "Authorization: Bearer $BOE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"regenerative agriculture","region":"global"}'
# -> 202 {"id":"...","status":"queued","poll":"/api/v1/explorations/..."}

# 2. poll until complete, then read the analysis
curl https://blueoceanexplorer.app/api/v1/explorations/$ID \
  -H "Authorization: Bearer $BOE_KEY"

Limits & errors

  • Requires an active Pro subscription — otherwise 402.
  • Rate limits: /explore is throttled (it runs the full pipeline); reads are generous. Over the limit returns 429.
  • 401 missing/invalid key · 404 not found / not yours · 409 not complete yet.
  • Connectors never fabricate data — a source that fails is reported honestly, never mocked.

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.