igpapi — Instagram private API Simulator for Node.js (API reference) 4.14.0
    Preparing search index...

    Type Alias AndroidIgpapiOptions

    AndroidIgpapiOptions: (
        | { checkpoint?: undefined; seed: string; snapshot?: undefined }
        | {
            checkpoint?: undefined;
            seed?: undefined;
            snapshot: MobileSnapshot | object;
        }
        | { checkpoint: unknown; seed?: undefined; snapshot?: undefined }
    ) & {
        dangerAcceptInvalidCerts?: boolean;
        location?: MobileDeviceLocation;
        network?: MobileNetwork;
        protocolMode?: TransportProtocolMode;
        proxy?: string;
        requestTimeoutMs?: number;
    }

    Options of the Android app layer (AndroidApp).

    Use seed for a fresh deterministic virtual device, snapshot to restore a session exported with ExportSnapshot, or checkpoint to continue a checkpointed process — the screen restores then put the process state and the screen stack back over this client.

    Exactly one stored form, like the launch input: seed, snapshot and checkpoint are three forms of one slot, so a second one beside the first is a type error rather than a value the build silently resolves in one order. A continued process (a checkpoint) is the very client state the checkpoint carries, so it takes no network or location either: those belong to a launch from a checkpoint (a new process), and the build refuses them with the declared SnapshotDecodeError instead of building a client every restore then refuses.

    The snapshot and the checkpoint cross storage, so each is accepted as an object only (owner decision, 2026-10-24: never JSON text — the caller parses what its storage returns), and the checkpoint is unknown on purpose: the build decodes it itself — text, a damaged value, one of another format or one taken on another platform is the declared SnapshotDecodeError, never a process that quietly diverges.

    Type Declaration

    • { checkpoint?: undefined; seed: string; snapshot?: undefined }
    • { checkpoint?: undefined; seed?: undefined; snapshot: MobileSnapshot | object }
    • { checkpoint: unknown; seed?: undefined; snapshot?: undefined }
    • OptionaldangerAcceptInvalidCerts?: boolean

      Allow invalid TLS certificates in the native transport.

      This is useful for local debugging setups, but should stay disabled for normal production traffic.

    • Optionallocation?: MobileDeviceLocation

      The coarse position the device knows, when the caller models one. The 450 app sends it on the search results, the 451 app sends none on a device without one; when set it replaces a restored snapshot's position.

    • Optionalnetwork?: MobileNetwork

      The network the device is on (default: cellular LTE for a new device; a restored snapshot keeps the network it was saved with). Pass { kind: 'wifi' } to present the device on Wi-Fi; when set it also replaces a restored snapshot's network.

    • OptionalprotocolMode?: TransportProtocolMode

      Protocol mode of the native transport (default http2: Android goes over TCP by the owner's decision). http3 is the caller's opt-in to the app's QUIC path (supported by the transport since 0.9.21); auto is http2 on this profile.

    • Optionalproxy?: string

      HTTP(S) proxy URL passed to the native transport.

    • OptionalrequestTimeoutMs?: number

      Timeout of every API request in milliseconds (default 60 000). A timed-out request is abandoned, not cancelled: an action may still be carried out by the server, so a retry can duplicate it.