← 블로그로 돌아가기

Java에서 Google Search API 사용하기: 완전 튜토리얼 (2026)

Java에서 Google Search API 호출하기 — 실행 가능한 java.net.http 예제, JSON record, curl 테스트. 무료 검색 100회, $0.75/1k부터 사용한 만큼 지불.

1 분 소요

표준 라이브러리만으로 Java에서 Google에 쿼리하세요. serp.cheap을 사용합니다 — 또는 공식 Java SDK(Spring Boot 통합 포함)를 그대로 넣어도 됩니다. 어느 쪽이든 단순한 HTTP+JSON 엔드포인트입니다.

먼저 curl로 간단히 확인해 봅시다:

curl -X POST https://api.serp.cheap/v1/search \
  -H "X-API-Key: $SERP_CHEAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q":"best electric cars 2026","gl":"us"}'

전체 예제

파일 하나, Java 17+에서 실행 가능하며 요청에는 java.net.http, JSON에는 Jackson(com.fasterxml.jackson.core:jackson-databind)을 사용합니다. 먼저 SERP_CHEAP_API_KEY를 설정하세요.

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.List;

public class SerpSearch {
    static final ObjectMapper M = new ObjectMapper();

    @JsonIgnoreProperties(ignoreUnknown = true)
    record Organic(int position, String title, String link, String snippet) {}

    @JsonIgnoreProperties(ignoreUnknown = true)
    record SearchResponse(List<Organic> organic) {}

    public static void main(String[] args) throws Exception {
        String key = System.getenv("SERP_CHEAP_API_KEY");
        String body = M.writeValueAsString(new java.util.HashMap<>() {{
            put("q", "best electric cars 2026");
            put("gl", "us");
        }});

        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.serp.cheap/v1/search"))
            .header("X-API-Key", key)
            .header("Content-Type", "application/json")
            .POST(HttpRequest.BodyPublishers.ofString(body))
            .build();

        HttpResponse<String> res = HttpClient.newHttpClient()
            .send(req, HttpResponse.BodyHandlers.ofString());

        SearchResponse data = M.readValue(res.body(), SearchResponse.class);
        for (Organic r : data.organic()) {
            System.out.printf("%2d. %s%n    %s%n", r.position(), r.title(), r.link());
        }
    }
}

record는 JSON을 깔끔하게 매핑하며, @JsonIgnoreProperties(ignoreUnknown = true) 덕분에 응답에 새 필드가 생겨도 빌드가 깨지지 않습니다.

Spring Boot

Spring 앱에서는 동일한 호출을 RestClient(Spring 6.1+)를 사용해 @Service로 감싸면 됩니다:

@Service
public class SerpClient {
    private final RestClient http = RestClient.builder()
        .baseUrl("https://api.serp.cheap")
        .defaultHeader("X-API-Key", System.getenv("SERP_CHEAP_API_KEY"))
        .build();

    public SearchResponse search(String q, String gl) {
        return http.post().uri("/v1/search")
            .body(java.util.Map.of("q", q, "gl", gl))
            .retrieve()
            .body(SearchResponse.class);
    }
}

공식 Java SDK는 이 배선에 더해 재시도, 페이지네이션, 타입이 지정된 매개변수까지 Spring Boot 스타터로 제공하므로, SerpClient를 주입해서 바로 시작할 수 있습니다.

알아두면 좋은 매개변수

다음

serp.cheap 사용해 보기

위 파일을 복사하고 키를 추가하면 Java에서 실시간 Google 결과를 얻을 수 있습니다. 가입 시 무료 검색 100회 — 카드가 필요 없습니다. 이후에는 $0.75/1k부터 사용한 만큼 지불하며, 크레딧은 12개월간 유효합니다.

  • 무료 API 키 받기 →
  • 카드로 결제하는 것이 편하신가요? serp.cheap은 RapidAPI($0.90/1k)와 Apify($1.50/1k)에서도 이용할 수 있습니다.

Frequently asked questions

Java에서 Google Search API를 어떻게 호출하나요?+

내장된 java.net.http.HttpClient로 SERP API에 JSON 본문을 POST하고 응답을 매핑하면 됩니다. serp.cheap에서는 엔드포인트가 https://api.serp.cheap/v1/search 이며 X-API-Key 헤더를 사용합니다 — 외부 HTTP 라이브러리가 필요 없습니다.

서드파티 Java SDK가 필요한가요?+

아니요 — SERP API는 단순한 HTTP+JSON 엔드포인트이므로 java.net.http(Java 11+)와 아무 JSON 라이브러리(Jackson, Gson)만 있으면 충분합니다. 타입이 지정된 호출, 재시도, 페이지네이션을 바로 쓰고 싶다면 serp.cheap은 Spring Boot 통합이 포함된 공식 Java SDK도 제공합니다.

API 키 받기

직접 구매가 가장 저렴, 카드 또는 암호화폐로 결제, KYC 불필요. 또는 마켓플레이스 이용.