diff --git a/src/api/users.js b/src/api/users.js
index 1d9c55519c2d3dcdbf69a91917cf2a3481787aa7..7b275e180aefeb459bf400fe3a682dc4cacb5c91 100644
--- a/src/api/users.js
+++ b/src/api/users.js
@@ -110,10 +110,10 @@ export async function fetchUser(id, authHost, token) {
   })
 }
 
-export async function fetchUsers(filters, authHost, token, page = 1) {
+export async function fetchUsers(filters, actorTypeFilters, authHost, token, page = 1) {
   return await request({
     baseURL: baseName(authHost),
-    url: `/api/pleroma/admin/users?page=${page}&filters=${filters}`,
+    url: `/api/pleroma/admin/users?page=${page}&filters=${filters}&actor_types=${actorTypeFilters}`,
     method: 'get',
     headers: authHeaders(token)
   })
@@ -175,10 +175,10 @@ export async function resendConfirmationEmail(nicknames, authHost, token) {
   })
 }
 
-export async function searchUsers(query, filters, authHost, token, page = 1) {
+export async function searchUsers(query, filters, actorTypeFilters, authHost, token, page = 1) {
   return await request({
     baseURL: baseName(authHost),
-    url: `/api/pleroma/admin/users?query=${query}&page=${page}&filters=${filters}`,
+    url: `/api/pleroma/admin/users?query=${query}&page=${page}&filters=${filters}&actor_types=${actorTypeFilters}`,
     method: 'get',
     headers: authHeaders(token)
   })
diff --git a/src/store/modules/users.js b/src/store/modules/users.js
index 5e1fff1a532f4212e18dc39fd0c6c49215b0b894..6b93fb2a7ce39309c9b2ca309d579cabb5ce1b88 100644
--- a/src/store/modules/users.js
+++ b/src/store/modules/users.js
@@ -31,6 +31,7 @@ const users = {
     totalUsersCount: 0,
     currentPage: 1,
     pageSize: 50,
+    actorTypeFilters: [],
     filters: {
       local: false,
       external: false,
@@ -46,6 +47,9 @@ const users = {
     tags: []
   },
   mutations: {
+    SET_ACTOR_TYPE_FILTERS: (state, actorTypeFilters) => {
+      state.actorTypeFilters = actorTypeFilters
+    },
     SET_USERS: (state, users) => {
       state.fetchedUsers = users
     },
@@ -248,7 +252,7 @@ const users = {
     async FetchUsers({ commit, dispatch, getters, state }, { page }) {
       commit('SET_LOADING', true)
       const filters = Object.keys(state.filters).filter(filter => state.filters[filter]).join()
-      const response = await fetchUsers(filters, getters.authHost, getters.token, page)
+      const response = await fetchUsers(filters, state.actorTypeFilters, getters.authHost, getters.token, page)
       await dispatch('GetNodeInfo')
       loadUsers(commit, page, response.data)
     },
@@ -299,7 +303,7 @@ const users = {
         commit('SET_SEARCH_QUERY', query)
 
         const filters = Object.keys(state.filters).filter(filter => state.filters[filter]).join()
-        const response = await searchUsers(query, filters, getters.authHost, getters.token, page)
+        const response = await searchUsers(query, filters, state.actorTypeFilters, getters.authHost, getters.token, page)
 
         loadUsers(commit, page, response.data)
       }
@@ -310,6 +314,10 @@ const users = {
         duration: 5 * 1000
       })
     },
+    async ToggleActorTypeFilter({ commit, dispatch, state }, actorTypeFilters) {
+      commit('SET_ACTOR_TYPE_FILTERS', actorTypeFilters)
+      dispatch('SearchUsers', { query: state.searchQuery, page: 1 })
+    },
     async ToggleUsersFilter({ commit, dispatch, state }, filters) {
       const defaultFilters = {
         local: false,