Until recently there were several ways to retrieve Instagram user media without the need for API authentication. But apparently, the website stopped all of them.
Som
Unfortunately, Instagram stopped many of its APIs, including the private ones. It states in https://www.instagram.com/developer/:
To continuously improve Instagram users' privacy and security, we are accelerating the deprecation of Instagram API Platform, making the following changes effective immediately.
Some links explaining the details and causes of these changes:
https://www.programmableweb.com/news/instagram-has-effectively-killed-its-public-api/brief/2018/04/04
https://techcrunch.com/2018/04/02/instagram-api-limit/
https://www.macrumors.com/2018/04/04/instagram-disables-third-party-app-apis/
Some unofficial crawling methods have been proposed in (suggested by @Louis B.) https://stackoverflow.com/a/49906525/278840. You should take into consideration that these methods are being transformed each week. Therefore, I definitely prefer to use the private API.
Update:
The old public API (without auth) is working again. We can access by adding ?__a=1
to the end of a profile url, like this:
https://www.instagram.com/leomessi/?__a=1