Create Task (Legacy)
curl --request POST \
--url https://api.anchorbrowser.io/v1/task \
--header 'Content-Type: application/json' \
--header 'anchor-api-key: <api-key>' \
--data '
{
"name": "web-scraper",
"language": "typescript"
}
'import requests
url = "https://api.anchorbrowser.io/v1/task"
payload = {
"name": "web-scraper",
"language": "typescript"
}
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({name: 'web-scraper', language: 'typescript'})
};
fetch('https://api.anchorbrowser.io/v1/task', 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/v1/task",
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([
'name' => 'web-scraper',
'language' => 'typescript'
]),
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/v1/task"
payload := strings.NewReader("{\n \"name\": \"web-scraper\",\n \"language\": \"typescript\"\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/v1/task")
.header("anchor-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"web-scraper\",\n \"language\": \"typescript\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anchorbrowser.io/v1/task")
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 \"name\": \"web-scraper\",\n \"language\": \"typescript\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"teamId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"latestVersion": "<string>",
"code": "<string>",
"language": "typescript",
"deleted": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"browserConfiguration": {
"initial_url": "<string>",
"tags": [
"production",
"scraping",
"customer-123"
],
"recording": {
"active": true
},
"proxy": {
"active": true,
"type": "anchor_proxy",
"country_code": "us",
"region": "<string>",
"city": "<string>"
},
"timeout": {
"max_duration": 123,
"idle_timeout": 123
},
"live_view": {
"read_only": true,
"one_time_url": true
}
}
}
}{
"error": {
"code": 123,
"message": "<string>"
}
}{
"error": {
"code": 123,
"message": "<string>"
}
}{
"error": {
"code": 123,
"message": "<string>"
}
}Tasks (Legacy)
Create Task (Legacy)
Creates a new task or updates an existing task with the same name. Tasks are reusable code snippets that can be executed in browser sessions. Tasks support versioning with draft and published versions.
If you are using the new Task Builder, see the non-deprecated Tasks endpoints in this API reference.
POST
/
v1
/
task
Create Task (Legacy)
curl --request POST \
--url https://api.anchorbrowser.io/v1/task \
--header 'Content-Type: application/json' \
--header 'anchor-api-key: <api-key>' \
--data '
{
"name": "web-scraper",
"language": "typescript"
}
'import requests
url = "https://api.anchorbrowser.io/v1/task"
payload = {
"name": "web-scraper",
"language": "typescript"
}
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({name: 'web-scraper', language: 'typescript'})
};
fetch('https://api.anchorbrowser.io/v1/task', 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/v1/task",
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([
'name' => 'web-scraper',
'language' => 'typescript'
]),
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/v1/task"
payload := strings.NewReader("{\n \"name\": \"web-scraper\",\n \"language\": \"typescript\"\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/v1/task")
.header("anchor-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"web-scraper\",\n \"language\": \"typescript\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anchorbrowser.io/v1/task")
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 \"name\": \"web-scraper\",\n \"language\": \"typescript\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"teamId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"latestVersion": "<string>",
"code": "<string>",
"language": "typescript",
"deleted": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"browserConfiguration": {
"initial_url": "<string>",
"tags": [
"production",
"scraping",
"customer-123"
],
"recording": {
"active": true
},
"proxy": {
"active": true,
"type": "anchor_proxy",
"country_code": "us",
"region": "<string>",
"city": "<string>"
},
"timeout": {
"max_duration": 123,
"idle_timeout": 123
},
"live_view": {
"read_only": true,
"one_time_url": true
}
}
}
}{
"error": {
"code": 123,
"message": "<string>"
}
}{
"error": {
"code": 123,
"message": "<string>"
}
}{
"error": {
"code": 123,
"message": "<string>"
}
}Authorizations
API key passed in the header
Body
application/json
Task name (letters, numbers, hyphens, and underscores only)
Required string length:
1 - 255Pattern:
^[a-zA-Z0-9_-]+$Programming language for the task
Available options:
typescript Base64 encoded task code (optional)
Pattern:
^[A-Za-z0-9+/]*={0,2}$Optional description of the task
Maximum string length:
1000Browser configuration for task execution
Show child attributes
Show child attributes
Response
Task created or updated successfully
Show child attributes
Show child attributes
Was this page helpful?
⌘I

