_do_api_request does not support 404 errors. 

When you make an api call with wrong user id for example current _do_api_request method can't handle it. Because it's always trying to parse json data that returned from server. But in same cases like:

GET: https://api.instagram.com/v1/users/abc/

Returned response is a Http 404 page. So i made that change to stop and return empty data before trying to parse json data.