instagram4j is a Java library that provides an object-oriented interface to Instagram's private (undocumented) API. It supports both mobile and web API endpoints, allowing actions such as logging in with username/password or existing session tokens, fetching profiles, posts, stories, direct messages, searching, posting pictures, liking, commenting, following/unfollowing, and more. The library is structured as a multi-module Gradle project with separate 'mobile' and 'web' modules, each mirroring similar functionality but using different API endpoints (REST for mobile, GraphQL for web). It uses OkHttp for HTTP requests and a custom JSON library. The codebase demonstrates good engineering practices with clear separation of concerns, pagination iterators, and robust error handling. However, there is significant code duplication between the two modules, and the library relies on reverse-engineered endpoints that may break with Instagram updates. The last commit date appears to be in the future (2026), suggesting the repository may be stale or the timestamp is erroneous.
Instabot is a Python library and CLI tool for automating Instagram actions such as liking, commenting, following, unfollowing, uploading photos/videos, and direct messaging. It operates by reverse-engineering Instagram's private API, simulating an Android client with device fingerprints, session cookies, and request signing. The architecture consists of a low-level API wrapper (`instabot.api.API`) that handles HTTP requests and login flow, and a high-level Bot class (`instabot.bot.Bot`) that orchestrates actions with built-in rate limiting, filtering, and checkpointing. The repository includes over 30 example scripts for common automation tasks, a multi-script CLI menu, and a scheduled 24/7 bot. External dependencies include `requests`, `Pillow`, `moviepy`, and `pycryptodome`. The project is no longer actively maintained and carries high risk of Instagram account bans due to ToS violations. The README now promotes paid private API services, indicating the open-source codebase is effectively deprecated.