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

# Listing Datasets

> How to list, filter, and inspect available datasets using the CloudQuant Data Liberator API across all supported languages.

# Listing datasets

The `datasets` function retrieves a JSON-formatted list of all datasets available in CloudQuant Data Liberator, with optional filtering and metadata.

## Parameters

| Parameter  | Description                                                                               | Type    | Default |
| ---------- | ----------------------------------------------------------------------------------------- | ------- | ------- |
| `entitled` | Only retrieve datasets you have access to                                                 | Boolean | `false` |
| `schema`   | Include dataset descriptions and metadata                                                 | Boolean | `false` |
| `details`  | Include column-level information (names, descriptions). Requires `schema` to also be set. | Boolean | `false` |
| `user`     | Your CloudQuant-assigned user identifier                                                  | String  | —       |
| `token`    | Your assigned authentication token                                                        | String  | —       |

## List all datasets

<CodeGroup>
  ```python Python theme={null}
  import liberator

  res = liberator.datasets()
  print(res)
  ```

  ```csharp C# theme={null}
  Liberator liberator;
  var res = liberator.datasets();
  Console.WriteLine(JsonDocumentToIndentedString(res));
  ```

  ```javascript JavaScript theme={null}
  let dataset_params = {
      schema:  false,
      details: true
  };

  liberator.datasets(dataset_params).then(function(results) {
      // Your code
  });
  ```

  ```java Java theme={null}
  Liberator liberator = new Liberator();

  Object datasets_id = liberator.datasets(new HashMap<>());

  for (Liberator.QueryResult res : liberator.Generate()) {
      Object data = res.GetData();
      if (data instanceof javax.json.JsonValue) {
          System.out.println((javax.json.JsonValue) data);
      }
  }
  ```

  ```r R theme={null}
  print(liberator::datasets())
  ```

  ```cpp C++ theme={null}
  Liberator liberator;
  auto ptr = liberator.datasets({});
  auto json = *std::get_if<0>(&ptr);
  if (json)
  {
      rapidjson::StringBuffer buf;
      rapidjson::Writer<rapidjson::StringBuffer> writer(buf);
      json->Accept(writer);
      std::cout << buf.GetString() << std::endl;
  }
  ```
</CodeGroup>

### Example output

```json theme={null}
{
  "Intraday": ["SSR_Forward_DSI", "Halt_Production_DSI", "SSR_Production_DSI", "News", "Twitter", "Stocktwits"],
  "Monthly": ["Joblink Ticker Mapping", "VerticalKnowledge Indeed"],
  "Market Data": ["daily_bars", "minute_bars", "nbbo", "trades", "daily_bars_adjusted"]
}
```

## List entitled datasets only

Filter results to show only datasets matching your access permissions.

<CodeGroup>
  ```python Python theme={null}
  liberator.datasets(entitled=True)
  ```

  ```csharp C# theme={null}
  var res = liberator.datasets(new Dictionary<string, dynamic>() {
      {"entitled", true}
  });
  ```

  ```java Java theme={null}
  Object datasets_id = liberator.datasets(new HashMap<>() {{
      put("entitled", true);
  }});
  ```

  ```r R theme={null}
  print(liberator::datasets(entitled=TRUE))
  ```

  ```cpp C++ theme={null}
  liberator.datasets({{"entitled", true}});
  ```
</CodeGroup>

## Include schema and column details

<CodeGroup>
  ```python Python theme={null}
  # Schema only
  liberator.datasets(schema=True)

  # Schema with column details
  liberator.datasets(schema=True, details=True)
  ```

  ```csharp C# theme={null}
  var res = liberator.datasets(new Dictionary<string, dynamic>() {
      {"schema", true},
      {"details", true}
  });
  ```

  ```r R theme={null}
  print(liberator::datasets(schema=TRUE, details=TRUE))
  ```

  ```cpp C++ theme={null}
  liberator.datasets({{"schema", true}, {"details", true}});
  ```
</CodeGroup>
