Add Tasks
curl --request POST \
--url https://api.lobstr.io/v1/tasks \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>'import requests
url = "https://api.lobstr.io/v1/tasks"
headers = {
"Authorization": "<authorization>",
"Content-Type": "<content-type>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': '<content-type>'}
};
fetch('https://api.lobstr.io/v1/tasks', 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/tasks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$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/tasks"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "<content-type>")
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.lobstr.io/v1/tasks")
.header("Authorization", "<authorization>")
.header("Content-Type", "<content-type>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lobstr.io/v1/tasks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = '<content-type>'
response = http.request(request)
puts response.read_bodyGoogle Maps Reviews Scraper
Add Tasks
Add Google Maps place URLs to scrape reviews from
POST
/
v1
/
tasks
Add Tasks
curl --request POST \
--url https://api.lobstr.io/v1/tasks \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>'import requests
url = "https://api.lobstr.io/v1/tasks"
headers = {
"Authorization": "<authorization>",
"Content-Type": "<content-type>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': '<content-type>'}
};
fetch('https://api.lobstr.io/v1/tasks', 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/tasks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$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/tasks"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "<content-type>")
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.lobstr.io/v1/tasks")
.header("Authorization", "<authorization>")
.header("Content-Type", "<content-type>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lobstr.io/v1/tasks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = '<content-type>'
response = http.request(request)
puts response.read_bodyAdd Google Maps place URLs as tasks to your squid. The scraper will extract reviews from each place you provide.
You can use either the short CID format or the full Google Maps URL.
Headers
string
required
Your API authentication token. Value:
Token YOUR_API_KEYstring
required
Request body format. Value:
application/jsonSupported URL Formats
Short CID format:https://maps.google.com/?cid=1357935577401699828
Full Google Maps URL:
https://www.google.com/maps/place/Restaurant+Name/@48.8499542,2.3524796,17z/...
Both formats work - use whichever is easier for your workflow.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| squid | string | Yes | Hash of your squid configured with the google-maps-reviews-scraper crawler |
| tasks | array | Yes | Array of task objects, each containing a url field |
You can add up to 1000 tasks in a single request for bulk operations.
The CID (Customer ID) can be found in the Google Maps URL after
cid= or extracted from the place’s share link.Duplicate URLs are automatically detected and won’t be added twice.
Code Examples
curl -X POST "https://api.lobstr.io/v1/tasks" \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"squid": "b6ab0f03b02e472a8e2ab0b16b4fdd0f",
"tasks": [
{"url": "https://maps.google.com/?cid=1357935577401699828"},
{"url": "https://www.google.com/maps/place/La+Tour+d'\''Argent/@48.8499542,2.3524796,17z"}
]
}'
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.lobstr.io/v1"
headers = {"Authorization": f"Token {API_KEY}"}
# Add Google Maps place URLs to scrape reviews
response = requests.post(f"{BASE_URL}/tasks",
headers=headers,
json={
"squid": "b6ab0f03b02e472a8e2ab0b16b4fdd0f",
"tasks": [
{"url": "https://maps.google.com/?cid=1357935577401699828"},
{"url": "https://www.google.com/maps/place/La+Tour+d'Argent/@48.8499542,2.3524796,17z"}
]
}
)
data = response.json()
print(f"Added {len(data['tasks'])} tasks")
print(f"Duplicates skipped: {data['duplicated_count']}")
Response
200
{
"duplicated_count": 0,
"tasks": [
{
"id": "8c15009a391a79151873fe9451285e90",
"created_at": "2025-03-17T11:56:51.691986",
"is_active": true,
"params": {
"url": "https://maps.google.com/?cid=1357935577401699828"
},
"object": "task"
},
{
"id": "a6ed45088d82beef3d254679457b5eb6",
"created_at": "2025-03-17T11:56:51.692109",
"is_active": true,
"params": {
"url": "https://www.google.com/maps/place/La+Tour+d'Argent/@48.8499542,2.3524796,17z"
},
"object": "task"
}
]
}
⌘I