getUserList()
Retrieves a list of users.
const users = await clerkClient.users.getUserList();- Name
limit?- Type
number- Description
The number of results to return. Must be an integer greater than zero and less than 501.
- Name
offset?- Type
number- Description
The number of results to skip.
- Name
orderBy?- Type
created_at | updated_at- Description
The field to order by. Prefix with a
-to reverse the order. Prefix with a+to list in ascending order.
- Name
emailAddress?- Type
string[]- Description
The email addresses to filter by.
- Name
phoneNumber?- Type
string[]- Description
The phone numbers to filter by.
- Name
username?- Type
string[]- Description
The usernames to filter by.
- Name
web3Wallet?- Type
string[]- Description
The web3Wallets to filter by.
- Name
query?- Type
string- Description
The string to query by.
- Name
userId?- Type
string[]- Description
The user ID's to filter by.
- Name
externalId?- Type
string[]- Description
The external ID's to filter by.
Examples
getUserList({ orderBy, limit })
Retrieves user list that is ordered and filtered by the number of results.
const sessions = await clerkClient.users.getUserList({
orderBy: '-created_at',
limit: 10,
});getUserList({ emailAddress, phoneNumber })
Retrieves user list that is filtered by the given email addresses and phone numbers.
const emailAddress = ['email1@clerk.dev', 'email2@clerk.dev'];
const phoneNumber = ['+12025550108'];
// If these filters are included, the response will contain only users that own any of these emails and/or phone numbers.
const sessions = await clerkClient.users.getUserList({ emailAddress, phoneNumber });getUserList({ query })
To do a broader match through a list of fields, you can use the query parameter which partially matches the fields: userId, emailAddress, phoneNumber, username, web3Wallet, firstName and lastName.
// Matches users with the string `test` matched in multiple user attributes.
const usersMatchingTest = await clerkClient.users.getUserList({
query: 'test',
});