diff --git a/src/actions/members.js b/src/actions/members.js
index 817ad5be..b1bbcbac 100644
--- a/src/actions/members.js
+++ b/src/actions/members.js
@@ -114,7 +114,7 @@ async function getStatsInit(handle, uuid) {
  * @static
  * @desc Create an action that loads member statistics.
  * @param {String} handle Member handle.
- * @param {String} groupIds Group ids.
+ * @param {Array<String>|String} groupIds Group ids.
  * @param {String} uuid Operation UUID.
  * @param {String} tokenV3 v3 auth token.
  * @return {Action}
diff --git a/src/actions/profile.js b/src/actions/profile.js
index 5bcb4da6..f04f31f6 100644
--- a/src/actions/profile.js
+++ b/src/actions/profile.js
@@ -132,7 +132,7 @@ function getStatsInit() {}
  * @static
  * @desc Creates an action that loads member's stats.
  * @param {String} handle Member handle.
- * @param {String} groupIds Group ids.
+ * @param {Array<String>|String} groupIds Group ids.
  * @return {Action}
  */
 function getStatsDone(handle, groupIds) {
diff --git a/src/services/members.js b/src/services/members.js
index d1cd5b09..14cf932c 100644
--- a/src/services/members.js
+++ b/src/services/members.js
@@ -83,17 +83,30 @@ class MembersService {
   /**
    * Gets member statistics.
    * @param {String} handle
-   * @param {String} groupIds
+   * @param {Array<String>|String} groupIds
    * @return {Promise} Resolves to the stats object.
    */
   async getStats(handle, groupIds) {
-    let res;
-    if (groupIds) {
-      res = await this.private.api.get(`/members/${handle}/stats?groupIds=${groupIds}`);
-    } else {
-      res = await this.private.api.get(`/members/${handle}/stats`);
+    if (!groupIds) {
+      const res = await this.private.api.get(`/members/${handle}/stats`);
+      return getApiResponsePayload(res);
     }
-    return getApiResponsePayload(res);
+
+    const groupIdsArray = _.isArray(groupIds) ? groupIds : _.split(groupIds, ',');
+    const groupIdChunks = _.chunk(groupIdsArray, 50);
+
+    const getStatRequests = _.map(groupIdChunks, async (groupIdChunk) => {
+      const res = await this.private.api.get(`/members/${handle}/stats?groupIds=${_.join(groupIdChunk)}`);
+      return getApiResponsePayload(res, false);
+    });
+    const results = await Promise.all(getStatRequests);
+
+    return _.uniqBy(
+      _.flatten(
+        _.filter(results, _.isArray),
+      ),
+      item => item.groupId,
+    );
   }
 
   /**