# `XClient.Users`
[🔗](https://github.com/iamkanishka/x-client.ex.git/blob/v1.0.0/lib/twitter_client/users.ex#L1)

User operations for X API v1.1.

## Rate Limits

- GET users/show: 900 per 15 minutes
- GET users/lookup: 900 per 15 minutes (user), 300 per 15 minutes (app)
- GET users/search: 900 per 15 minutes (user only)
- GET users/suggestions: 15 per 15 minutes
- GET users/suggestions/:slug: 15 per 15 minutes
- GET users/suggestions/:slug/members: 15 per 15 minutes

# `lookup`

Returns information about multiple users (up to 100).

## Parameters

  - `opts` - Required parameters (one of):
    - `:user_id` - List of user IDs or comma-separated string
    - `:screen_name` - List of screen names or comma-separated string
  - Additional optional parameters:
    - `:include_entities` - Include entities node
    - `:tweet_mode` - Use "extended" for full text

## Examples

    {:ok, users} = XClient.Users.lookup(screen_name: ["user1", "user2"])
    {:ok, users} = XClient.Users.lookup(user_id: ["123", "456"])

## Rate Limit

900 requests per 15 minutes (user), 300 per 15 minutes (app)

# `search`

Searches for users matching a query.

## Parameters

  - `query` - The search query
  - `opts` - Optional parameters
    - `:page` - Page number (1-based)
    - `:count` - Number of users to return per page (max 20)
    - `:include_entities` - Include entities node

## Examples

    {:ok, users} = XClient.Users.search("elixir", count: 20)

## Rate Limit

900 requests per 15 minutes (user only)

# `show`

Returns information about a single user.

## Parameters

  - `opts` - Required parameters (one of):
    - `:user_id` - The ID of the user
    - `:screen_name` - The screen name of the user
  - Additional optional parameters:
    - `:include_entities` - Include entities node

## Examples

    {:ok, user} = XClient.Users.show(screen_name: "elixirlang")
    {:ok, user} = XClient.Users.show(user_id: "123456")

## Rate Limit

900 requests per 15 minutes

# `suggestions`

Returns suggested user categories.

## Parameters

  - `opts` - Optional parameters
    - `:lang` - Language code

## Examples

    {:ok, suggestions} = XClient.Users.suggestions()

## Rate Limit

15 requests per 15 minutes

# `suggestions_members`

Returns members of a suggested user category.

## Parameters

  - `slug` - The category slug

## Examples

    {:ok, members} = XClient.Users.suggestions_members("technology")

## Rate Limit

15 requests per 15 minutes

# `suggestions_slug`

Returns suggested users for a specific category.

## Parameters

  - `slug` - The category slug
  - `opts` - Optional parameters
    - `:lang` - Language code

## Examples

    {:ok, suggestion} = XClient.Users.suggestions_slug("technology")

## Rate Limit

15 requests per 15 minutes

---

*Consult [api-reference.md](api-reference.md) for complete listing*
