Interroga Google da Java usando solo la libreria standard, con serp.cheap — oppure aggiungi l’SDK Java ufficiale (integrazione Spring Boot inclusa). In entrambi i casi è un semplice endpoint HTTP+JSON.
Prima un rapido test 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"}'
L’esempio completo
Un solo file, eseguibile su Java 17+ con java.net.http per la richiesta e Jackson per il JSON (com.fasterxml.jackson.core:jackson-databind). Imposta prima 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());
}
}
}
I record mappano il JSON in modo pulito, e @JsonIgnoreProperties(ignoreUnknown = true) fa sì che nuovi campi nella risposta non rompano mai la tua build.
Spring Boot
In un’app Spring, incapsula la stessa chiamata in 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);
}
}
L’SDK Java ufficiale offre già questo cablaggio — con retry, paginazione e parametri tipizzati — sotto forma di starter Spring Boot: basta iniettare SerpClient e sei pronto.
Parametri da conoscere
gl— paese dei risultati (us,de,br, …). Vedi SEO locale per paese.hl— lingua dell’interfaccia.page— indicizzata da 1; ogni pagina è una richiesta separata. Vedi paginazione.tbs— filtro temporale (qdr:d= ultimo giorno). Vedi il riferimento completo dei parametri.
Avanti
Prova serp.cheap
Copia il file qui sopra, aggiungi la tua chiave e avrai risultati Google in tempo reale in Java. 100 ricerche gratis all’iscrizione — nessuna carta richiesta; pay-as-you-go da $0,75/1k dopo, e i crediti restano validi per 12 mesi.
- Ottieni la tua chiave API gratuita →
- Preferisci pagare con carta? serp.cheap è anche su RapidAPI (
$0,90/1k) e Apify ($1,50/1k).