Concepts

Usernames and IDs

Use one profile path with either a username or stable platform ID.

Every path that starts with a profile takes either a username with an @ prefix or the platform's stable user ID. That includes the profile itself and everything under it: posts, reels, media, followers, following, and replies.

GET /v1/instagram/profiles/@openai
GET /v1/instagram/profiles/25025320
GET /v1/instagram/profiles/@openai/posts
GET /v1/instagram/profiles/25025320/posts

The response shape is identical. You never need a separate username lookup before calling an endpoint that requires a platform ID upstream. Openhandle does that step for you.

Stable identities

Openhandle keeps a durable identity index as public profiles and authors are observed in profile, search, post, comment, follower, and engagement results. It uses that index to resolve usernames locally whenever possible.

Platform IDs are canonical. Usernames are aliases: they can be renamed and may later be assigned to another account. Openhandle therefore revalidates aliases periodically and retires old mappings when a rename or reassignment is seen.

The first time we see a username, we may need one small upstream lookup before the requested data is fetched. After that, the username is remembered for a year and later calls skip that step. Either way, one answered Openhandle request is billed as one request.

For stored references, keep the returned id. For interactive input, accepting @username is safe and convenient. SDK URL helpers can extract the relevant username or ID before making a request; see URL resolution.

On this page