SERP-API · Google Suche
Google Search API für strukturierte, kontextbezogene SERP-Daten.
Senden Sie eine Google-Abfrage mit dem Ort, Gerät, Suchfläche und Ergebnisfenster, das die Beobachtung definiert. Empfangen Sie den dokumentierten Anfrage-Kontext und analysierten JSON-Ergebnis-Sammlungen, die Ihre Server-Seite-Anwendung bewerten kann.
GET /v2 · engine=google· Serverseitige Verwendung ·Besprechen Sie Ihren Suchdaten-Workflow
- AbfragespezifischJede Antwort beginnt mit.
q - KontextuellLand, Sprache, Standort, Gerät
- OberflächenbewusstWeb, Bilder, Videos, Nachrichten, Einkaufen, Jobs
- Parsed OutputJSON-Ergebnissammlungen und Metadaten
Wie wählt man einen Trail-Schuh?
Beste Trail Schuhe
G ⌕
domain google
.com gl / hl us / en device mobile start / num 0 / 10
From query to usable objects
Behalten Sie den Google-Suchkontext an den Ergebnissen fest.
Eine nützliche SERP-Beobachtung ist mehr als eine Liste von Links. Definieren Sie die Suchbedingungen vor und halten Sie sie mit der analysierten Antwort, so dass nachgelagerte Vergleiche interpretierbar bleiben.
01 · definieren
Erstellen eines präzisen Anforderungsfingerabdrucks
Beschreiben Sie die Abfrage, die Google-Domain, den kodierten Standort, die Schnittstellensprache, das Land, das Gerät, die Oberfläche und das Ergebnisfenster, das vom Workflow verlangt wird.
02 · verbrauchen
Arbeiten mit analysierten Sammlungen
Lesen Sie dokumentierte Metadaten und Ergebnissearrays, anstatt Ihre Anwendung mit dem Präsentationsmarken einer Suchseite zu verbinden.
03 · interpretieren
Modell Optionalität ehrlich
Die Anwesenheit von Suchmodulen ist je nach dem Kontext der Anfrage und der für diese Beobachtung zurückgegebenen Google-Oberfläche unterschiedlich.
04 · Vergleichen
Gleichwertigkeitsanalyse möglich halten
Speichern Sie den Anfrage-Kontext neben den Ergebnissen, bevor Sie Positionen, Änderungen, Verlegerdeckung oder produktspezifische Signale berechnen.
- 01
QueryBeste Trail Schuhe
- 02
DomainGoogle.com
- 03
LageUS · kodierter Ort
- 04
Spracheen
- 05
PräsentationMobil · Web
- 06
Fensterstart 0 · num 10
- 07
OutputMetadaten + Sammlungen
Dokumentierte Google-Oberflächen
Wählen Sie die Suchoberfläche vor dem Design des Verbrauchers.
Regelmäßige Webergebnisse verwenden die Google-Engine ohne einen vertikalen Auswählger.
Standardoberfläche
Websuche
Sendengine=googleund die erforderlicheq. LeavetbmFür normale Google-Suchergebnisse nicht festgelegt.
organic[] + zurückgegebene Module
Visuelle Entdeckung
Bilder
Setzen Sie den dokumentierten vertikalen Selektor auf.tbm=isch.
Watch intent
Videos
Setzen Sie den dokumentierten vertikalen Selektor auf.tbm=vid.
Aktuelle Abdeckung
News
Setzen Sie den dokumentierten vertikalen Selektor auf.tbm=nws.
Produktentdeckung
Einkaufen
Setzen Sie den dokumentierten vertikalen Selektor auf.tbm=shop.
Rollenentdeckung
Jobs
Verwenden des Werts für dokumentierte Jobsibp=htl;jobs.
Implementierung Quelle der Wahrheit
Validieren Sie Eingaben und zurückgegebene Module gegen dieGoogle Search API-DokumentationMit repräsentativen Abfragen aus Ihrem vorgesehenen Workflow.
Anforderung von Steuerelementen
Machen Sie jede Google-Beobachtung explizit und reproduzierbar.
Beginnen Sie mit dem erforderlichen Abfragenparameter. Fügen Sie nur dokumentierte optionelle Kontrollen hinzu, wenn der Workflow eine bestimmte Oberfläche, Präsentation, Lokalisierung oder Ergebnisfenster benötigt.
Erforderliche Abfrage *
q
Die Schlüsselwörter, nach denen bei Google gesucht werden soll.
Zeichenfolge · erforderlich
Suchoberfläche
tbm ibp
tbmWählt dokumentierte Bild-, Video-, Nachrichten- oder Shopping-Vertikalen aus.ibpUnterstützt den dokumentierten Jobsuchewert.
String · optional
Präsentation
device
Wählen Sie eine unterstützte Desktop-, Mobil- oder Tablet-Suchpräsentation aus.
String · optional
Google Host
domain
Wählen Sie die für die Suche verwendete Google-Domain aus.
String · optional
Codierte Position
uule
Übergeben Sie einen Google-codierten Standort für den Suchkontext.
String · optional
Sprache und Land
hl gl
hlsetzt die Sprache der Oberfläche;glGibt den Ländercode an, der zur Lokalisierung der Suche verwendet wird.
String · optional
Ergebnisfenster
start num
startist das Ergebnis, das zu überspringen ist;numDie Anzahl der Ergebnisse auf jeder Seite wird abgefragt.
Ganzzahl · optional
Illustrative RequestGET /v2?engine=google&api_key=…&q=best%20trail%20shoes&domain=google.com&gl=us&hl=en&device=mobile&start=0&num=10
Analysierte Google-Antwort
Entwurf um stabile Bedeutungen und bedingte Module.
Die dokumentierte Antwort enthält Suchmetadaten und geparserte JSON-Ergebnis-Sammlungen. Die in einer bestimmten Antwort vorhandenen Blöcke hängen von der Abfrage, dem Ort, dem Gerät und der Suchvertikel ab.
01 · context
general
Suchmaschine, Ergebniszahl, Sprache, Standort, Präsentation, Suchtyp, Seitebezeichnung und Zeitstempelfelder, die durch das dokumentierte Antwortbeispiel angezeigt werden.
02 · request trace
input
Bitte um Informationen wie die ursprüngliche URL und die Felder des Benutzer-Agentes, die im dokumentierten Antwortbeispiel angezeigt werden.
03 · discovery paths
navigation
Zurückgegebene Navigationsbeiträge können andere Google-Sucheroberflächen für die Abfrage identifizieren.
04 · parsed results
organic[]
Dokumentierte organische Objekte umfassen Felder wie Link, Display Link, Titel, Beschreibung, Rang und globale Rang bei Rückgabe.
response.jsonillustrative
{
"general": {
"search_engine": "google",
"language": "en",
"location": "United States",
"mobile": true
},
"organic": [
{
"rank": 1,
"title": "Trail footwear guide",
"link": "https://example.org/guide"
}
],
"navigation": []
}Optionalitätsregel
Die Ergebnisse sind optional. Ein fehlender Block unterscheidet sich von einer erfolglosen HTTP-Anfrage, und eine leere Sammlung sollte im genauen Anfrage-Kontext interpretiert werdennicht als universelle Abwesenheit.
Eine kontextbezogene Anfrage
Wechseln Sie in drei Schritten von Suchabsicht zu validiertem JSON.
Ihre Anwendung definiert die Beobachtung und verbraucht die Antwort. WebScrapingAPI betreibt den dokumentierten Google-Suche-Abruf und das Parsieren des Weges zwischen ihnen.
- 01
Die Beobachtung einrahmen
Wählen Sie die Abfrage, die Suchfläche, die Google-Domain, den kodierten Standort, die Sprache, das Land, das Gerät und das von der Entscheidung erforderliche Seitenfenster aus.
- 02
Rufen Sie den serverseitigen Endpunkt auf
Senden Sie eine GET-Anfrage an.
https://serpapi.webscrapingapi.com/v2withapi_key,engine=google, undq. - 03
Vor Gebrauch validieren
Überprüfen Sie das HTTP-Ergebnis, analysieren Sie JSON, lesen Sie die Sammlungen, die Ihr Workflow benötigt, und speichern Sie den Anfrage-Kontext mit gespeicherten Ergebnissen.
Synchrone Anfrage
engine=google
Verwenden Sie den Standardweg, wenn die Anwendung auf die aktuelle Google-Antwort warten muss.
Queued Retrieval
engine=google_async
Übermitteln Sie eine Google-Suche und holen Sie die fertige SERP-Nutzkosten später über die Snapshot API ab.
Integration
Beginnen Sie mit einer begrenzten, fehlerbehafteten Google-Anfrage.
Halten Sie den API-Schlüssel in der Server-Seite-Konfiguration, kodieren Sie die Abfragewerte, setzen Sie eine explizite Zeitfrist und stellen Sie erfolglose HTTP-Ergebnisse vor der Analyse der Antwort auf.
Vertrag anfordern
Testen Sie den Kontext, den Ihr Produkt verwenden wird.
Die Beispiele senden die gleiche repräsentative Google-Webanfrage mit US-Englisch-Mobilkontext.
- Endpunkt
https://serpapi.webscrapingapi.com/v2- Erforderlich
api_key+engine=google+q- Kontext
gl=us+hl=en+device=mobile- Boundary
- 120-Sekunden-Client-Timeout und explizite HTTP-Fehlerbehandlung
: "${WSA_API_KEY:?WSA_API_KEY is required}"
curl --get --fail-with-body --max-time 120 \
"https://serpapi.webscrapingapi.com/v2" \
--data-urlencode "api_key=$WSA_API_KEY" \
--data-urlencode "engine=google" \
--data-urlencode "q=best trail shoes" \
--data-urlencode "gl=us" \
--data-urlencode "hl=en" \
--data-urlencode "device=mobile"import os
import requests
api_key = os.environ.get("WSA_API_KEY")
if not api_key:
raise RuntimeError("WSA_API_KEY is required")
response = requests.get(
"https://serpapi.webscrapingapi.com/v2",
params={
"api_key": api_key,
"engine": "google",
"q": "best trail shoes",
"gl": "us",
"hl": "en",
"device": "mobile",
},
timeout=120,
)
response.raise_for_status()
print(response.json())const apiKey = process.env.WSA_API_KEY;
if (!apiKey) throw new Error("WSA_API_KEY is required");
const parameters = new URLSearchParams({
"api_key": apiKey,
"engine": "google",
"q": "best trail shoes",
"gl": "us",
"hl": "en",
"device": "mobile",
});
const response = await fetch(
"https://serpapi.webscrapingapi.com/v2?" + parameters,
{ signal: AbortSignal.timeout(120_000) }
);
if (!response.ok) {
throw new Error("Google Search API status " + response.status);
}
console.log(await response.json());<?php
$apiKey = getenv("WSA_API_KEY");
if ($apiKey === false || $apiKey === "") {
throw new RuntimeException("WSA_API_KEY is required");
}
$endpoint = "https://serpapi.webscrapingapi.com/v2"
. "?engine=google"
. "&api_key=" . rawurlencode($apiKey)
. "&q=" . rawurlencode("best trail shoes")
. "&gl=us&hl=en&device=mobile";
$client = curl_init($endpoint);
curl_setopt_array($client, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 120,
]);
$body = curl_exec($client);
$status = curl_getinfo($client, CURLINFO_RESPONSE_CODE);
$error = curl_error($client);
curl_close($client);
if ($body === false) throw new RuntimeException($error);
if ($status >= 400) throw new RuntimeException("API status " . $status);
echo $body;package main
import (
"fmt"
"io"
"net/http"
"net/url"
"os"
"time"
)
func main() {
apiKey := os.Getenv("WSA_API_KEY")
if apiKey == "" { panic("WSA_API_KEY is required") }
endpoint := "https://serpapi.webscrapingapi.com/v2?engine=google" +
"&api_key=" + url.QueryEscape(apiKey) +
"&q=" + url.QueryEscape("best trail shoes") +
"&gl=us&hl=en&device=mobile"
client := &http.Client{Timeout: 120 * time.Second}
response, err := client.Get(endpoint)
if err != nil { panic(err) }
defer response.Body.Close()
if response.StatusCode >= 400 {
panic(fmt.Sprintf("API status %d", response.StatusCode))
}
body, err := io.ReadAll(response.Body)
if err != nil { panic(err) }
fmt.Println(string(body))
}import java.net.URI;
import java.net.URLEncoder;
import java.net.http.*;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
public final class GoogleSearchApiExample {
public static void main(String[] args) throws Exception {
String apiKey = System.getenv("WSA_API_KEY");
if (apiKey == null || apiKey.isBlank()) {
throw new IllegalStateException("WSA_API_KEY is required");
}
String endpoint = "https://serpapi.webscrapingapi.com/v2"
+ "?engine=google"
+ "&api_key=" + URLEncoder.encode(
apiKey, StandardCharsets.UTF_8)
+ "&q=" + URLEncoder.encode(
"best trail shoes", StandardCharsets.UTF_8)
+ "&gl=us&hl=en&device=mobile";
var request = HttpRequest.newBuilder(URI.create(endpoint))
.timeout(Duration.ofSeconds(120))
.GET().build();
var response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() < 200 || response.statusCode() >= 300) {
throw new RuntimeException("API status " + response.statusCode());
}
System.out.println(response.body());
}
}
using System;
using System.Net;
using System.Net.Http;
var rawApiKey = Environment.GetEnvironmentVariable("WSA_API_KEY");
if (string.IsNullOrWhiteSpace(rawApiKey)) {
throw new InvalidOperationException("WSA_API_KEY is required");
}
var apiKey = WebUtility.UrlEncode(rawApiKey);
var query = WebUtility.UrlEncode("best trail shoes");
var endpoint = "https://serpapi.webscrapingapi.com/v2"
+ "?engine=google&api_key=" + apiKey
+ "&q=" + query
+ "&gl=us&hl=en&device=mobile";
using var client = new HttpClient();
client.Timeout = TimeSpan.FromSeconds(120);
var response = await client.GetAsync(endpoint);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());require "net/http"
require "uri"
api_key = ENV["WSA_API_KEY"]
raise "WSA_API_KEY is required" if api_key.nil? || api_key.empty?
api_key = URI.encode_www_form_component(api_key)
query = URI.encode_www_form_component("best trail shoes")
uri = URI("https://serpapi.webscrapingapi.com/v2" +
"?engine=google&api_key=#{api_key}&q=#{query}" +
"&gl=us&hl=en&device=mobile")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.open_timeout = 10
http.read_timeout = 120
response = http.get(uri.request_uri)
unless response.is_a?(Net::HTTPSuccess)
raise "API status #{response.code}"
end
puts response.bodyWorkflows für Einkäufer
Verwandeln Sie vergleichbare Google-Beobachtungen in produktspezifische Signale.
Erst bewahren Sie den Fingerabdruck der Abfrage und wenden Sie dann die Speicherung, Berechnungen, Überprüfungsregeln und die Entscheidungslogik an, die dem Workflow angemessen sind.
SEO intelligence
Positions- und Modulüberwachung
Vergleichen Sie zurückgegebene organische Positionen und optionale Module über kontrollierte Abfragen, Lokalen, Geräte und Ergebnisfenster hinweg.
Suche Monitoring entdecken →
Brand visibility
Publisher- und Domainpräsenz
Beobachten Sie die zurückgegebenen Domains für genehmigte Abfragengruppen und halten Sie gleichzeitig die Regeln für Abwesenheit und Signifikanz in Ihrer Anwendung.
Markenschutz erkunden →
Market research
Themen- und Quellenlandschaften
Die Karte gab Verlage, Titel und Beschreibungen über vergleichbare Suchkontexte und Überprüfungszeiten hinweg zurück.
Marktforschung entdecken →
Search data contract
Historische SERP-Datensätze
Definition des Schemas, des Beobachtungszeitstempels, der Fingerabdrücke, der Validierungszustände und des Behaltungsmodells, die über die JSON-Anforderung hinaus erforderlich sind.
Suchergebnisdaten überprüfen →
Die Produktauswahl
Wählen Sie die Ebene aus, die zu Ihrem Eigentümermodell passt.
Google Search API ist die motorspezifische Option für eine dokumentierte Google-Anfrage und analysierte Antwort. Nebenprodukte verschieben das Abrufen, Extrahieren oder Lieferbesitz.
Network access
Proxies
Ihr Team besitzt den Such-Client, die Logik, das Parsieren, das Reaktionsmodell und die Wartung.
Infrastruktur
Page retrieval
Scraper-API
Bitte um eine zugelassenen öffentlichen Seiten, wenn Ihre Anwendung die Extraktion und ihr Nachlaufschema besitzt.
Webzugriff API
Current product
Google-Such-API
Senden Sie eine kontextuelle Google-Abfrage und konsumieren Sie dokumentierte Metadaten plus gesammelte Ergebniskollektionen.
Engine-spezifische SERP-Antwort
Interactive retrieval
Browser-API
Verwenden Sie eine browsergestützte REST-Anfrage mit dokumentierten Warte- und Interaktionsschritten, wenn die Google-Suchenparameter nicht richtig passen.
Webzugriff API
Operated delivery
Verwaltete Daten
Die Abfrage, die Kadenz, das Schema, der Qualitätsprozess und die Lieferung mit WebScrapingAPI vereinbaren.
Datenprogramm
Auswertung der Produktion
Bewerten Sie die vollständige Google-Kontextmatrix.
Verwenden Sie repräsentative Web- und vertikale Abfragen, target Lokalen, Geräte, Ergebnisfenster, optionalen Modulzustände, leere Sammlungen und erfolglose HTTP-Ergebnisse, bevor Sie einen Plan auswählen.
Workload-Modell
Schätzen Sie Beobachtungen – nicht nur Keywords.
Anschauliche Anfrage-Volumen-Formel
Abfragen × Contexts × Oberflächen × Windows × Frequenz
Das ist ein Planungsmodell. Die aktuellen Preis- und Planbedingungen bleiben die kommerzielle Quelle der Wahrheit.
Checkliste zur Bewertung
Regelmäßige Web- und erforderliche vertikale Abfragen
Google-Domain, codierter Standort, Sprache und Land
Desktop-, Mobil- und Tablet-Kontexte im Bereich
Paginierungsfenster und optionale Antwortmodule
HTTP-Fehler, Timeout und leere Sammlung Handhabung
FAQ
Google Search API Fragen für eine fundierte Bewertung.
Verwenden Sie diese Antworten zur Produktwahl und behandeln Sie die aktuelle Dokumentation und die repräsentativen Anfragen als die Implementierungsquelle der Wahrheit.
Was gibt die Google Search API zurück?
Google Search API gibt Anfrage-Kontext und geparsene JSON-Ergebnis-Sammlungen zurück. Organische Ergebnisse werden dokumentiert, während Navigations- und andere Reaktionsmodule von der Abfrage, dem Ort, dem Gerät und der angeforderten Suchfläche abhängen.
Welche Google-Suchparameter kann ich steuern?
Verwenden Sie q für die erforderliche Abfrage. Dokumentierte optionalen Kontrollen umfassen tbm, ibp, Gerät, Domain, uule, hl, gl, Start und num für Suchfläche, Präsentation, Lokalisierung und Paginierung.
Welche Google-Suchoberflächen werden dokumentiert?
Lassen Sie TBm für die regelmäßige Websuche unbestimmt oder verwenden Sie dokumentierte TBm-Werte für Bilder, Videos, Nachrichten und Shopping. Jobs verwendet die dokumentierte Ibp-Steuerung. Validieren Sie die zurückgegebene Form für die Oberflächen, die Ihre Anwendung benötigt.
Soll jede Antwort die gleichen Ergebnismodule enthalten?
Google-Ergebnismodule variieren je nach Abfrage, Ort, Gerät und Suchvertikel. Behandeln Sie die Reaktionsblöcke als optional, unterscheiden Sie eine fehlende Sammlung von einer nicht erfolgreichen HTTP-Anfrage und lesen Sie nur die Module, die Ihre Anwendung benötigt.
Wann sollte ich google_async verwenden?
Verwenden Sie die separat dokumentierte google_async-Engine, wenn Ihr Workflow eine Google-Suche einreichen und die fertige SERP-Nutzkost durch die Snapshot API abrufen soll. Die Standard-Google-Engine ist der auf dieser Seite gezeigte synchrone Anfrageweg.
Wie integriere ich die Google Search API sicher?
Halten Sie api_key in einer Server-Umgebungsvariable, URL-Code-Fragenwerte, setzen Sie einen expliziten Timeout und überprüfen Sie den HTTP-Status, bevor Sie JSON parsieren. Bewahren Sie den Anfrage-Kontext neben gespeicherten Beobachtungen.
Deine erste Google-Beobachtung
Testen Sie eine echte Abfrage im Kontext, von dem Ihr Produkt abhängt.
Beginnen Sie mit der synchronen Google-Engine, validieren Sie die zurückgegebenen Sammlungen und behalten Sie den Anfragefingerprint bei jeder Beobachtung.