Einfache serverseitige Integration
Begin with api_key and a URL-encoded url. Add method, location, rendering, response, or asynchronous options only when the workload requires them.
Scraper-API
Senden Sie eine URL und erhalten Sie HTML, JSON oder ausgewählte Felder. Wir übernehmen Proxys, Wiederholungen und optionales JavaScript-Rendering für Ihre Anwendung.
Eine verwaltete Anfrage
Begin with api_key and a URL-encoded url. Add method, location, rendering, response, or asynchronous options only when the workload requires them.
WebScrapingAPI operates proxy routing, rotation, access-handling strategies, and internal target retries behind the API request.
Review managed featuresReturn the page body, a JSON envelope, a JSON DOM, customer-defined selected fields, or an explicit documented error state.
Review response formatsAutomatisierte Zugriffsfunktionen
Konfigureren Sie den Kontext, den Ihr Workflow benötigt. WebScrapingAPI betreibt die unterstützende Zugangsinfrastruktur und hält gleichzeitig die nicht erfolgreichen Zustände für Ihren Kunden sichtbar.
01
Der Dienst wählt und betreibt die Proxy-Route hinter jedem unterstützten Anforderungskontext.
02
Automatisierte Zugriffsstrategien und interne target Wiederversuche reduzieren die Infrastruktur, die Ihre Anwendung ausführen muss.
03
Validierung, Zugriff, Rate und Servicefehler bleiben explizit, damit Ihre Anwendung absichtlich mit nicht erfolgreichen Anfragen umgehen kann.
04
Set render_js=1 Wenn die target eine Client-Exekution vor der Rückgabe der Seiteantwort benötigt.
05
Bitte um ein dokumentiertes Land und unterstützten Stadt-, Staat- oder ASN-Kontext, wenn die Lage die Antwort beeinflusst.
06
Verwenden Sie unterstützte Methoden, einen optiven Körper, Zeitunterbrechung, asynchronen Abruf, JSON-Modus oder Extraktionsregeln.
Behalten Sie den Seite-Körper, wickeln Sie ihn mit Anfrage-Metadaten ein, führen Sie die Auswahlsysteme an der API-Grenze aus oder holen Sie ein Warteschlangergebnis später ab.
Verwenden Sie den Standard-Seitentext mit einem vorhandenen Parser.
Inspektionsorgan, target Überschriften, Anfangsstatus, Typ, Kosten und Metadaten.
Ausführen von Kunden-eigenen CSS- oder XPath-Selektoren für Text, HTML, Attribute, Tabellen oder eingebettet.
Übermitteln Sie die Arbeit asynchron und holen Sie die ausgefüllte Antwort mit ihrem Identifikator zurück.
Extraktionsgrenze:WebScrapingAPI führt die angegebenen Regeln aus. Ihr Team besitzt das Schema, die Auswahlverfahren, die Business-Feld-Validation und die Wartung der Quellenänderung. Wählen Sie Data-API oder Verwaltete Daten, wenn diese Verpflichtungen auf WebScrapingAPI verlagern sollen.
So funktioniert es
Angeben Sie den API-Schlüssel, target URL und nur den dokumentierten Kontext oder die Ausgabeoptionen, die die Arbeitslast benötigt.
Der Dienst validiert die Anfrage, betreibt Proxy-Routing, führt die Zugriffshandling und interne Wiederversuche durch und stellt JavaScript bei Anfrage dar.
Verwenden Sie den zurückgegebenen Seitenkörper, den JSON-Abschlag, ausgewählte Felder oder einen dokumentierten Fehler in Ihrer bestehenden Anwendung.
Integration für Entwickler
Halten Sie die API-Schlüssel-Serverseite, URL-Code der target, beginnen Sie mit einer grundlegenden Anfrage und fügen Sie Rendering, Geographie oder Extraktion nur hinzu, wenn die Arbeitslast dies erfordert.
01 · Integrationsbrief
Send api_key und eine URL-codierte url. Add render_js=1, geografischer Kontext, einem Reaktionsmodus oder Extraktionsregeln nur dann, wenn sie von den target und dem Abfluss nachgelagert erforderlich sind.
WSA_API_KEY server-sidecurl --get --fail-with-body --max-time 120 \
"https://api.webscrapingapi.com/v2" \
--data-urlencode "api_key=$WSA_API_KEY" \
--data-urlencode "url=https://example.com/public-page" \
--data-urlencode "json_response=1"import os
import requests
response = requests.get(
"https://api.webscrapingapi.com/v2",
params={
"api_key": os.environ["WSA_API_KEY"],
"url": "https://example.com/public-page",
"json_response": 1,
},
timeout=120,
)
response.raise_for_status()
print(response.json())const params = new URLSearchParams({
api_key: process.env.WSA_API_KEY,
url: "https://example.com/public-page",
json_response: "1",
});
const response = await fetch(
"https://api.webscrapingapi.com/v2?" + params,
{ signal: AbortSignal.timeout(120_000) }
);
if (!response.ok) throw new Error("API status " + response.status);
console.log(await response.json());<?php
$query = http_build_query([
"api_key" => getenv("WSA_API_KEY"),
"url" => "https://example.com/public-page",
"json_response" => 1,
]);
$client = curl_init("https://api.webscrapingapi.com/v2?" . $query);
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() {
params := url.Values{}
params.Add("api_key", os.Getenv("WSA_API_KEY"))
params.Add("url", "https://example.com/public-page")
params.Add("json_response", "1")
client := &http.Client{Timeout: 120 * time.Second}
response, err := client.Get(
"https://api.webscrapingapi.com/v2?" + params.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;
String query = "api_key=" + URLEncoder.encode(
System.getenv("WSA_API_KEY"), StandardCharsets.UTF_8
) + "&url=" + URLEncoder.encode(
"https://example.com/public-page", StandardCharsets.UTF_8
) + "&json_response=1";
var request = HttpRequest.newBuilder()
.uri(URI.create("https://api.webscrapingapi.com/v2?" + query))
.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.Net;
var apiKey = WebUtility.UrlEncode(
Environment.GetEnvironmentVariable("WSA_API_KEY")
);
var target = WebUtility.UrlEncode(
"https://example.com/public-page"
);
var requestUrl =
"https://api.webscrapingapi.com/v2?api_key=" + apiKey +
"&url=" + target + "&json_response=1";
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://api.webscrapingapi.com/v2")
uri.query = URI.encode_www_form(
api_key: ENV.fetch("WSA_API_KEY"),
url: "https://example.com/public-page",
json_response: 1
)
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
Ihr Team
Use the service only for eligible public webpages. Review source terms, applicable requirements, and the Servicevereinbarung für Kunden, then apply appropriate request, retention, and data-use policies.
Use Cases für
Die Produktauswahl
Sie betreiben den HTTP-Client, beantragen die Richtlinien, versuchen erneut, analysieren und speichern. WebScrapingAPI liefert den Netzwerkrout.
Geben Sie eine URL und Anfrageoptionen an. WebScrapingAPI führt die Abrufung durch und gibt den Seitenkörper oder den dokumentierten Ausgang zurück.
Senden Sie eine browsergestützte REST-Anfrage mit dokumentierten Wartezeiten, Interaktionen, Navigationsschritten und Ausgabesteuerungen.
Senden Sie Suchparameter und erhalten Sie strukturierte Ergebnisse von unterstützten Suchmaschinen.
Beurteilen Sie eine begrenzte mehrseitige Sammlung, wenn die Arbeitsstelle mehr verwandte Seiten als nur eine Anfrage umfasst.
Sie benötigen eine unterstützte Quelle, während WebScrapingAPI den Zugriff, target-spezifische Extraktion und Parser-Wartung betreibt.
Definition von Quellen, Schema, Kadenz, Qualität und Bestimmung, während WebScrapingAPI das vertraglich vertraglich gestellte Programm betreibt.
Preisorientierung
Self-Service-Evaluierung
Beginnen Sie mit dem HTTP-Pfad, dann testen Sie nur die Kontrollen, die Ihr Produktionsmix target erfordert.
FAQ
Scraper-API ist ein Server-Anforderung-Endpunkt, der eine zugelassenen öffentlichen Webseite abruft, während WebScrapingAPI die zugängliche Infrastruktur hinter der Anfrage betreibt. Ihre Anwendung liefert die URL und dokumentierte Optionen, dann erhält die angeforderte Seite Antwort.
Die Standardreaktion ist der abgerufene Seitenkörper. Dokumenterte Optionen können einen JSON-Umschlag, eine JSON DOM-Repräsentation, mit Extraktionsregeln ausgewählte Felder oder ein asynchrones Ergebnis zurückgeben, das Ihre Anwendung später abruft.
Ja. Setzen Sie render_js=1 auf, wenn eine Seite JavaScript-Ausführung auf Clientseite erfordert, bevor die Antwort zurückgegeben wird. Verwenden Sie Browser-API, wenn der Workflow eine dokumentierte Sequenz von Browserinteraktionen, Page-State-Waits, Klicks oder Navigationsschritten benötigt.
Scraper-API unterstützt GET-, POST-, PUT- und PATCH-Anfragen. Ein Anfragenkorpus ist enthalten, wenn die gewählte Methode und target-Workflow einen erfordern.
Dokumenterte Kontrollen umfassen Land und unterstützten Stadt, Staat oder ASN-Kontext. Die genaue Verfügbarkeit kann vom aktuellen Plan, der Geographie und der Route abhängen, also bestätigen Sie die Standorte, die von Ihrer Arbeitslast benötigt werden.
Ja. Kunden bereitgestellte CSS- oder XPath-Extraktionsregeln können ausgewählte Text-, HTML-Attribute, Tabellen, Listen oder eingebettetene Aufzeichnungen zurückgeben. Ihr Team besitzt die Selector- und Schema-, Validierungs- und Quelländerungs-Wartung für diese Regeln.
Ja. Schalten Sie eine Anfrage mit der dokumentierten asynchronen Option in der Warteschlange, speichern Sie den zurückgegebenen Identifikator und holen Sie das ausgefüllte Ergebnis später zurück, indem Sie diesen Identifikator als snapshot_id übergeben.
Überprüfen Sie den dokumentierten HTTP-Status und den Fehlerkörper, verwenden Sie gegebenenfalls begrenzte Wiederversuche und Rückschläge und unterscheiden Sie einen API-Fehler von Inhalten, die für Ihr Geschäftsschema vorhanden sind, aber unvollständig sind.
Ihre erste Anfrage
Testen Sie Ihre eigenen URLs kostenlos und wählen Sie anschließend einen Tarif nach Anfragevolumen und benötigten Optionen.