curl --request POST \
--url https://api.anchorbrowser.io/v1/sessions \
--header 'Content-Type: application/json' \
--header 'anchor-api-key: <api-key>' \
--data '{}'import requests
url = "https://api.anchorbrowser.io/v1/sessions"
payload = {}
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({})
};
fetch('https://api.anchorbrowser.io/v1/sessions', 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/sessions",
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([
]),
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/sessions"
payload := strings.NewReader("{}")
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/sessions")
.header("anchor-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anchorbrowser.io/v1/sessions")
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 = "{}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"cdp_url": "<string>",
"live_view_url": "<string>"
}
}{
"error": {
"code": 400,
"message": "CAPTCHA solver requires proxy to be active."
}
}{
"error": {
"code": 123,
"message": "<string>"
}
}{
"error": {
"code": 429,
"message": "Session creation rate limit exceeded."
}
}Start Browser Session
Allocates a new browser session for the user, with optional configurations for ad-blocking, captcha solving, proxy usage, and idle timeout.
curl --request POST \
--url https://api.anchorbrowser.io/v1/sessions \
--header 'Content-Type: application/json' \
--header 'anchor-api-key: <api-key>' \
--data '{}'import requests
url = "https://api.anchorbrowser.io/v1/sessions"
payload = {}
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({})
};
fetch('https://api.anchorbrowser.io/v1/sessions', 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/sessions",
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([
]),
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/sessions"
payload := strings.NewReader("{}")
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/sessions")
.header("anchor-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anchorbrowser.io/v1/sessions")
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 = "{}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"cdp_url": "<string>",
"live_view_url": "<string>"
}
}{
"error": {
"code": 400,
"message": "CAPTCHA solver requires proxy to be active."
}
}{
"error": {
"code": 123,
"message": "<string>"
}
}{
"error": {
"code": 429,
"message": "Session creation rate limit exceeded."
}
}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).
Body
Session-related configurations.
Show child attributes
Show child attributes
Browser-specific configurations.
Show child attributes
Show child attributes
Array of integrations to load in the browser session. Integrations must be previously created using the Integrations API.
Show child attributes
Show child attributes
[
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"type": "1PASSWORD",
"configuration": { "load_mode": "all" }
}
]
Activates an authenticated session.
Show child attributes
Show child attributes
[
{
"id": "123e4567-e89b-12d3-a456-426614174000"
}
]
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.
Run identity authentication in the background and return the session immediately.
Response
Successfully returned a browser object
Show child attributes
Show child attributes
Was this page helpful?

