They aren't making the api private, they are making it
tricky.
They have no intention (that I know of) of banning new browser technology. They don't say you must use Firefox/Chrome. Which means I can make my own browser and render it however I like.
If the data was meant to be secret, it would be encrypted. At the moment, if I do
> curl -L instagram.com
I get a mix of HTML, JS and CSS. In plain old text.
What am I allowed to do with this data?
Do I have to render it according to what WHATWG says? Obviously not.
If they were trying to limit access to their data, they would, like cable companies do, provide a secret to me so that I could decrypt the response.
Why don't they do that?
Because they want the data *public*.
They could make instagram available only via its own app with its own transport layer.
If they did that you would be violating anti-circumvention in the DMCA by reversing and publishing the protocol.
They want the data open and available to everyone to lower the barrier to entry to make more money. The tradeoff is that they don't control how that data gets presented.
Entirely their choice.