Consulta Google desde Java con nada más que la biblioteca estándar, usando serp.cheap — o incorpora el SDK oficial de Java (integración con Spring Boot incluida). En cualquier caso es un simple endpoint HTTP+JSON.
Primero, una comprobación rápida con 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"}'
El ejemplo completo
Un solo archivo, ejecutable en Java 17+ con java.net.http para la solicitud y Jackson para el JSON (com.fasterxml.jackson.core:jackson-databind). Define primero 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());
}
}
}
Los records mapean el JSON de forma limpia, y @JsonIgnoreProperties(ignoreUnknown = true) hace que los nuevos campos de la respuesta nunca rompan tu compilación.
Spring Boot
En una aplicación Spring, envuelve la misma llamada en un @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);
}
}
El SDK oficial de Java incluye todo este cableado — además de reintentos, paginación y parámetros tipados — como un starter de Spring Boot, así que solo inyectas SerpClient y listo.
Parámetros que conviene conocer
gl— país de los resultados (us,de,br, …). Consulta SEO local por país.hl— idioma de la interfaz.page— empieza en 1; cada página es una solicitud aparte. Consulta paginación.tbs— filtro temporal (qdr:d= último día). Consulta la referencia completa de parámetros.
Siguiente
Prueba serp.cheap
Copia el archivo de arriba, añade tu clave y tendrás resultados de Google en vivo en Java. 100 búsquedas gratis al registrarte — sin tarjeta; pago por uso desde $0.75/1k después, y los créditos siguen válidos durante 12 meses.
- Consigue tu clave de API gratis →
- ¿Prefieres pagar con tarjeta? serp.cheap también está en RapidAPI (
$0.90/1k) y Apify ($1.50/1k).