Startpage Search

Search the web using Startpage, a privacy-focused search engine that provides anonymous search results without tracking users.

Endpoint

GET /api/startpage/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

The search query string. Example: privacy tips

language string Optional

Language filter for search results. Values: english, deutsch, french, spanish, italian, portuguese, dutch, russian, chinese, japanese, arabic, all. Default: english

page integer Optional

Page number for pagination. Range: 0-10. Default: 0

safe_search boolean Optional

Safe search filter to exclude adult content. Values: true, false. Default: false

Request Examples

<?php

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://scrappa.co/api/startpage/search?query=privacy+tips');
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/startpage/search?query=privacy+tips');

return $response->json();
fetch('https://scrappa.co/api/startpage/search?query=privacy+tips', {
  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/startpage/search?query=privacy+tips', {
  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/startpage/search?query=privacy+tips', headers=headers)
print(response.json())
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse('https://scrappa.co/api/startpage/search?query=privacy+tips')
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/startpage/search?query=privacy+tips", 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/startpage/search?query=privacy+tips' \
  -H 'x-api-key: YOUR_API_KEY_HERE'

Response Schema

JSON Response 200 OK
{
    "data": [
        {
            "position": 1,
            "title": "Privacy Tips - Example",
            "description": "Example search result demonstrating the response format from Startpage.",
            "url": "https://example.com/privacy-tips",
            "domain": "example.com"
        }
    ],
    "people_also_search_for": [],
    "people_also_ask": [],
    "knowledge_graph": null,
    "see_results_about": null,
    "twitter_card": null,
    "total_results": 1,
    "source": "startpage"
}

Try It Live

Test this endpoint in our interactive playground with real data.

Open in Playground