Appearance
igpapi — Instagram private API Simulator for Node.js
igpapi is an Instagram private API Simulator for Node.js, written in TypeScript on Effect. It sends what the Instagram app sends: your program logs in, keeps a session, scrolls the feed, likes and comments, watches Reels, publishes a photo, a Reel or a story, and writes in Direct, one screen at a time, exactly as a person does in the app. It was formerly the Node.js Instagram private API SDK.
Not an emulator: a Simulator
An emulator runs the real Instagram app inside a virtual phone: an Android virtual machine or container with the app installed. That means gigabytes of images, a device to boot and keep alive, and seconds per tap.
igpapi is not that. The Simulator runs no app and no device. It is a Node.js library that reproduces, in your own process, what the Instagram app sends to Instagram's private API, request by request: the same phone signals, headers, order and pauses.
So it installs with npm install, needs no device to boot, and runs as an ordinary Node.js process. Each call to the Simulator is its own app process with its own state, so several accounts can run side by side on one machine, one call per account. You still work the way a person does (open a screen, tap, type), and the Simulator sends what the app would. The time a run takes is the app's own network requests and pauses, not a device starting up.
How the Simulator talks to Instagram's private API
The Simulator is the client of the same private API the app uses, so it behaves like the app: it presents one virtual phone per account, starts every process with the app's launch, and sends each screen's requests in the app's order. How the Simulator works explains the model on one page.
What you can do
Each item links to its screen page, with a program for it.
- Sign in: log in with a password and two-factor, recover an account, register one, and answer Instagram's challenges.
- Look around: the home feed, Reels, Explore, search and profiles.
- React: like, repost and comment, and carousel posts.
- Publish: a post, a Reel and a story, with music.
- Talk: Direct.
What it is not
- It is not an anti-ban tool. Whether an account survives heavy automation depends on how your program uses it (Account safety and pacing).
- It runs on Node.js only: not in a browser, Bun or Deno.
- The Android package is the priority direction. The iOS package is implemented less exhaustively than the Android one, and the guides and screen pages describe Android.
A taste
ts
import { AndroidIgpapi, FeedTimelineScreen } from '@igpapi/android';
import { Effect } from 'effect';
const username = process.env['IG_USERNAME'] ?? '';
const password = process.env['IG_PASSWORD'] ?? '';
// One call is one app process: it starts the app on a virtual phone, runs your program, and closes the app.
const feedSize = await AndroidIgpapi.install({
seed: username,
main: home =>
Effect.gen(function* () {
const next = yield* home.logIn({ username, password });
return FeedTimelineScreen.is(next) ? next.items.length : 0;
}),
});
console.log(`The home feed shows ${feedSize} items.`);Start here
After you get access, the install is one line (Get access and install has the registry setup for npm, pnpm and Yarn):
bash
npm install @igpapi/android [email protected]- Get access and install: the licence, the registry, the token and the first install, for npm, pnpm and Yarn.
- Your first program: log in, save the session, like a post.
- Notes for coding agents: the rules and the map for an agent that writes programs with the Simulator.
Requirements: Node.js >= 22, TypeScript 7 or newer, an ESM project, and an IGPAPI_LICENSE_TOKEN environment variable from your licence.
Support and licence
To get a licence, or for any question, write to the author: email [email protected], or Telegram @bowzee.
Packages
You install a platform package and import everything from it.
@igpapi/android: the Android Simulator, the process entries and the screens.@igpapi/ios: the iOS Simulator. Not the priority direction.@igpapi/mobile,@igpapi/core,@igpapi/pigeon-nest,@igpapi/media-codecand@igpapi/ffmpeg-audioare installed with the platform package.
Documentation
Guides, Screens, All recipes, the glossary, the changelog, and the API reference of every exported class, function and type.