Frage Google aus Java ab — allein mit der Standardbibliothek, mithilfe von serp.cheap — oder binde das offizielle Java-SDK ein (Spring-Boot-Integration inklusive). So oder so ist es ein simpler HTTP+JSON-Endpunkt.
Zuerst ein kurzer Test mit 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"}'
Das vollständige Beispiel
Eine Datei, lauffähig ab Java 17+ mit java.net.http für die Anfrage und Jackson für JSON (com.fasterxml.jackson.core:jackson-databind). Setze zuerst 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());
}
}
}
records mappen das JSON sauber, und @JsonIgnoreProperties(ignoreUnknown = true) sorgt dafür, dass neue Antwortfelder deinen Build nie brechen.
Spring Boot
In einer Spring-App kapselst du denselben Aufruf in einem @Service mit 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);
}
}
Das offizielle Java-SDK liefert genau diese Verdrahtung — plus Retries, Paginierung und typisierte Parameter — als Spring-Boot-Starter, sodass du einfach SerpClient injizierst und loslegst.
Wissenswerte Parameter
gl— Land der Ergebnisse (us,de,br, …). Siehe lokales SEO nach Land.hl— Sprache der Oberfläche.page— 1-basiert; jede Seite ist eine eigene Anfrage. Siehe Paginierung.tbs— Zeitfilter (qdr:d= letzter Tag). Siehe die vollständige Parameterreferenz.
Weiter
serp.cheap ausprobieren
Kopiere die Datei oben, füge deinen Schlüssel ein, und du hast Live-Google-Ergebnisse in Java. 100 Suchen gratis bei der Anmeldung — keine Kreditkarte nötig; danach Pay-as-you-go ab 0,75 $/1.000, und Credits bleiben 12 Monate gültig.
- Hol dir deinen kostenlosen API-Schlüssel →
- Lieber per Karte zahlen? serp.cheap ist auch auf RapidAPI (~0,90 $/1.000) und Apify (~1,50 $/1.000) verfügbar.