Desde o Java 11, o java.net.http.HttpClient nativo elimina a necessidade de bibliotecas externas como Apache HttpClient para chamadas simples de API.

Exemplo de requisição

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://scrapegram.cloud/api/v1/instagram/profile?username=nike"))
    .header("Authorization", "Bearer " + System.getenv("SCRAPEGRAM_TOKEN"))
    .GET()
    .build();

HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());

if (response.statusCode() == 200) {
    System.out.println(response.body());
} else {
    System.err.println("Erro HTTP " + response.statusCode());
}

Convertendo o JSON pra objeto

Usando Jackson (uma das bibliotecas de JSON mais comuns no ecossistema Java):

ObjectMapper mapper = new ObjectMapper();
JsonNode perfil = mapper.readTree(response.body());
long seguidores = perfil.get("followers").asLong();

Para aplicações Spring Boot, o mesmo padrão funciona injetando um RestClient ou WebClient configurado com o header de autorização.