> For the complete documentation index, see [llms.txt](https://cloakedkeys.gitbook.io/ofsc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cloakedkeys.gitbook.io/ofsc/command-reference/shared-options/scrape-metadata-options/user-selection-options.md).

# User Selection Options

These options allow you to define which users (models) the program should process for scraping actions. You can combine these methods for granular control.

## Specifying Usernames

### -u, --username (also `--usernames`, `--users`, `--user`) \[argument]

* **Selects:** Specific usernames to process, separated by commas (e.g., `name1,name2`).
* **Case-sensitive:** Usernames are matched based on exact case.
* **ALL (case-sensitive):** Use `ALL` to include all available usernames in the program's data.

**Example:** With `-u user1,user2`, only users "user1" and "user2" will be processed.

### -eu, --excluded-username \[argument]

* **Excludes:** Specific usernames from processing, separated by commas (e.g., `name1,name2`).
* **Precedence:** Excluded usernames take priority over usernames specified with `-u`.

**Example:** With `-u user1,user2` and `-eu user2`, only "user1" will be processed (excluding "user2").

#### With --scrape-paid

> ℹ️ **Since 3.15.0.** 3.14.7 and earlier ignore `--excluded-username` during `--scrape-paid`. See [Fork Changes](/ofsc/fork-changes.md).

The exclusion also applies to `--scrape-paid`, for both downloads and metadata runs, so you can skip one model that keeps failing without giving up the rest of the paid scan. Names are matched case-insensitively.

```bash
ofscraper --scrape-paid --excluded-username modelname
ofscraper metadata --scrape-paid update --excluded-username modelname,othermodel
```

* A skipped model is logged (`Skipping <name>_<id>: excluded by --excluded-username`) and left out of the run's totals.
* Its profile is still looked up to learn its username.
* A deleted account can only be excluded by the username recorded for it in an earlier run. Without one it shows as `modeldeleted_<id>` and can't be matched by name.

***

## Using User Lists

### -ul, --user-list (also `--user_list`, `--userlist`, `--userlists`, `--user-lists`) \[argument] (optional)

* **Filters:** Users based on entries in a user list.
* **Default list:** "ofscraper.main" (if no argument provided).
* **Built-in lists:** The program also has built-in lists "ofscraper.active" and "ofscraper.expired"\
  corresponding to active and expired account respectively
* **Argument behavior:**
  * If no argument is provided, the default list ("scrape") will be used.
  * If an argument is provided (e.g., "myuserList"), only the specified list will be processed.

**Example:** With `-ul myUserList`, only users in the "myUserList" list will be processed.

### -bl, --black-list (also `--black_list`, `--black-lists`, `--blacklist`, `--blacklists`) \[argument] (optional)

* **Excludes:** Users based on entries in a user list.
* **Blacklist behavior:** Similar to user lists, but excludes all users from the specified list
* **Default list:** None
* **Argument behavior:**
  * If an argument is provided (e.g., "inactiveUsers"), only users from the specified blacklist will be excluded.

**Example:** With `-bl inactiveUsers`, users in the "inactiveUsers" blacklist will be excluded from processing


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://cloakedkeys.gitbook.io/ofsc/command-reference/shared-options/scrape-metadata-options/user-selection-options.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
