List Account Types
curl --request GET \
--url https://api.lobstr.io/v1/account_types \
--header 'Authorization: <authorization>'import requests
url = "https://api.lobstr.io/v1/account_types"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.lobstr.io/v1/account_types', 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.lobstr.io/v1/account_types",
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: <authorization>"
],
]);
$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.lobstr.io/v1/account_types"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
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.lobstr.io/v1/account_types")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lobstr.io/v1/account_types")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_bodyAccount
List Account Types
Retrieve available platform account types and their authentication requirements
GET
/
v1
/
account_types
List Account Types
curl --request GET \
--url https://api.lobstr.io/v1/account_types \
--header 'Authorization: <authorization>'import requests
url = "https://api.lobstr.io/v1/account_types"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.lobstr.io/v1/account_types', 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.lobstr.io/v1/account_types",
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: <authorization>"
],
]);
$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.lobstr.io/v1/account_types"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
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.lobstr.io/v1/account_types")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lobstr.io/v1/account_types")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_bodySome crawlers require user authentication (like Facebook, LinkedIn) through cookies or session tokens. The
account_type object describes the required credentials for such modules.
Account Type Fields
| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier of the account type |
| name | string | The technical name of the account type (e.g., facebook-sync) |
| domain | string | Name of the platform or website this account type connects to (e.g., Facebook) |
| baseurl | string | The base URL for the platform’s login or data-fetching endpoints |
| cookies | array | A list of cookie names required for authentication. Some cookies may be marked as required or optional |
Notes
- If the
cookiesarray is empty, it means all cookies from the user session are required for authentication. - Required cookies must be provided for the crawler to work. Missing cookies will result in authentication failure.
For implementation, always verify the required cookies in the cookies array when preparing your account object for a run.
Account Limits
Some account types include aparams object that defines limits or batch configurations for the crawler when authenticated. These values help control usage and message sending.
Account Limit Parameters
| Parameter | Type | Description |
|---|---|---|
| [attribute] | object | Represents the daily limit for a specific attribute (e.g., messages, profiles, searches) |
| batch | object | (Optional) Defines the maximum number of actions per launch based on the attribute (e.g., messages, profiles) |
| batch_hours | object | (Optional) Defines the delay in hours between batch launches during the day |
Headers
string
required
Your API authentication token. Value:
Token YOUR_API_KEYUse this endpoint to discover which platforms support authenticated scraping and what credentials they require.
Account types with empty cookies arrays require all session cookies. Use browser dev tools to extract the full cookie set.
Pay attention to the params object for rate limits. Exceeding these limits may result in account suspension on the target platform.
The batch and batch_hours parameters help you avoid triggering anti-bot measures by spacing out requests throughout the day.
Code Examples
curl -X GET "https://api.lobstr.io/v1/account_types" \
-H "Authorization: Token YOUR_API_KEY"
import requests
url = "https://api.lobstr.io/v1/account_types"
headers = {
"Authorization": "Token YOUR_API_KEY"
}
response = requests.get(url, headers=headers)
data = response.json()
print(f"Available account types: {data['total_results']}\n")
# Display account types and their required cookies
for account_type in data['data']:
print(f"Platform: {account_type['domain']}")
print(f" Type: {account_type['name']}")
print(f" Base URL: {account_type['baseurl']}")
if account_type['cookies']:
cookie_names = [c['name'] for c in account_type['cookies']]
print(f" Required cookies: {', '.join(cookie_names)}")
else:
print(" Required cookies: All session cookies")
if account_type['params']:
print(f" Has rate limits: Yes")
print()
Response
200
{
"total_results": 4,
"limit": 50,
"page": 1,
"total_pages": 1,
"result_from": 1,
"result_to": 5,
"data": [
{
"id": "16f5b7f91e8fc533eab88be973273a02",
"object": "account_type",
"name": "facebook-sync",
"icon": "<base64 image data>",
"domain": "Facebook",
"params": {},
"baseurl": "https://www.facebook.com",
"cookies": [
{"name": "c_user", "required": true},
{"name": "xs", "required": true}
]
},
{
"id": "cf67cafe03776e796f02a29f29ab2866",
"object": "account_type",
"name": "sales-nav-sync",
"icon": "<base64 image data>",
"domain": "Sales Navigator",
"params": {
"batch": {
"max": 20,
"default": 20,
"attribute": "profiles",
"description": "Number of profiles visited per launch"
},
"profiles": {
"max": 150,
"default": 150,
"description": "Maximum number of profile requests per day"
},
"searches": {
"max": 200,
"default": 200,
"description": "Maximum number of searches per day"
},
"batch_hours": {
"max": 2,
"default": 2,
"description": "Hours between each launch during a day"
}
},
"baseurl": "https://www.linkedin.com",
"cookies": [
{"name": "li_at", "required": true},
{"name": "JSESSIONID", "required": true},
{"name": "li_a", "required": true}
]
},
{
"id": "9853173fc00a940a33d7a420c176ad3b",
"object": "account_type",
"name": "twitter-sync",
"icon": "<base64 image data>",
"domain": "Twitter",
"params": {},
"baseurl": "https://x.com",
"cookies": [
{"name": "auth_token", "required": true},
{"name": "ct0", "required": true}
]
}
],
"next": null,
"previous": null
}
⌘I