This Python API allows you to interact with GroupMe
To make use of this tool, it is necessary to first set up an API token on the GroupMe Developer page
Log in to the page using the "Log In" button in the top right corner, and entering your email and password for your GroupMe account.
If you use Facebook, Apple, Microsoft, or another login service to access your GroupMe account, you may need to first set up a password for your account. The only way I know to do this is using GroupMe's "Forgot password" feature. Visit the forgot password page, and enter the email address associated with your account (you can find this by clicking on your profile picture in the bottom right corner of GroupMe in the web browser, and selecting "Profile" from the resulting menu).
Once you have entered your email and password on the developer page, you may also be prompted to enter a code sent to your SMS or email to verify your identity. Once you are successfully logged in, select "Access Token" in the top right (next to your account name), and you will be presented with a pop-up containing a long string of characters. Copy these, and save them somewhere secure. This is your token which grants you access to the GroupMe API. Tokens allow you to sign in to a web service, fulfilling the role of a combined username and password. As such, they should be treated with the same security level as passwords.
All the functionality of the API is accessible through the base GroupMe object,
which can be imported to a file with the following line of code:
from pygroupmeapi import GroupMe
The GroupMe object will return values of other object types that are defined in this project, so you may wish to import these as well if using Python type hinting. Other classes
available are Group, DirectMessage,
Chat (a superclass that includes both Group and DirectMessage), and Message.
See the individual APIs for each object to see more information on their attributes and methods.
- v2.0.1 - March 20th, 2025
- Added
timeoutparameter toget_messages()method onChatsuperclass, which previously prevented linters from recognizing it as valid - Re-labeled "base object" as "groupme"
- Added
- Published to PyPI - March 19th, 2025
- v2.0.0 - February 21st, 2025
- Made timeout for API call throttling configurable
- Changed Message
emoji_mappingsfield to contain just the charmap as a nested list, instead of a dictionary with the emoji replacement character as a key - Added
emoji_replacement_charfield toMessageclass, containing the character that is substituted in for powerup emojis - Added methods to download and subsequently delete local image files for powerup emojis used in a
Messageinstance - Added method to obtain information about messages that are replied to by other messages
- v1.0.3 - December 20th, 2024
- Added check for API call throttling
- v1.0.2 - September 5th, 2024
- Fixed bug where Chat abstract class did not recognize "before" and "after" parameters in get_messages() function
- Fixed bug which only allowed group searches to fetch messages 20 at a time (GroupMe hardcoded limit for direct messages), rather than 100 at a time (GroupMe hardcoded limit for groups)
- v1.0.1 - July 28th, 2024
- Fixed module import error that prevented the package from being used
- v1.0.0 - July 27th, 2024
- Initial release