---
title: "Deep Research"
method: POST
path: "/research/deep"
tags: ["Research"]
---

# Deep Research

`POST /research/deep`

## Request

- Base URL: `https://api.weblens.dev`
- URL: `https://api.weblens.dev/research/deep`
- Auth: API key in header `Payment-Signature`

Multi-step research in one call: plans sub-questions, searches each, fetches and dedupes sources, and synthesizes an answer with inline [n] citations, key findings, and gaps. Tiers: quick = 1 search / 5 sources ($0.08); standard = 3 sub-questions / 8 sources ($0.20); deep = 5 sub-questions / 12 sources ($0.35). Default: standard. Price: quick = 1 search / 5 sources ($0.08); standard = 3 sub-questions / 8 sources ($0.20); deep = 5 sub-questions / 12 sources ($0.35). Default: standard..

## Request body

- object
  - `query` string, required: The research question
  - `depth` 'quick' | 'standard' | 'deep': quick = 1 search / 5 sources ($0.08); standard = 3 sub-questions / 8 sources ($0.20); deep = 5 sub-questions / 12 sources ($0.35). Default: standard.

## Response `200`

Multi-step research: sub-questions, cited answer, and gaps.

- object
  - `query` string
  - `depth` 'quick' | 'standard' | 'deep'
  - `subQuestions` string[]: The sub-questions the query was decomposed into, one web search each. For quick, the query itself.
  - `answer` string: Synthesized answer with inline [n] citation markers
  - `keyFindings` string[]: Bullet-point findings drawn from the sources
  - `citations` object[]: Sources behind the [n] markers, with the sub-question each answered
    - `index` integer
    - `url` string
    - `title` string
    - `subQuestion` string
  - `gaps` string[]: What the sources did not establish
  - `sourcesFetched` number: Sources whose full page was fetched (the rest fall back to their search snippet)
  - `researchedAt` string
  - `requestId` string

## Other responses

- `400`: The body failed validation
- `402`: Payment required — x402 v2 protocol. Parse the PAYMENT-REQUIRED response header (base64-encoded JSON), sign the payment with your wallet, then retry the request with the Payment-Signature request header.
- `404`: No web sources found for this query — nothing was charged for a failed run.
- `502`: Research failed or timed out before completing.
- `503`: AI service unavailable

---

[API](https://skmtc.dev/weblens/apis/weblens-api.md) · [All operations](https://skmtc.dev/weblens/apis/weblens-api/llms.txt) · [OpenAPI document](https://skmtc.dev/weblens/apis/weblens-api/revisions/63a7e81b6921?raw)
