Search (Light)

Lightweight web search endpoint. Returns structured JSON search results. Max 200 results per query (10 pages × 20 results). Supports query modifiers like filetype:pdf, site:reddit.com, or "exact phrase".

Endpoint

GET /api/google-search-light/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

query string Required

Search query with optional modifiers

num integer Optional

Number of results per page (1-20, default: 10)

page integer Optional

Page number for pagination (1-10, default: 1). Mutually exclusive with "start". Internally converted to a start offset after validation.

start integer Optional

Starting index for offset-based pagination (0-180). Mutually exclusive with "page".

hl string Optional

Interface language code (default: en)

safe string Optional

Safe search: off or active (default: off)

lr string Optional

Restrict results to language (e.g., lang_en)

gl string Optional

Country code for results (e.g., us, de)

cr string Optional

Restrict to country (e.g., countryUS)

dateRestrict string Optional

Date filter (e.g., d7 for last 7 days)

sort string Optional

Sort order (e.g., date)

Request Examples

<?php

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://scrappa.co/api/google-search-light/search?query=artificial+intelligence&num=10');
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/google-search-light/search?query=artificial+intelligence&num=10');

return $response->json();
fetch('https://scrappa.co/api/google-search-light/search?query=artificial+intelligence&num=10', {
  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/google-search-light/search?query=artificial+intelligence&num=10', {
  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/google-search-light/search?query=artificial+intelligence&num=10', headers=headers)
print(response.json())
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse('https://scrappa.co/api/google-search-light/search?query=artificial+intelligence&num=10')
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/google-search-light/search?query=artificial+intelligence&num=10", 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/google-search-light/search?query=artificial+intelligence&num=10' \
  -H 'x-api-key: YOUR_API_KEY_HERE'

Response Schema

JSON Response 200 OK
{
    "organic_results": [],
    "search_information": [],
    "pagination": [],
    "total_results": 0
}

Try It Live

Test this endpoint in our interactive playground with real data.

Open in Playground