curl --request POST \
--url https://agents.bigdata.com/v1/research-agent \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"message": "Type your research question here. Example: Summarize recent developments in quantum computing research.",
"model_name": "base",
"persistence_mode": "disabled",
"research_effort": "lite"
}
'import requests
url = "https://agents.bigdata.com/v1/research-agent"
payload = {
"message": "Type your research question here. Example: Summarize recent developments in quantum computing research.",
"model_name": "base",
"persistence_mode": "disabled",
"research_effort": "lite"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
message: 'Type your research question here. Example: Summarize recent developments in quantum computing research.',
model_name: 'base',
persistence_mode: 'disabled',
research_effort: 'lite'
})
};
fetch('https://agents.bigdata.com/v1/research-agent', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://agents.bigdata.com/v1/research-agent",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'message' => 'Type your research question here. Example: Summarize recent developments in quantum computing research.',
'model_name' => 'base',
'persistence_mode' => 'disabled',
'research_effort' => 'lite'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://agents.bigdata.com/v1/research-agent"
payload := strings.NewReader("{\n \"message\": \"Type your research question here. Example: Summarize recent developments in quantum computing research.\",\n \"model_name\": \"base\",\n \"persistence_mode\": \"disabled\",\n \"research_effort\": \"lite\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://agents.bigdata.com/v1/research-agent")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"message\": \"Type your research question here. Example: Summarize recent developments in quantum computing research.\",\n \"model_name\": \"base\",\n \"persistence_mode\": \"disabled\",\n \"research_effort\": \"lite\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://agents.bigdata.com/v1/research-agent")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"message\": \"Type your research question here. Example: Summarize recent developments in quantum computing research.\",\n \"model_name\": \"base\",\n \"persistence_mode\": \"disabled\",\n \"research_effort\": \"lite\"\n}"
response = http.request(request)
puts response.read_body{
"chat_id": "<string>",
"message": {
"content": "<string>",
"message_id": "<string>",
"role": "assistant",
"type": "THINKING"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Research Agent
Execute a research query with AI-powered analysis and real-time data. Returns a streaming response via Server-Sent Events.
curl --request POST \
--url https://agents.bigdata.com/v1/research-agent \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"message": "Type your research question here. Example: Summarize recent developments in quantum computing research.",
"model_name": "base",
"persistence_mode": "disabled",
"research_effort": "lite"
}
'import requests
url = "https://agents.bigdata.com/v1/research-agent"
payload = {
"message": "Type your research question here. Example: Summarize recent developments in quantum computing research.",
"model_name": "base",
"persistence_mode": "disabled",
"research_effort": "lite"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
message: 'Type your research question here. Example: Summarize recent developments in quantum computing research.',
model_name: 'base',
persistence_mode: 'disabled',
research_effort: 'lite'
})
};
fetch('https://agents.bigdata.com/v1/research-agent', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://agents.bigdata.com/v1/research-agent",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'message' => 'Type your research question here. Example: Summarize recent developments in quantum computing research.',
'model_name' => 'base',
'persistence_mode' => 'disabled',
'research_effort' => 'lite'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://agents.bigdata.com/v1/research-agent"
payload := strings.NewReader("{\n \"message\": \"Type your research question here. Example: Summarize recent developments in quantum computing research.\",\n \"model_name\": \"base\",\n \"persistence_mode\": \"disabled\",\n \"research_effort\": \"lite\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://agents.bigdata.com/v1/research-agent")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"message\": \"Type your research question here. Example: Summarize recent developments in quantum computing research.\",\n \"model_name\": \"base\",\n \"persistence_mode\": \"disabled\",\n \"research_effort\": \"lite\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://agents.bigdata.com/v1/research-agent")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"message\": \"Type your research question here. Example: Summarize recent developments in quantum computing research.\",\n \"model_name\": \"base\",\n \"persistence_mode\": \"disabled\",\n \"research_effort\": \"lite\"\n}"
response = http.request(request)
puts response.read_body{
"chat_id": "<string>",
"message": {
"content": "<string>",
"message_id": "<string>",
"role": "assistant",
"type": "THINKING"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Authorizations
API key for authentication.
Body
Request to execute a research query.
Your research question or request.
1Controls research depth. Use 'lite' for quick answers or 'standard' for thorough analysis.
lite, standard Provide a previous chat ID to continue a conversation.
Optional guidance for the final answer's tone, structure, and format.
1Resume or edit a conversation from a specific checkpoint.
Selects the model capability tier. Use "base" for the default routing strategy, or "pro" to allow the most capable available model when higher reasoning or accuracy is required. Model selection is dynamic and may vary based on task type, availability, and failover.
base, pro Set to 'enabled' to save conversation history for follow-up questions.
enabled, disabled JSON Schema for structured data extraction from the research results.
Per-tool configuration overrides. Set only the tools you want to customize; omitted tools use the server-side default.
Show child attributes
Show child attributes
Response
Streaming SSE response with research results.
A single streaming event from the Research Agent.
Identifier for this conversation.
The agent's intermediate reasoning while researching.
- ThinkingMessage
- ActionMessage
- AnswerMessage
- CompleteMessage
- ErrorMessage
- AuditMessage
- GroundingMessage
- ChartMessage
- ToolErrorMessage
- PlanningMessage
- LlmRetryMessage
- StructuredOutputMessage
Show child attributes
Show child attributes
Was this page helpful?