Google Search
Perform a Google search and get structured results including organic results, related searches, knowledge graphs, and more.
Endpoint
/api/google-search-api/search
Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Parameters
string
Required
Search query
string
Optional
Location for results (currently ignored by backend)
string
Optional
Encoded location (deprecated; supported)
string
Optional
Google domain (e.g., google.de)
string
Optional
Country code (e.g., us, de, fr)
string
Optional
Restrict results to countries (e.g., countryUS|countryDE)
string
Optional
Interface language code
string
Optional
Restrict results to language (e.g., lang_en)
string
Optional
Google Customer ID for places
string
Optional
Knowledge graph map signature
string
Optional
Knowledge graph entity ID (e.g., /g/11b6gq7c8p)
string
Optional
Encrypted cached search parameters
string
Optional
Controls rendering layouts and expansions
string
Optional
Google-provided filter strings
string
Optional
Advanced search filters (dates, patents, etc.)
string
Optional
Simple time range filter (e.g., d, w, m, y)
string
Optional
Safe search mode (active, off)
integer
Optional
Exclude auto-corrected results (0 or 1)
integer
Optional
Enable/disable similar/omitted filters (0 or 1)
string
Optional
Search type (isch, vid, nws, lcl, shop, pts)
integer
Optional
Result offset for pagination (0-indexed)
integer
Optional
Page number for pagination (0-indexed)
integer
Optional
Results per page (1-100, may return fewer)
Request Examples
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://scrappa.co/api/search?query=best+restaurants+in+Berlin&hl=en&safe=off');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'x-api-key: YOUR_API_KEY_HERE',
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
<?php
use Illuminate\Support\Facades\Http;
$response = Http::withHeaders([
'x-api-key' => 'YOUR_API_KEY_HERE',
])->get('https://scrappa.co/api/search?query=best+restaurants+in+Berlin&hl=en&safe=off');
return $response->json();
fetch('https://scrappa.co/api/search?query=best+restaurants+in+Berlin&hl=en&safe=off', {
headers: {
'x-api-key': 'YOUR_API_KEY_HERE'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
const axios = require('axios');
axios.get('https://scrappa.co/api/search?query=best+restaurants+in+Berlin&hl=en&safe=off', {
headers: {
'x-api-key': 'YOUR_API_KEY_HERE'
}
})
.then(response => console.log(response.data))
.catch(error => console.error('Error:', error));
import requests
headers = {
'x-api-key': 'YOUR_API_KEY_HERE'
}
response = requests.get('https://scrappa.co/api/search?query=best+restaurants+in+Berlin&hl=en&safe=off', headers=headers)
print(response.json())
require 'net/http'
require 'uri'
require 'json'
uri = URI.parse('https://scrappa.co/api/search?query=best+restaurants+in+Berlin&hl=en&safe=off')
request = Net::HTTP::Get.new(uri)
request['x-api-key'] = 'YOUR_API_KEY_HERE'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(request)
end
puts JSON.parse(response.body)
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
client := &http.Client{}
req, _ := http.NewRequest("GET", "https://scrappa.co/api/search?query=best+restaurants+in+Berlin&hl=en&safe=off", nil)
req.Header.Set("x-api-key", "YOUR_API_KEY_HERE")
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
curl -X GET 'https://scrappa.co/api/search?query=best+restaurants+in+Berlin&hl=en&safe=off' \
-H 'x-api-key: YOUR_API_KEY_HERE'
Response Schema
{
"organic_results": [],
"search_information": [],
"related_searches": []
}