Consulte o Google a partir do Java usando apenas a biblioteca padrão, com o serp.cheap — ou use o SDK Java oficial (com integração Spring Boot incluída). De qualquer forma, é um endpoint HTTP+JSON simples.
Primeiro, um teste rápido com 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"}'
O exemplo completo
Um único arquivo, executável no Java 17+ com java.net.http para a requisição e Jackson para o JSON (com.fasterxml.jackson.core:jackson-databind). Defina SERP_CHEAP_API_KEY antes.
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());
}
}
}
Os records mapeiam o JSON de forma limpa, e @JsonIgnoreProperties(ignoreUnknown = true) garante que novos campos na resposta nunca quebrem o seu build.
Spring Boot
Numa aplicação Spring, encapsule a mesma chamada em um @Service usando RestClient (Spring 6.1+):
@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);
}
}
O SDK Java oficial já traz esse encanamento pronto — além de retries, paginação e parâmetros tipados — como um starter Spring Boot, então você injeta SerpClient e pronto.
Parâmetros que vale conhecer
gl— país dos resultados (us,de,br, …). Veja SEO local por país.hl— idioma da interface.page— começa em 1; cada página é uma requisição separada. Veja paginação.tbs— filtro de tempo (qdr:d= último dia). Veja a referência completa de parâmetros.
A seguir
Experimente o serp.cheap
Copie o arquivo acima, adicione sua chave e você terá resultados reais do Google em Java. 100 buscas grátis no cadastro — sem cartão; depois pague conforme o uso a partir de $0,75/1k, e os créditos permanecem válidos por 12 meses.
- Obtenha sua chave de API grátis →
- Prefere pagar com cartão? O serp.cheap também está no RapidAPI (
$0,90/1k) e no Apify ($1,50/1k).