Unless otherwise stated, endpoints are relative to https://api.groupme.com/v3/ and must include the token of the user making the call - so, for example, if an endpoint is GET /groups, the request you make should be using the URL https://api.groupme.com/v3/groups?token=aSDFghJkl, where aSDFghJkl is replaced with the user's token.
URLs which include a variable, such as GET /groups/:id, have their variables marked with a colon. So a request to that endpoint would look like https://api.groupme.com/v3/groups/1234567?token=aSDFghJkl, where 1234567 is replaced with the group's ID, and aSDFghJkl is replaced with the user's token.
Finally, all responses are wrapped in a response envelope of the following form:
Status:200OK{"id":"101646388","theme_name":"wfh","like_icon":{"type":"emoji","pack_id":1,"pack_index":63},"updated_at":1747666946,"requires_approval":true,"show_join_question":true,"join_question":{"type":"join_reason/questions/text","text":"Why do you want to join our group?"},"children_count":14}
Allows you to join (or request to join) a public group without a share token.
Breaking Change: Device Verification
This endpoint now requires platform-level device verification (e.g., Apple App Attest or Google Play Integrity). Requests must include valid attestation headers (X-verify-token), or they will be rejected.
This change was introduced by GroupMe to mitigate automated abuse. Unfortunately, it also blocks all third-party clients, including many valuable community projects. As such, this endpoint is no longer accessible to third-party applications and is retained here for historical reference only.
Status:201Created{"id":"1234567890","name":"Family","type":"private","description":"Coolest Family Ever","image_url":"https://i.groupme.com/123456789","creator_user_id":"1234567890","created_at":1302623328,"updated_at":1302623328,"members":[{"user_id":"1234567890","nickname":"Jane","muted":false,"image_url":"https://i.groupme.com/123456789"}],"share_url":"https://groupme.com/join_group/1234567890/SHARE_TOKEN","messages":{"count":100,"last_message_id":"1234567890","last_message_created_at":1302623328,"preview":{"nickname":"Jane","text":"Hello world","image_url":"https://i.groupme.com/123456789","attachments":[{"type":"image","url":"https://i.groupme.com/123456789"},{"type":"location","lat":"40.738206","lng":"-73.993285","name":"GroupMe HQ"},{"type":"emoji","placeholder":"","charmap":[[1,42],[2,34]]}]}}}
Returns a list of public groups based on search terms or lattitude/longitude coordinates. If a location is supplied, groups will be orderd roughly by distance from that point.
Returned groups will be split into 4 different lists, depending on where they were found.
* directories if you're a member of a university campus directory and matching results were found in your school domain
* popular if they were found among the general list of public groups
* trending if they were found on the curated list of groups published by GroupMe,
* nearby if they were found in the automatically curated list of groups close to you.
Important
This request is relative to https://api.groupme.com/v1/, not https://api.groupme.com/v3/.
Integer - Defines how many groups to return in the response. This value maxes out at 10,000 and defaults to 20 if omitted.
from
Integer - The offset index to begin returning results from in the paginated list of groups. For example, from=0 returns results starting at the beginning, from=20 skips the first 20 groups. Defaults to 0 if omitted.
query
String - A set of search terms to filter groups in the response.
lattitude
Decimal - The lattitude coordinate for a point used to sort groups by their distance.
longitude
Decimal - The longitude coordinate for a point used to sort groups by their distance.
Status:200OK{"directories":[{"id":"91086340","name":"Group Memes","description":"Memes","avatar_url":"https://i.groupme.com/236x236.jpeg.93edc4af32944ad18f863be07d3a8069","directory_id":"1928","group_type":"closed","max_members":5000,"members_count":16,"locations":[{"point":{"lat":40.23512,"lon":-111.66219},"name":"Provo, Utah, United States","full_address":"Provo, Utah, Utah, United States","locality":"Provo","country_region":"United States","country_subdivision":"Utah","country_code":"US"}],"children_count":0}...],"popular":[{"id":"101804807","name":"Clean Memes","description":"Clean memes is a clean gc and the people are (partially insane) great!","avatar_url":"https://i.groupme.com/960x960.jpeg.2c7a7d23ddde418ba6b7c164bd195e3a","directory_id":"","group_type":"closed","max_members":5000,"members_count":4261,"locations":[{"point":{"lat":40.713047,"lon":-74.00723},"name":"New York, New York, United States","full_address":"New York, New York, United States","locality":"New York","country_region":"United States","country_subdivision":"New York","country_code":"US"},],"children_count":18,"trending_allowed":true},...],"nearby":[...],"trending":[...],"location_name":"Salt Lake City, Utah United States"}
Integer - Defines how many groups to return in the response. This value maxes out at 10,000 and defaults to 20 if omitted.
from
Integer - The offset index to begin returning results from in the paginated list of groups. For example, from=0 returns results starting at the beginning, from=20 skips the first 20 groups. Defaults to 0 if omitted.
Status:200OK{"trending":[{"id":"98296943","name":"Chilling","description":"a place to chill π make sure you read the rules!","avatar_url":"https://i.groupme.com/626x626.jpeg.2be242e18c3e418c90d280e064100163","directory_id":"","group_type":"closed","max_members":5000,"members_count":4832,"locations":[{"point":{"lat":38.892062,"lon":-77.019912},"name":"United States","full_address":"United States","country_region":"United States","country_code":"US"}],"children_count":10,"trending_allowed":true},{"id":"92309453","name":"Memes","description":"Β―\\_(γ)_/Β―","avatar_url":"https://i.groupme.com/917x923.jpeg.1cb8105bb7df41fbbea2a5c5bc78fd34","directory_id":"","group_type":"closed","max_members":10000,"members_count":8789,"locations":[{"point":{"lat":32.71576,"lon":-117.163817},"name":"San Diego, California, United States","full_address":"San Diego, San Diego, California, United States","locality":"San Diego","country_region":"United States","country_subdivision":"California","country_code":"US"}],"children_count":8,"trending_allowed":true}]}
Integer - Defines how many groups to return in the response. This value maxes out at 10,000 and defaults to 20 if omitted.
from
Integer - The offset index to begin returning results from in the paginated list of groups. For example, from=0 returns results starting at the beginning, from=20 skips the first 20 groups. Defaults to 0 if omitted.
Status:200OK{"popular":[{"id":"92309453","name":"Memes","description":"Β―\\_(γ)_/Β―","avatar_url":"https://i.groupme.com/917x923.jpeg.1cb8105bb7df41fbbea2a5c5bc78fd34","directory_id":"","group_type":"closed","max_members":10000,"members_count":8794,"locations":[{"point":{"lat":32.71576,"lon":-117.163817},"name":"San Diego, California, United States","full_address":"San Diego, San Diego, California, United States","locality":"San Diego","country_region":"United States","country_subdivision":"California","country_code":"US"},],"children_count":8,"trending_allowed":true},{"id":"16020539","name":"ααͺαα΄αͺNY αα»αͺα’ π―π₯πΆπ’","description":"","avatar_url":"https://i.groupme.com/1000x1000.jpeg.bf826152799f401f90045b64da690bb4","directory_id":"","group_type":"closed","max_members":8000,"members_count":7608,"locations":[{"point":{"lat":42.66709,"lon":-73.77516},"name":"Albany, New York, United States","full_address":"Albany, Albany, New York, United States","locality":"Albany","country_region":"United States","country_subdivision":"New York","country_code":"US"}],"children_count":0}...]}