---
title: "Start a Deep Research run"
method: POST
path: "/business/research/runs"
tags: ["Research"]
---

# Start a Deep Research run

`POST /business/research/runs`

## Request

- Base URL: `https://api.tryfuse.ai/api/v1`
- URL: `https://api.tryfuse.ai/api/v1/business/research/runs`
- Auth: HTTP basic

Starts an autonomous Deep Research run for the prompt and returns immediately with 202. Billing is per provider action inside the run, gated by the balance and capped by `effort` (low 1000, medium 2000 (default), high 5000 credits); the run always produces a markdown report (`reportMarkdown` on GET /business/research/runs/{runId}) and, when it surfaces people or companies, a result list (`resultListId`). Send an `X-Idempotency-Key` header of 8 to 200 characters to make retries safe: a replay returns the existing run instead of starting another (a key outside that length is rejected with 422; an empty header is treated as if none was sent). Poll GET /business/research/runs/{runId} until status is completed, failed or cancelled, or stream progress from GET /business/research/runs/{runId}/events. Prompts are limited to 2000 characters by the research engine. Rate limits: 30 requests per minute and 1000 per day on this endpoint, plus 5 run starts per minute and 100 per day in the research engine.

Errors:
- `422` `VALIDATION_FAILED` — `prompt` is missing or outside 4-2000 characters, `effort` is not low, medium or high, or the `X-Idempotency-Key` header was sent with a value outside 8-200 characters.
- `429` `RATE_LIMITED` — Either this endpoint's quota (30 per minute, 1000 per day) or the research engine's own start quota (5 per minute, 100 per day) is exhausted; retry after the Retry-After / RateLimit-Reset seconds.

Requires one of the following token scopes: research.

## Request body

- object
  - `prompt` string, required: The research question or brief in plain text, 4 to 2000 characters.
  - `effort` 'low' | 'medium' | 'high': Research depth tier that sets the run's credit spend cap: low (1000 credits), medium (2000, the default when omitted) or high (5000).

## Response `202`

Success

- object
  - `run` object, required
    - `runId` string, required
    - `status` 'queued' | 'planning' | 'plan_review' | 'running' | 'generating_csv' | 'uploading' | 'completed' | 'failed' | 'cancelled', required

## Other responses

- `400`: Error
- `401`: Error
- `402`: Error
- `403`: Error
- `404`: Error
- `409`: Error
- `422`: Error
- `429`: Error
- `500`: Error

---

[API](https://skmtc.dev/fuseai/apis/fuse-business-api.md) · [All operations](https://skmtc.dev/fuseai/apis/fuse-business-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fuseai/apis/fuse-business-api/revisions/50d95e0536f4?raw)
