Antwortform vorher angegeben
Wissen Sie, ob die Engine analysierte Ergebnisse oder eine Quelle SERP Nutzlast zurückgibt, bevor Sie den Verbraucher entwerfen.
SERP-API
Erhalten Sie Google- und Bing-Ergebnisse als geparstes JSON. Erfassen Sie DuckDuckGo- und Yandex-SERP-HTML in JSON-Hüllen mit Such- und Standortoptionen.
Daten ohne Scraper durchsuchen
Wissen Sie, ob die Engine analysierte Ergebnisse oder eine Quelle SERP Nutzlast zurückgibt, bevor Sie den Verbraucher entwerfen.
Behalten Sie die Eingabe von Motor, Abfrage, Lokal, Sprache, Gerät, vertikal und Paginierung neben jeder Beobachtung.
WebScrapingAPI führt den unterstützten Such-Abruf-Pfad und führt eine dokumentierte Reaktionsbearbeitung durch.
Bei analysierten Endpunkten erscheinen optionale Ergebnis-Sammlungen nur, wenn die zurückgegebene SERP sie ausstellt; Abwesenheit ist nicht automatisch ein Sammelfehler.
Bewahren Sie den Fingerabdruck der Anfrage mit gespeicherten Ergebnissen, damit die Vergleiche gleich bleiben.
Dokumentierte Abdeckung
Jeder Motor hat seine eigenen Parameter und Antwortform. Wählen Sie zunächst den Endpunkt aus und validieren Sie dann die erforderlichen Ergebnistypen mit repräsentativen Abfragen.
Google Search unterstützt dokumentierte Web-, Bild-, Video-, Nachrichten-, Einkaufs- und Arbeitsplatzkontrollen.
googlegoogle_asyncgoogle_mapsgoogle_flightsgoogle_maps_reviewsgoogle_reverse_imagegoogle_trendsgoogle_hotelsErhalten Sie dokumentierte JSON-Ergebnis-Sammlungen mit Markt-, Standort-, Sprache-, Safe-Search-, Offset- und Ergebniszählungs-Kontrollen.
Erhalt von Anfrage-Metadaten und der Quelle SERP HTML-Nutzkosten in einem JSON-Abschluss mit dokumentierter Region, Schnittstellensprache, sicheren Such, Zeitbereich und Geräte-Steuerung.
Erhalt von Anfrage-Metadaten und der Quelle SERP HTML-Nutzkost innerhalb eines JSON-Abschlusses mit dokumentierten Standort-, Sprache-, Gerät-, Seite- und Zeitbereichsteuerungen.
Abdeckungsgrenze: Ein Engine Name impliziert keine identischen Kontrollen oder Parsierung. Google und Bing dokumentieren JSON-Ergebniskollektionen; DuckDuckGo und Yandex dokumentieren einen JSON-Abschluss mit der Quelle SERP HTML-Nutzkost. Die aktuelle Endpunkt-Dokumentation bleibt die Produktionsquelle der Wahrheit.
Motor-aware Response
Geparste Sammlungen und Quell-Payloads erfordern unterschiedliche Consumer. Wählen Sie zuerst die Engine, validieren Sie deren aktuelle Antwortstruktur und bewahren Sie den Anfragekontext neben der Ausgabe auf.
Metadaten für die Engine, die Abfrage und die Reaktionsstufe, die vom ausgewählten Endpunkt ausgesetzt sind.
search_parameters · generalTitel, Links, Beschreibungen, beobachtete Positionen und optionale Module, wenn dokumentiert und zurückgegeben.
organic[] · related[] · module?Die HTML-Nutzkostenquelle wird in der JSON-Abschließung zurückgegeben; Ihre Anwendung besitzt alle Extraktionen daraus.
search_results: "<html>…</html>"Fügen Sie bei der Eingabe der Ergebnisse in Ihr System Lauf-IDs, geforderte Zeitstempel, Abfragen-Gruppen-Identifikatoren und Schema-Versionen hinzu.
run_id · observed_at · schemaGoogle-Suche-Steuerelemente
Beginnen Sie mit der erforderlichen Abfrage. Fügen Sie nur den dokumentierten Kontext hinzu, der zur Nutzung und Vergleichbarkeit der Beobachtung erforderlich ist.
Verwenden Sie die Abfrage, eine unterstützte vertikale oder die dokumentierte Arbeitssuchkontrolle.
qtbmibpSetzen Sie unterstützte Domänen, kodierte Standorte, Sprache, Land und Gerät Werte.
domainuulehlgldeviceVerwenden Sie das dokumentierte Offset und die angeforderte Ergebniszahl für das benötigte Seitennormen.
startnumengine=googleVerwenden Sie den standard dokumentierten Weg, wenn die Anwendung auf die aktuelle Antwort warten muss.
Review synchronous parametersengine=google_asyncVerwenden Sie den dedizierten dokumentierten Workflow, wenn Google-Aufruf in der Warteschlange der Arbeitslast entspricht.
Review asynchronous workflowEine Anfrage stellen
Definieren Sie die Beobachtung
Wählen Sie die Maschine, die Abfrage und unterstützte Standort, Sprache, Gerät, Suchart und Paginierungsparameter.
Senden Sie die Anfrage
Rufen Sie mit Ihrem API-Schlüssel an den Serverseiten des SERP-Endpunkts. WebScrapingAPI unterstützt die Abrufung und das Bearbeiten von Antworten.
Validieren und verwenden
Überprüfen Sie den HTTP-Status und die motorspezifische Antwortform und behalten Sie dann den Kontext, der für Ranking, Extraction, Alarmierung oder Forschungsworkflows erforderlich ist.
Integration
Halten Sie den API-Schlüssel außerhalb des Client-Seiten-Codes, URL-Code-Suchanforderungen, setzen Sie eine Zeitfrist und überprüfen Sie die nicht erfolgreichen HTTP-Status, bevor Sie die Antwort analysieren.
Anfrage brief anfordern
Verwenden Sie dieselbe Maschine, Markt, Sprache, Gerät und Suchart, auf die Ihr Produkt in der Produktion angewiesen sein wird.
WSA_API_KEY bleibt serverseitigapi_key + engine + qgl + hl + devicecurl --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=running shoes" \
--data-urlencode "gl=us" \
--data-urlencode "hl=en" \
--data-urlencode "device=mobile"import os
import requests
response = requests.get(
"https://serpapi.webscrapingapi.com/v2",
params={
"api_key": os.environ["WSA_API_KEY"],
"engine": "google",
"q": "running shoes",
"gl": "us",
"hl": "en",
"device": "mobile",
},
timeout=120,
)
response.raise_for_status()
print(response.json())const parameters = new URLSearchParams({
api_key: process.env.WSA_API_KEY,
engine: "google",
q: "running 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("API status " + response.status);
console.log(await response.json());<?php
$parameters = http_build_query([
"api_key" => getenv("WSA_API_KEY"),
"engine" => "google",
"q" => "running shoes",
"gl" => "us",
"hl" => "en",
"device" => "mobile",
]);
$client = curl_init("https://serpapi.webscrapingapi.com/v2?" . $parameters);
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() {
parameters := url.Values{}
parameters.Add("api_key", os.Getenv("WSA_API_KEY"))
parameters.Add("engine", "google")
parameters.Add("q", "running shoes")
parameters.Add("gl", "us")
parameters.Add("hl", "en")
parameters.Add("device", "mobile")
client := &http.Client{Timeout: 120 * time.Second}
response, err := client.Get(
"https://serpapi.webscrapingapi.com/v2?" + parameters.Encode(),
)
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 SerpApiExample {
public static void main(String[] args) throws Exception {
String queryString = "api_key=" + URLEncoder.encode(
System.getenv("WSA_API_KEY"), StandardCharsets.UTF_8
) + "&engine=google&q=running%20shoes"
+ "&gl=us&hl=en&device=mobile";
var request = HttpRequest.newBuilder()
.uri(URI.create("https://serpapi.webscrapingapi.com/v2?" + queryString))
.timeout(Duration.ofSeconds(120))
.GET().build();
var response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() >= 400) {
throw new RuntimeException("API status " + response.statusCode());
}
System.out.println(response.body());
}
}
using System;
using System.Net;
var apiKey = WebUtility.UrlEncode(
Environment.GetEnvironmentVariable("WSA_API_KEY")
);
var requestUrl =
"https://serpapi.webscrapingapi.com/v2?api_key=" + apiKey +
"&engine=google&q=running%20shoes" +
"&gl=us&hl=en&device=mobile";
using var client = new HttpClient();
client.Timeout = TimeSpan.FromSeconds(120);
var response = await client.GetAsync(requestUrl);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());require "net/http"
require "uri"
uri = URI("https://serpapi.webscrapingapi.com/v2")
uri.query = URI.encode_www_form(
api_key: ENV.fetch("WSA_API_KEY"),
engine: "google",
q: "running shoes",
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)
raise "API status #{response.code}" unless response.is_a?(Net::HTTPSuccess)
puts response.bodyOperative Eigentumsform
WebScrapingAPI arbeitet
Ihr Team besitzt
Entscheidungsgrenze: SERP API does not define a universal rank, decide whether an absence is commercially meaningful, or operate your downstream analytics. Use eligible public results in line with the Servicevereinbarung für Kunden and applicable requirements.
Use Cases für
Die Produktauswahl
Ihr Team besitzt den Such-Client, die Zugriffslogik, das Parsieren, die Wartung und das Ergebnismodell.
WebScrapingAPI erhält eine zugelassenen öffentlichen Seiten, während Ihre Bewerbung die Auswertung besitzt.
Senden Sie eine unterstützte Suchanfrage und erhalten Sie geparsene Sammlungen, wenn dokumentiert, oder eine Quelle SERP-Nutzkost innerhalb eines JSON-Abschlusses.
Verwenden Sie eine browsergestützte REST-Anfrage mit dokumentierten Warte- und Interaktionsschritten, wenn motorspezifische SERP-Parameter nicht richtig passen.
WebScrapingAPI betreibt eine vereinbarte Abfrage, Kadenz, Schema, Qualitätsprozess und Bereitstellung.
Auswertung der Produktion
Die Formel ist ein Planungsmodell, nicht ein Abrechnungsversprechen.
FAQ
SERP-API ist ein Server-Endpunkt für das Senden einer Suchfrage mit dokumentiertem Kontext und die von dieser Engine unterstützte Antwortform zu empfangen. Google und Bing dokumentierten JSON-Ergebniskollektionen; DuckDuckGo und Yandex dokumentieren einen JSON-Abschluss mit Anfrage-Metadaten und der Quelle SERP HTML-Nutzkost.
Die Antwort hängt von der ausgewählten Engine ab. Google und Bing dokumentieren JSON-Metadaten plus analysierte Ergebnis-Sammlungen. DuckDuckGo und Yandex dokumentieren JSON-Metadaten plus die Quelle SERP HTML-Nutzkosten, die Ihre Anwendung gemäß ihrem eigenen Datenmodell speichern oder extrahieren kann.
Bei Motoren mit dokumentierten gesammelten Daten hängen die zurückgegebenen Module von der Maschine, der Abfrage, dem Standort, dem Gerät und dem Suchtyp ab. Organische Ergebnisse und endpoint-spezifische Module wie Anzeigen, lokale Elemente, Einkaufsmöglichkeiten, Medien oder verwandte Suchanfragen erscheinen nur, wenn die zurückgegebene Suchseite sie aufdeckt.
Verwenden Sie die für die ausgewählte Maschine dokumentierten Parameter. Google Search dokumentiert Domain, kodierte Standort, Schnittstellensprache, Land und Desktop-, Mobil- oder Tablet-Geräte-Steuerungen; andere Motoren verwenden ihre eigenen Markt- und Lokalisierungsparameter.
Die Dokumentation enthält eine eigene asynchrone Google-Search-Engine für den Abruf über eine Warteschlange. Behandeln Sie asynchrones Verhalten als endpunktspezifisch und richten Sie sich bei Übermittlung und Ergebnisabruf nach der aktuellen Workflow-Dokumentation.
WebScrapingAPI unterstützt die Bearbeitung von Antworten und analysiert Sammlungen, wo die Endpunktdokumentation sie zur Verfügung stellt. DuckDuckGo und Yandex geben derzeit die Quelle SERP HTML-Nutzkostung in einem JSON-Einveloppe zurück, so dass Ihr Team alle Extraktionen aus dieser Nutzlast sowie sein internes Datenmodell und nachgelagerten Entscheidungen besitzt.
Überprüfen Sie den HTTP-Status und den dokumentierten Fehlerkörper, verwenden Sie gegebenenfalls begrenzte Wiederversuche und unterscheiden Sie eine nicht erfolgreiche Anfrage von einer erfolgreichen Suchanmeldung, bei der eine optionale Ergebnisammlung fehlt oder leer ist.
Ihre erste Beobachtung
Prüfen Sie mit dem Google-Test mit 100 Anfragen Ihre Suchbegriffe, Standorte und Ausgabe, bevor Sie einen Monatstarif wählen.