Odpytuj Google z poziomu PHP i otrzymuj uporządkowane wyniki, korzystając z serp.cheap.
Natywny cURL (bez zależności)
<?php
$ch = curl_init("https://api.serp.cheap/v1/search");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ["X-API-Key: YOUR_KEY", "Content-Type: application/json"],
CURLOPT_POSTFIELDS => json_encode(["q" => "best electric cars 2026", "gl" => "us", "page" => 1]),
]);
$res = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($code !== 200) {
throw new RuntimeException("Search failed: HTTP $code");
}
$data = json_decode($res, true);
foreach ($data["organic"] as $r) {
printf("#%d %s — %s\n", $r["position"], $r["title"], $r["link"]);
}
Z Guzzle
<?php
use GuzzleHttp\Client;
$client = new Client(["base_uri" => "https://api.serp.cheap/"]);
$res = $client->post("v1/search", [
"headers" => ["X-API-Key" => "YOUR_KEY"],
"json" => ["q" => "serp api php", "gl" => "us"],
]);
$data = json_decode((string) $res->getBody(), true);
echo "cost: {$data['stats']['cost']} credits\n";
Paginacja
Zwiększaj wartość page (indeksowana od 1); każda strona to osobne, płatne żądanie. Przechowuj klucz API w konfiguracji po stronie serwera, nigdy w danych wyjściowych dla klienta.
Dalej
-
Jak korzystać z Google Search API (pełny przewodnik)