<commit_before># Get all streams

Get all streams that the user has access to.

`GET {{ api_url }}/v1/streams`

## Usage examples

{start_tabs}
{tab|python}

{generate_code_example(python)|/streams:get|example}

{tab|js}

More examples and documentation can be found [here](https://github.com/zulip/zulip-js).
```js
const zulip = require('zulip-js');

// Pass the path to your zuliprc file here.
const config = {
    zuliprc: 'zuliprc',
};

zulip(config).then((client) => {
    // Get all streams that the user has access to
    client.streams.retrieve().then(console.log);
});

```

{tab|curl}

``` curl
curl -X GET {{ api_url }}/v1/streams -u BOT_EMAIL_ADDRESS:BOT_API_KEY
```

You may pass in one or more of the parameters mentioned above
as URL query parameters, like so:

``` curl
curl -X GET {{ api_url }}/v1/streams?include_public=false \
    -u BOT_EMAIL_ADDRESS:BOT_API_KEY
```

{end_tabs}

## Arguments

**Note**: The following arguments are all URL query parameters.

{generate_api_arguments_table|zulip.yaml|/streams:get}

## Response

#### Return values

* `stream_id`: The unique ID of a stream.
* `name`: The name of a stream.
* `description`: A short description of a stream.
* `invite-only`: Specifies whether a stream is private or not.
  Only people who have been invited can access a private stream.

#### Example response
<commit_msg>docs: Make get-all-streams use curl example system.<commit_after># Get all streams

Get all streams that the user has access to.

`GET {{ api_url }}/v1/streams`

## Usage examples

{start_tabs}
{tab|python}

{generate_code_example(python)|/streams:get|example}

{tab|js}

More examples and documentation can be found [here](https://github.com/zulip/zulip-js).
```js
const zulip = require('zulip-js');

// Pass the path to your zuliprc file here.
const config = {
    zuliprc: 'zuliprc',
};

zulip(config).then((client) => {
    // Get all streams that the user has access to
    client.streams.retrieve().then(console.log);
});

```

{tab|curl}

{generate_code_example(curl, include=[""])|/streams:get|example}

You may pass in one or more of the parameters mentioned above
as URL query parameters, like so:

{generate_code_example(curl, include=["include_public"])|/streams:get|example}

{end_tabs}

## Arguments

**Note**: The following arguments are all URL query parameters.

{generate_api_arguments_table|zulip.yaml|/streams:get}

## Response

#### Return values

* `stream_id`: The unique ID of a stream.
* `name`: The name of a stream.
* `description`: A short description of a stream.
* `invite-only`: Specifies whether a stream is private or not.
  Only people who have been invited can access a private stream.

#### Example response

{'fraction_non_alphanumeric': 0.13078918117821414, 'fraction_numerical': 0.0014820303816228233, 'mean_word_length': 4.487804878048781, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4925345', 'n_tokens_mistral': 923, 'n_tokens_neox': 898, 'n_words': 292}