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

# List All Recordings

> Retrieves a paginated list of recordings with optional filtering by studio, project, or date range.

**HTTP Method**: GET

**URL**: `/api/v3/recordings`

**Authentication**: Requires API Key in the request header.

**Query Parameters**:

| Parameter    | Type   | Description                                                           |
| ------------ | ------ | --------------------------------------------------------------------- |
| `studioId`   | string | Filter recordings by studio ID                                        |
| `projectId`  | string | Filter recordings by project ID                                       |
| `start_date` | string | Return recordings created on or after this date (Format: YYYY-MM-DD)  |
| `end_date`   | string | Return recordings created on or before this date (Format: YYYY-MM-DD) |
| `page`       | number | Page number for pagination (starts at 0, defaults to 0)               |

<Note>
  * Providing only `start_date` returns all recordings from that date forward
  * Providing only `end_date` returns all recordings up to that date
  * Use both to filter by a specific date range
  * Date filtering works in combination with `studioId` or `projectId`
  * If no filter is provided, returns recordings from all studios in the account
</Note>

**Response**: Paginated list of recording objects

**Rate limit**: Once every 1 second (unique requests with different pages are not limited)

**Sorting**: Lists objects in order of "newest created first"

**Pagination**: Default page size is 20 recordings

**Status Codes**:

* `200 OK` Recordings retrieval successful.
* `401 Unauthorized` Authentication failed.
* `429 Too Many Requests` Rate limit exceeded.

### **Sample Request**

```bash theme={null}
GET /api/v3/recordings?studioId=studio123 HTTP/1.1
Host: platform.riverside.com
Authorization: Bearer YOUR_API_KEY
```

### **Sample Request with pagination**

```bash theme={null}
GET /api/v3/recordings?studioId=studio123&page=2 HTTP/1.1
Host: platform.riverside.fm
Authorization: Bearer YOUR_API_KEY
```

### **Sample Request with date range**

```bash theme={null}
GET /api/v3/recordings?start_date=2025-05-01&end_date=2025-06-30 HTTP/1.1
Host: platform.riverside.fm
Authorization: Bearer YOUR_API_KEY
```

### **Sample Response**

```json theme={null}
{
  "page": 0,
  "next_page_url": "https://platform.riverside.fm/api/v3/recordings?studioId=studio123&page=1",
  "total_items": 45,
  "total_pages": 3,
  "data": [
    {
      "recording_id": "rec123",
      "name": "Episode 12 - Interview with Jane",
      "project_id": "proj789",
      "project_name": "Season 1",
      "studio_id": "studio456",
      "studio_name": "Main Studio",
      "status": "ready",
      "created_date": "2025-01-15T14:30:00Z",
      "tracks": [
        {
          "id": "track001",
          "type": "participant",
          "status": "done",
          "files": [
            {
              "type": "raw_audio",
              "download_url": "https://platform.riverside.fm/api/v3/download/file/file001"
            },
            {
              "type": "raw_video",
              "download_url": "https://platform.riverside.fm/api/v3/download/file/file002"
            }
          ]
        }
      ],
      "transcription": {
        "status": "done",
        "files": [
          {
            "type": "srt",
            "download_url": "https://platform.riverside.fm/api/v3/download/transcription/rec123?type=srt"
          },
          {
            "type": "txt",
            "download_url": "https://platform.riverside.fm/api/v3/download/transcription/rec123?type=txt"
          }
        ]
      }
    }
  ]
}
```

### **Response Fields**

| Field           | Type           | Description                                   |
| --------------- | -------------- | --------------------------------------------- |
| `page`          | number         | Current page number                           |
| `next_page_url` | string \| null | URL to fetch next page, null if on last page  |
| `total_items`   | number         | Total number of recordings matching the query |
| `total_pages`   | number         | Total number of pages available               |
| `data`          | array          | Array of recording objects                    |
