Instagram API for Java
Instagram API for Java Developers
HikerAPI is a REST API that works with Java's built-in HttpClient (Java 11+). For JSON parsing, use Jackson or Gson.
Quick Start (Java 11+)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class HikerApiExample {
static final String API_KEY = "your_access_key";
static final String BASE = "https://api.hikerapi.com";
static final HttpClient client = HttpClient.newHttpClient();
static final ObjectMapper mapper = new ObjectMapper();
static JsonNode apiGet(String endpoint, String query)
throws Exception {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(BASE + endpoint + "?" + query))
.header("x-access-key", API_KEY)
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
return mapper.readTree(response.body());
}
public static void main(String[] args) throws Exception {
JsonNode user = apiGet("/v1/user/by/username",
"username=instagram");
System.out.printf("Followers: %,d%n",
user.get("follower_count").asLong());
}
}
Maven Dependency (Jackson)
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.17.0</version>
</dependency>
Spring Boot
@Service
public class InstagramService {
private final RestTemplate rest = new RestTemplate();
public JsonNode getUser(String username) {
HttpHeaders headers = new HttpHeaders();
headers.set("x-access-key", "your_access_key");
String url = "https://api.hikerapi.com/v1/user/by/username"
+ "?username=" + username;
return rest.exchange(url, HttpMethod.GET,
new HttpEntity<>(headers), JsonNode.class).getBody();
}
}
FAQ
What Java version do I need?
Java 11+ for HttpClient. Java 8 works with Apache HttpClient or OkHttp.
Does it work with Spring Boot?
Yes. Use RestTemplate or WebClient.