Advanced Search

The Google Maps Advanced Search API is a service that enables developers to perform detailed and highly specific searches for locations, places, and geographic data across Google's vast geolocation database. This API goes beyond basic queries, allowing for more refined, complex, and contextual searches.

Endpoint

GET /api/advanced_search

Parameters

query string Required

The search term that will be used by the API.

zoom string Optional

The level of detail displayed on the map.

lat string Optional

Latitude coordinate for the search center.

lon string Optional

Longitude coordinate for the search center.

limit string Optional

Maximum number of results to return.

Request Examples

<?php

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => "https://app.scrappa.co/api/maps/advance-search?q=coffee+shops&type=cafe",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "x-api-key: YOUR_API_KEY_HERE"
    ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
<?php

use Illuminate\Support\Facades\Http;

$response = Http::timeout(30)
    ->withHeaders(['x-api-key' => 'YOUR_API_KEY_HERE'])
    ->get('https://app.scrappa.co/api/maps/advance-search?q=coffee+shops&type=cafe');

if ($response->successful()) {
    echo $response->body();
} else {
    echo "Error: " . $response->status();
}
const options = {
    method: 'GET',
    headers: {
        'x-api-key': 'YOUR_API_KEY_HERE'
    }
};

fetch('https://app.scrappa.co/api/maps/advance-search?q=coffee+shops&type=cafe', options)
    .then(response => {
        if (!response.ok) {
            throw new Error(`HTTP error! status: ${response.status}`);
        }
        return response.text();
    })
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
require 'net/http'
require 'uri'

uri = URI.parse("https://app.scrappa.co/api/maps/advance-search?q=coffee+shops&type=cafe")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == 'https'

request = Net::HTTP::Get.new(uri.request_uri)
request['x-api-key'] = 'YOUR_API_KEY_HERE'

begin
    response = http.request(request)
    puts response.body
rescue => e
    puts "Error: #{e.message}"
end
import http.client
import json

conn = http.client.HTTPSConnection("app.scrappa.co")

headers = {
    'x-api-key': 'YOUR_API_KEY_HERE',
}

try:
    conn.request("GET", "/api/maps/advance-search?q=coffee+shops&type=cafe", headers=headers)
    res = conn.getresponse()
    data = res.read()
    print(data.decode("utf-8"))
except Exception as e:
    print(f"Error: {e}")
finally:
    conn.close()
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;

public class ApiExample {
    public static void main(String[] args) {
        OkHttpClient client = new OkHttpClient();

        Request request = new Request.Builder()
            .url("https://app.scrappa.co/api/maps/advance-search?q=coffee+shops&type=cafe")
        .addHeader("x-api-key", "YOUR_API_KEY_HERE")
            .build();

        try (Response response = client.newCall(request).execute()) {
            if (response.isSuccessful()) {
                System.out.println(response.body().string());
            } else {
                System.out.println("Error: " + response.code());
            }
        } catch (IOException e) {
            System.out.println("Error: " + e.getMessage());
        }
    }
}

Response Schema

[
    {
        "title": "JSON Results",
        "description": null,
        "json_sample": {
            "items": [
                {
                    "city": "Houston",
                    "name": "El Bolillo Bakery",
                    "type": "Bakery",
                    "rating": 4.6,
                    "business_id": "0x8640b88f75b395a3:0x8771a1c312c0bd48"
                }
            ]
        }
    }
]

Try It Live

Test this endpoint in our interactive playground with real data.

Open in Playground