Google Maps Search API (Async) | Python
Scrape Google Maps search results into structured JSON/CSV with ScraperAPI async in Python. Retrieve local business data by query and geolocation for analytics.
This endpoint will retrieve maps data from a Google Maps search and transform it into usable JSON.
Single Query Request:
import requests
url = "https://async.scraperapi.com/structured/google/mapssearch"
headers = {
"Content-Type": "application/json"
}
data = {
"apiKey": API_KEY,
"query": QUERY,
"latitude": LATITUDE,
"longitude": LONGITUDE,
"callback": {
"type": "webhook",
"url": "YYYY"
}
}
response = requests.post(url, json=data, headers=headers)
print(response.text)
Multiple Query Request:
import requests
url = "https://async.scraperapi.com/structured/google/mapssearch"
headers = {
"Content-Type": "application/json"
}
data = {
"apiKey": API_KEY,
"jobs": [
{
"query": QUERY,
"latitude": LATITUDE,
"longitude": LONGITUDE,
"callback": {
"type": "webhook",
"url": "YYYY"
}
},
{
"query": QUERY,
"latitude": LATITUDE,
"longitude": LONGITUDE,
"callback": {
"type": "webhook",
"url": "YYYY"
}
}
]
}
response = requests.post(url, json=data, headers=headers)
print(response.text)
API_KEY
(required)
User's normal API Key
QUERY
(required)
Query string for example: vegan restaurant
LATITUDE
(required)
Latitude value, for example: 21.029738077531196
LONGITUDE
(required)
Longitude value, for example: 105.85222341863856
Sample Response
Single Query Request:
{
"id": "024559fd-4d71-419c-bda6-2915dda7667d",
"attempts": 0,
"status": "running",
"statusUrl": "https://async.scraperapi.com/jobs/024559fd-4d71-419c-bda6-2915dda7667d",
"query": "new york restaurants",
"latitude": 40.74229676764451,
"longitude": -73.98832638564608,
"supposedToRunAt": "2024-10-31T09:56:44.748Z"
}
Multiple Query Request:
{
"id": "0869fa1c-3a0d-4b06-891d-f2e58f5f05cf",
"attempts": 0,
"status": "running",
"statusUrl": "https://async.scraperapi.com/jobs/0869fa1c-3a0d-4b06-891d-f2e58f5f05cf",
"query": "new york restaurants",
"latitude": 40.74229676764451,
"longitude": -73.98832638564608
},
{
"id": "0f0ed634-e3a0-4b5e-991d-dc10a251c6d7",
"attempts": 0,
"status": "running",
"statusUrl": "https://async.scraperapi.com/jobs/0f0ed634-e3a0-4b5e-991d-dc10a251c6d7",
"query": "hanoi laundries",
"latitude": 21.028511,
"longitude": 105.804817
}
After the job(s) finish, you will find the result under the response
key in the response JSON object. The structure is the same as in the corresponding SYNC data endpoint.
Last updated
Was this helpful?