Finance Research
The Finance Research API is purpose-built for financial questions. Like the Research API, it runs multiple searches, reads through sources, and synthesizes everything into a thorough, well-cited answer — but its retrieval index is optimized for financial data: earnings reports, SEC filings, analyst coverage, market data, and financial news. Use it when you need credible, sourced answers to financial questions: company fundamentals, market trends, competitive analysis, earnings summaries, or macroeconomic research.
Authentication
A unique API Key is required to authorize API access. Get your API Key with free credits.
Request
The financial research question or complex query requiring in-depth investigation and multi-step reasoning.
Note: The maximum length of the input is 40,000 characters.
Controls how much time and effort the Finance Research API spends on your question. Higher effort levels run more searches and dig deeper into sources, at the cost of a longer response time.
Available levels:
deep: The default. Spends more time researching and cross-referencing sources. Good for most financial questions, including multi-company comparisons, earnings analysis, and regulatory research. Latency is under 120s.exhaustive: The most thorough option. Explores the topic as fully as possible, best suited for complex financial research tasks where you want the highest quality result. Latency is under 300s.
Beta. Requests structured JSON output in output.content using a supported JSON Schema subset. Supported with every research_effort value. The rules and limits match the Research API, so the same schema works on both endpoints.
Limits are enforced before model execution. The request fails with 422 if any limit is exceeded:
- Max nesting depth: 5. - Max total properties: 100. - Max total enum values: 500. - Max large-enum string budget (enums over 250 values): 7,500. - Max total schema string budget: 25,000. The schema string budget counts property names,
$defsnames, enum values, andconstvalues.
Schema rules:
- Root must be a JSON object. Top-level
anyOfis not allowed. - Every object must definepropertiesand setadditionalProperties: false. - Every property must be listed inrequired. To make a field optional, keep it inrequiredand add"null"to its type, for example["number", "null"]. - Recursive schemas are not supported. - A property’s type may not be a bare{"type": "null"}. Use a nullable array form such as["number", "null"], or anullbranch inside ananyOf.
See Structured Output for full rules, supported patterns, the optional-via-nullable pattern, conditional structure, and examples.
Response
A JSON object containing a comprehensive finance-grade answer with citations and supporting search results
Non-fatal warnings generated during the request, such as a deprecation notice for an output_schema that will stop being accepted in a future release. Empty when no warnings occurred.