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

# List songs

> List the public catalog or one creator’s library.

Without `creator`, only public songs are returned, newest first. A creator query includes that owner’s private songs and requires their account header. No default page cap is applied; send `limit` and `offset`. There is no total-count or cursor field.

[Paginate and manage a library](/dev/guides/library).

## Headers and parameters

<ParamField query="creator" type="string">
  Owner library. Requires x-session-user-address with the same address.
</ParamField>

<ParamField query="limit" type="integer">
  Positive integer page size. Minimum: `1`.
</ParamField>

<ParamField query="offset" type="integer">
  Nonnegative integer offset. Minimum: `0`.
</ParamField>

## Response (200)

Success.

<ResponseField name="items" type="object[]">
  <Expandable title="Properties">
    <ResponseField name="id" type="string" required />

    <ResponseField name="title" type="string" required />

    <ResponseField name="creator" type="string" required />

    <ResponseField name="url" type="string" required />

    <ResponseField name="created_at" type="string" />

    <ResponseField name="family" type="string | null" />

    <ResponseField name="basis" type="string | null" />

    <ResponseField name="source" type="string | null" />

    <ResponseField name="metadata_cid" type="string | null" />

    <ResponseField name="image" type="string | null" />

    <ResponseField name="album_id" type="string | null" />

    <ResponseField name="network" type="string | null" />

    <ResponseField name="chain_song_id" type="string | null" />

    <ResponseField name="tx_hash" type="string | null" />

    <ResponseField name="version" type="integer" />

    <ResponseField name="licenses" type="integer" />

    <ResponseField name="stream_price" type="number">
      Listed USDC per minute.
    </ResponseField>

    <ResponseField name="license_price" type="number">
      Listed USDC per license.
    </ResponseField>

    <ResponseField name="duration" type="number | null">
      Seconds.
    </ResponseField>

    <ResponseField name="tags" type="string[]" />

    <ResponseField name="public" type="boolean">
      Catalog visibility. Media URLs are not private storage.
    </ResponseField>
  </Expandable>
</ResponseField>

## Errors

Failed JSON responses contain an `error` string. Check the HTTP status before reading a successful result. See [job handling](/dev/guides/jobs) for interrupted or uncertain submissions.

| Status | Meaning |
| - | - |
| `400` | Invalid request. |
| `500` | Request failed. |

<RequestExample>
  ```bash cURL theme={null}
  curl --fail-with-body -X GET "$RAWCHUNKS_API/api/songs"
  ```
</RequestExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.