> ## Documentation Index
> Fetch the complete documentation index at: https://upstash.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# SCAN

> Scan the database for keys.

## Arguments

<ParamField body="cursor" type="string">
  The cursor value. Start with "0" on the first call, then use the cursor
  returned by each call for the next. It's a string to safely support large
  numbers that might exceed JavaScript's number limits.
</ParamField>

<ParamField body="options" type="Object">
  <ParamField body="match" type="string">
    Glob-style pattern to filter by field names.
  </ParamField>

  <ParamField body="count" type="number">
    Number of fields to return per call.
  </ParamField>

  <ParamField body="type" type="string">
    Filter by type. For example `string`, `hash`, `set`, `zset`, `list`,
    `stream`.
  </ParamField>
</ParamField>

## Response

<ResponseField type="[string, string[]]" required>
  Returns the next cursor and the list of matching keys. When the returned
  cursor is "0", the scan is complete.
</ResponseField>

<RequestExample>
  ```ts Basic theme={"system"}
  const [cursor, keys] = await redis.scan(0, { match: "*" });
  ```
</RequestExample>
