curl --request POST \
--url https://api.anchorbrowser.io/v2/tasks/{taskId}/run \
--header 'Content-Type: application/json' \
--header 'anchor-api-key: <api-key>' \
--data '
{
"input_params": {
"File Name": "invoice-2026-02.pdf",
"Operation": "extract_text"
}
}
'import requests
url = "https://api.anchorbrowser.io/v2/tasks/{taskId}/run"
payload = { "input_params": {
"File Name": "invoice-2026-02.pdf",
"Operation": "extract_text"
} }
headers = {
"anchor-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'anchor-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({input_params: {'File Name': 'invoice-2026-02.pdf', Operation: 'extract_text'}})
};
fetch('https://api.anchorbrowser.io/v2/tasks/{taskId}/run', 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.anchorbrowser.io/v2/tasks/{taskId}/run",
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([
'input_params' => [
'File Name' => 'invoice-2026-02.pdf',
'Operation' => 'extract_text'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"anchor-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://api.anchorbrowser.io/v2/tasks/{taskId}/run"
payload := strings.NewReader("{\n \"input_params\": {\n \"File Name\": \"invoice-2026-02.pdf\",\n \"Operation\": \"extract_text\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("anchor-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://api.anchorbrowser.io/v2/tasks/{taskId}/run")
.header("anchor-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"input_params\": {\n \"File Name\": \"invoice-2026-02.pdf\",\n \"Operation\": \"extract_text\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anchorbrowser.io/v2/tasks/{taskId}/run")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["anchor-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"input_params\": {\n \"File Name\": \"invoice-2026-02.pdf\",\n \"Operation\": \"extract_text\"\n }\n}"
response = http.request(request)
puts response.read_body{
"run_id": "<string>",
"status": "queued",
"result": {},
"error": "<string>",
"session_id": "<string>"
}{
"error": {
"code": 123,
"message": "<string>"
}
}{
"error": {
"code": 123,
"message": "<string>"
}
}Run a Task
Triggers execution of a task by ID using the non-deprecated Tasks endpoints.
curl --request POST \
--url https://api.anchorbrowser.io/v2/tasks/{taskId}/run \
--header 'Content-Type: application/json' \
--header 'anchor-api-key: <api-key>' \
--data '
{
"input_params": {
"File Name": "invoice-2026-02.pdf",
"Operation": "extract_text"
}
}
'import requests
url = "https://api.anchorbrowser.io/v2/tasks/{taskId}/run"
payload = { "input_params": {
"File Name": "invoice-2026-02.pdf",
"Operation": "extract_text"
} }
headers = {
"anchor-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'anchor-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({input_params: {'File Name': 'invoice-2026-02.pdf', Operation: 'extract_text'}})
};
fetch('https://api.anchorbrowser.io/v2/tasks/{taskId}/run', 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.anchorbrowser.io/v2/tasks/{taskId}/run",
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([
'input_params' => [
'File Name' => 'invoice-2026-02.pdf',
'Operation' => 'extract_text'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"anchor-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://api.anchorbrowser.io/v2/tasks/{taskId}/run"
payload := strings.NewReader("{\n \"input_params\": {\n \"File Name\": \"invoice-2026-02.pdf\",\n \"Operation\": \"extract_text\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("anchor-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://api.anchorbrowser.io/v2/tasks/{taskId}/run")
.header("anchor-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"input_params\": {\n \"File Name\": \"invoice-2026-02.pdf\",\n \"Operation\": \"extract_text\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anchorbrowser.io/v2/tasks/{taskId}/run")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["anchor-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"input_params\": {\n \"File Name\": \"invoice-2026-02.pdf\",\n \"Operation\": \"extract_text\"\n }\n}"
response = http.request(request)
puts response.read_body{
"run_id": "<string>",
"status": "queued",
"result": {},
"error": "<string>",
"session_id": "<string>"
}{
"error": {
"code": 123,
"message": "<string>"
}
}{
"error": {
"code": 123,
"message": "<string>"
}
}Authorizations
API key for your Anchor Browser account, sent as the anchor-api-key header on every
request. Create one at app.anchorbrowser.io (API Access),
or obtain one programmatically via the unauthenticated agent-access flow
(POST /v1/agent-access).
Path Parameters
The ID of the task to run
Body
Key-value pairs of input parameters for the task
Show child attributes
Show child attributes
Optional identity ID to use for the task
Optional session ID to run the task in
Whether to clean up sessions after execution (default: true)
When true (default), skip profile validation for active identities and reuse the saved
browser profile. Set to false to validate the profile and re-authenticate if it is no
longer signed in. Pending identities still authenticate on first use.
Wait for the task to complete before returning. Defaults to false.
Response
Task run started successfully
Was this page helpful?

