---
title: "list objects · RUAL Documentation"
description: "Lists one page of a bucket's objects under a prefix. Feed next page token back into page token to walk a large bucket."
canonical: https://docs.rual.nl/block-types/object%20storage/s3connection_list_objects
language: en
---

[Cluster](https://docs.rual.nl/cluster)

[Blocks](https://docs.rual.nl/block-types)

[Interfaces](https://docs.rual.nl/interfaces)

[Blueprints](https://docs.rual.nl/blueprints)

[Tutorials](https://docs.rual.nl/tutorials)

[Home automation](https://docs.rual.nl/home-automation)

[Examples](https://docs.rual.nl/examples)

[Reference](https://docs.rual.nl/reference)

[Architecture](https://docs.rual.nl/architecture)

[Troubleshooting](https://docs.rual.nl/troubleshooting)

Other

# list objects

This block is part of the [`object storage`](https://docs.rual.nl/block-types/object%20storage) group and was last modified in core [`v15.0.1`](https://docs.rual.nl/core-versions/150001).

Lists one page of a bucket's objects under a prefix. Feed **next page token** back into **page token** to walk a large bucket.

- flow `flow`

- connection required `s3connection` The object storage connection to use, from an **open connection** block.

- bucket `value` Bucket name. Leave empty to use the bucket set on the connection.

- prefix `value` Only list keys starting with this, for example `mu/ab/`.

- delimiter `value` Optional. Set to `/` to get a folder-style listing: shared path segments come back on **prefixes** instead of **objects**.

- max keys `number` Objects per page, 1–1000. Defaults to 1000.

- page token `value` The **next page token** from a previous run, to continue the listing.

- start after `value` Begin the listing after this key. Ignored when a page token is given.

- flow `flow`

- connection `s3connection` The same connection, so it can be passed to the next block.

- success `condition`

- error `value`

- objects `array` Array of `{key, size, etag, last_modified, storage_class}`.

- prefixes `array` Common prefixes, when a delimiter was given. These are the "folders".

- count `number` Number of objects on this page.

- has more `condition` True when more pages follow.

- next page token `value` Pass back in as **page token** for the next page.

Returns ONE PAGE of keys under `prefix`. Pagination is explicit and deliberate: a media bucket holds millions of keys, so this never loops internally. When `is_truncated` is true, pass `next_page_token` back in as `page_token` to get the next page : the loop and its termination stay visible on the canvas. `max_keys` is capped at 1000 (the server's own ceiling) and defaults to it. `delimiter` groups keys: with "/" the shared path segments come back on `prefixes` instead of `objects`, turning a flat keyspace into a directory listing. `start_after` applies only to a first page and is IGNORED when `page_token` is set. `objects` is an array of {key, size, etag, last_modified, storage_class}. Keys are url-decoded, so a key with a space or a non-ASCII character comes back readable. success=false with NO_CONNECTION, MISSING_BUCKET, or an S3 code such as NoSuchBucket or AccessDenied.

| `s3 list` |
| --- |
| `list bucket` |
| `list keys` |
| `browse bucket` |

## Version history

Introduced in [`v15.0.1`](https://docs.rual.nl/core-versions/150001).

- [Back to `object storage`](https://docs.rual.nl/block-types/object%20storage): Return to the main group to view all sub-groups

- [Back to `object storage`](https://docs.rual.nl/block-types/object%20storage?group=object%20storage): Return to the group to view all blocks within this group

Was this page helpful? [Tell us what to improve](https://docs.rual.nl/support) · RUAL Docs is an integral component of the [RUAL ecosystem](https://rual.nl)
