List tasks in a batch
curl --request GET \
--url https://api.valyu.ai/v1/deepresearch/batches/{id}/tasks \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.valyu.ai/v1/deepresearch/batches/{id}/tasks"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.valyu.ai/v1/deepresearch/batches/{id}/tasks', 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://api.valyu.ai/v1/deepresearch/batches/{id}/tasks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.valyu.ai/v1/deepresearch/batches/{id}/tasks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.valyu.ai/v1/deepresearch/batches/{id}/tasks")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.valyu.ai/v1/deepresearch/batches/{id}/tasks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"batch_id": "batch_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"tasks": [
{
"deepresearch_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "completed",
"query": "Analyze Tesla Q4 2024 earnings",
"created_at": "2024-06-15T10:30:00.000Z",
"task_id": "<string>",
"completed_at": "2023-11-07T05:31:56Z",
"output_type": "markdown",
"output": "## Tesla Q4 2025 Earnings Analysis\n\n...",
"sources": [
{}
],
"images": [
{}
],
"pdf_url": "https://api.valyu.ai/v1/deepresearch/tasks/52fafd51/pdf",
"deliverables": [
{}
],
"error": "Task exceeded maximum execution time",
"cost": 1
}
],
"pagination": {
"count": 10,
"has_more": false,
"last_key": "<string>"
}
}{
"success": false,
"error": "Invalid API key"
}{
"success": false,
"error": "Task not found"
}{
"success": false,
"error": "Internal server error. Please try again later."
}List Batch Tasks
Reference for listing tasks in a batch via GET /v1/deepresearch/batches//tasks.
GET
/
v1
/
deepresearch
/
batches
/
{id}
/
tasks
List tasks in a batch
curl --request GET \
--url https://api.valyu.ai/v1/deepresearch/batches/{id}/tasks \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.valyu.ai/v1/deepresearch/batches/{id}/tasks"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.valyu.ai/v1/deepresearch/batches/{id}/tasks', 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://api.valyu.ai/v1/deepresearch/batches/{id}/tasks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.valyu.ai/v1/deepresearch/batches/{id}/tasks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.valyu.ai/v1/deepresearch/batches/{id}/tasks")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.valyu.ai/v1/deepresearch/batches/{id}/tasks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"batch_id": "batch_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"tasks": [
{
"deepresearch_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "completed",
"query": "Analyze Tesla Q4 2024 earnings",
"created_at": "2024-06-15T10:30:00.000Z",
"task_id": "<string>",
"completed_at": "2023-11-07T05:31:56Z",
"output_type": "markdown",
"output": "## Tesla Q4 2025 Earnings Analysis\n\n...",
"sources": [
{}
],
"images": [
{}
],
"pdf_url": "https://api.valyu.ai/v1/deepresearch/tasks/52fafd51/pdf",
"deliverables": [
{}
],
"error": "Task exceeded maximum execution time",
"cost": 1
}
],
"pagination": {
"count": 10,
"has_more": false,
"last_key": "<string>"
}
}{
"success": false,
"error": "Invalid API key"
}{
"success": false,
"error": "Task not found"
}{
"success": false,
"error": "Internal server error. Please try again later."
}Authorizations
API key for authentication. Get yours at platform.valyu.ai.
Path Parameters
Batch ID.
Query Parameters
Filter tasks by status.
Available options:
queued, running, completed, failed, cancelled Maximum number of tasks to return.
Required range:
x >= 1Pagination cursor. Omit on first request. Pass the last_key value from a previous response to fetch the next page.
Include full output, sources, images, and cost for each task. When false (default), returns lightweight task listing with status only.
Was this page helpful?

