PHP에서 Google을 직접 스크래핑하는 것은 다섯 줄짜리 cURL 스크립트처럼 보입니다 — IP 차단, CAPTCHA, 깨진 셀렉터가 시작되기 전까지는요. 저렴하고 안정적인 방법은 다음과 같습니다. Google 결과를 구조화된 JSON으로 반환하는 API 호출 한 번입니다.
PHP에서 직접 스크래핑이 비싸지는 이유
- IP 차단 — Google은 데이터센터 IP를 빠르게 차단하므로 순환 레지덴셜 프록시(보통 GB당 $3~5)를 임대해야 합니다.
- CAPTCHA — 대량 요청으로 발생하며, 해결에는 비용과 시간이 듭니다.
- 헤드리스 브라우저 — Google은 점점 JS 실행을 요구하므로, 이제 PHP에서 헤드리스 Chrome을 돌려야 합니다.
- 파서 부식 — Google의 HTML이 바뀌면 DOMDocument 셀렉터가 조용히 깨집니다.
이를 모두 합치면 “무료” 스크래핑은 저렴한 SERP API보다 프록시, 서버, 유지보수에서 더 많은 비용이 듭니다.
저렴한 방법: HTTP 호출 한 번
의존성 제로 — 네이티브 cURL로 JSON 본문을 POST하고 JSON을 받습니다:
<?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: " . getenv("SERP_CHEAP_API_KEY"),
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"q" => "best crm software",
"gl" => "us",
]),
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
foreach ($data["organic"] as $r) {
printf("%d. %s\n %s\n", $r["position"], $r["title"], $r["link"]);
}
이게 스크래퍼의 전부입니다. 프록시도, 헤드리스 브라우저도, 유지보수할 파서도 없습니다.
또는 공식 SDK 사용하기
composer require serpcheap/serpcheap
$client = new SerpCheap\Client(getenv("SERP_CHEAP_API_KEY"));
$res = $client->search(q: "best crm software", gl: "us");
Laravel 앱인가요? composer require serpcheap/laravel이 파사드와 설정을 연결해 줍니다. 전체 설명은 PHP 튜토리얼에서 확인하세요.
비용
| 쿼리당 가격 | |
|---|---|
| 신규 결과 | $0.0006 |
| 캐시 결과 | $0.0003 |
| 가입 시 무료 | 100회 검색 |
$0.75/1k부터 사용한 만큼 지불하며, 크레딧은 12개월간 유효합니다 — 프록시 대역폭만 따져도 그보다 저렴합니다. 가장 저렴한 SERP API 총정리에서 비교해 보세요.
사용하게 될 매개변수
gl— 결과 국가(us,de,br, …). 로컬 SEO를 참고하세요.hl— 인터페이스 언어.page— 1부터 시작하며, 각 페이지는 별도 요청입니다. 페이지네이션을 참고하세요.tbs— 최신 결과를 위한 시간 필터.
다음
serp.cheap 사용해 보기
cURL 스니펫을 복사하고 키를 추가하면 PHP에서 Google 스크래핑이 시작됩니다. 가입 시 100회 무료 검색 — 카드 불필요. 이후에는 $0.75/1k부터 사용한 만큼 지불하며, 크레딧은 12개월간 유효합니다.
- 무료 API 키 받기 →
- 카드 결제를 선호하시나요? serp.cheap는 RapidAPI(
$0.90/1k)와 Apify($1.50/1k)에서도 이용할 수 있습니다.