 <p>smallImageUrls, is inside matches that is inside the root, so you have to retrieve matches and, through it, smallImageUrls</p> <pre><code>JSONObject obj = new JSONObject(...); JSONArray matches = obj.optJSONArray("matches"); if (matches != null) { for (int i = 0; i &lt; matchesLenght; i++) { JSONObject objAtIndex = matches.optJSONObject(i); if (objAtIndex != null) { JSONArray smallImageUrls = objAtIndex.optJSONArray("smallImageUrls"); for (int j = 0; j &lt; smallImageUrlsSize; j++) { String urlAtIndex = smallImageUrls.optString(j); } } } } </code></pre>