JavaScript
import Indices from 'indicesio';
const client = new Indices({
apiKey: process.env['INDICES_API_KEY'], // This is the default and can be omitted
});
const captureSessions = await client.beta.captureSessions.list();
console.log(captureSessions);import os
from indices import Indices
client = Indices(
api_key=os.environ.get("INDICES_API_KEY"), # This is the default and can be omitted
)
capture_sessions = client.beta.capture_sessions.list()
print(capture_sessions)curl --request GET \
--url https://api.indices.io/v1beta/capture_sessions \
--header 'Authorization: Bearer <token>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.indices.io/v1beta/capture_sessions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.indices.io/v1beta/capture_sessions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.indices.io/v1beta/capture_sessions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.indices.io/v1beta/capture_sessions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"id": "cap_0R3kPq8mWxYz1aBcDeFgHi",
"state": "active",
"browser_session_id": "<string>",
"iframe_url": "<string>",
"created_at": "2026-01-01T12:00:00Z",
"updated_at": "2026-01-06T12:05:00Z"
}
]Capture Sessions
List capture sessions
List all capture sessions, newest first.
GET
/
v1beta
/
capture_sessions
JavaScript
import Indices from 'indicesio';
const client = new Indices({
apiKey: process.env['INDICES_API_KEY'], // This is the default and can be omitted
});
const captureSessions = await client.beta.captureSessions.list();
console.log(captureSessions);import os
from indices import Indices
client = Indices(
api_key=os.environ.get("INDICES_API_KEY"), # This is the default and can be omitted
)
capture_sessions = client.beta.capture_sessions.list()
print(capture_sessions)curl --request GET \
--url https://api.indices.io/v1beta/capture_sessions \
--header 'Authorization: Bearer <token>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.indices.io/v1beta/capture_sessions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.indices.io/v1beta/capture_sessions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.indices.io/v1beta/capture_sessions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.indices.io/v1beta/capture_sessions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"id": "cap_0R3kPq8mWxYz1aBcDeFgHi",
"state": "active",
"browser_session_id": "<string>",
"iframe_url": "<string>",
"created_at": "2026-01-01T12:00:00Z",
"updated_at": "2026-01-06T12:05:00Z"
}
]Authorizations
Enter your API key as the bearer token. Set header: Authorization to Bearer <api_key>
Response
200 - application/json
Successful response
Unique identifier for the capture session.
Example:
"cap_0R3kPq8mWxYz1aBcDeFgHi"
Current state of the capture session. A session records while active, is completing once completion is requested, and becomes a reusable recording once completed.
Available options:
active, completing, completed, abandoned, failed Example:
"active"
Opaque identifier for the spawned browser session. Null once the browser is gone.
URL to embed in an iframe to control the browser. Only usable while the session is active.
Timestamp when the object was created.
Example:
"2026-01-01T12:00:00Z"
Timestamp when the object was last updated.
Example:
"2026-01-06T12:05:00Z"