The current protocol
The login flow, headers and GraphQL queries of the current app build, read from the app itself. A script checks them against each new build.
A TypeScript client that talks to Instagram the way the Android app does. Every call returns a checked model or throws a typed error.
import { IgFlare, FileSessionStore } from 'igflare';
const ig = await IgFlare.fromStore(new FileSessionStore('./session.json'));
if (ig.session.auth.userId === undefined) await ig.login({ username, password });
const user = await ig.user.infoByUsername('instagram');
console.log(user.full_name, user.follower_count);| Area | Calls |
|---|---|
| Account | Profile, biography, name, links, profile picture, activity |
| Follow graph | Follow, followers and following, requests, block, mute, close friends |
| Feeds | Timeline, user, hashtag, place, reels and Explore, with iterators |
| Posts | Likes, comments and replies, saving and collections, editing and tags, archive and pin |
| Publishing | Photo, video, carousel, reel, story, highlights and notes |
| Direct | Inbox and requests, text, links, photos, videos, voice, shared posts and stories, groups |
| Insights | Account overview, audience, content ranking, post and reel insights |
Unofficial
igflare is not affiliated with or endorsed by Meta or Instagram. Using the private API can go against Instagram's Terms of Use and lead to account restrictions. Known limits are in limitations.