 <p>public <strong><em>List&lt; RestaurantDetails></em></strong> restaurant; return Array</p> <p>public <strong><em>RestaurantDetails</em></strong> restaurant; return Object</p> <p>Your API return Object. Not return Array</p> <p>Try this!!</p> <pre><code>public class RestaurantsZomato { public NearbyRestaurants nearby_restaurants; public static class NearbyRestaurants { public RestaurantDetails restaurant; }} </code></pre> <p><strong><em>Update</em></strong></p> <p>Your Json String return JsonObject. You must use JsonObject </p> <pre><code>Ion.with(context) .load("https://developers.zomato.com/api/v2.1/geocode?lat=25.12819&amp;lon=55.22724") .asJsonObject() .setCallback(new FutureCallback&lt;JsonObject&gt;() { @Override public void onCompleted(Exception e, JsonObject result) { // do stuff with the result or error } }); </code></pre>