# ReadSessions

The ReadSession API allows for consumers to stream large amounts of data to other environments in a performant, resumable, and parallelized manner. The general flow is to create a ReadSession on a specific table, upload, or query result, and then read from the stream(s) within that ReadSession.

{% hint style="info" %}
ReadSessions are somewhat complicated and rely on extra orchestration to manage state and handle retries. When using the R, Python, or Javascript client libraries, such nuances are automatically handled.&#x20;

When using the REST API with smaller tables, consider calling the `listRows` method on the relevant resources. E.g.: `/tables/<table>/rows?format=csv`.
{% endhint %}
