I've done a fair bit of searching on the Instagram API docs and can't find a way to determine whether or not a user has a public or protected profile?
This also has to be done without an access_token. I have a client_id to use.
Just for a bit of context, I'm just building a small practice app which reads a csv of usernames in PHP and then makes a call to the API to determine whether it is public or private.
Use the GET relationship endpoint.
https://api.instagram.com/v1/users/user-id/relationship
This endpoint returns a BOOL value "target_user_is_private".
You can use the User Media endpoint with client_id:
https://api.instagram.com/v1/users/USER_ID/media/recent/?client_id=YOUR-CLIENT_ID
If the user is private you will get a response like this:
{"meta":{"error_type":"APINotAllowedError","code":400,"error_message":"you cannot view this resource"}}
If the user is public, then you will get API response with "code":200
with user recent media data - "data":[...]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With