A Python library for interacting with the unofficial Pokemon Go API, automatically parsing requests and responses via protobuf.
pgoapi is an unofficial Python library that provides programmatic access to the Pokemon Go API, enabling developers to build applications that interact with the game's backend. It automatically parses requests and responses using protobuf objects and returns data in a convenient Python dictionary format, handling authentication, session management, and server throttling.
Developers and hobbyists building Pokemon Go-related tools, bots, or data analysis applications who need a reliable and structured way to interact with the game's unofficial API.
It simplifies the complexity of dealing with Pokemon Go's protobuf-based API by automating parsing and providing a thread-safe, feature-rich client with extensive RPC support, reducing development time and effort.
Pokemon Go API lib
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Dynamically finds and uses correct protobuf objects via naming conventions, returning parsed Python dictionaries, which abstracts away the complexity of Pokemon Go's API structure.
Handles both Google and Pokemon Trainer Club logins with automatic re-authentication on ticket expiration, covering the primary account types without manual intervention.
Allows chaining multiple Remote Procedure Calls in a single request, reducing network overhead and improving performance for batch operations.
Built for multi-threaded environments, enabling concurrent API interactions in applications like scanners or bots that handle multiple accounts.
Monitors and respects server-side rate limiting to help avoid bans, a critical feature for maintaining account safety in unofficial use.
As an unofficial library, it faces sudden API breaks from Niantic updates and potential terms of service violations, with no official support or guarantees.
Relies on POGOProtos for protobuf definitions, adding an external dependency that may lag behind API changes and require manual updates.
Provides only the API client layer, so developers must implement all application logic from scratch, increasing development time for complete solutions.
Requires installing multiple dependencies like protobuf and geopy, and constant maintenance to adapt to API changes, which can be cumbersome for ongoing projects.