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

# List Media

> List the media files already uploaded to your organization's media library, newest first, 18 per page.

List the files already in your media library so you can reuse them as post attachments without uploading again. Results are scoped to your organization, sorted newest first, 18 per page.

## Query parameters

* `page`: page number, starting at 1 (default 1).
* `search`: case-insensitive filter on the original file name.

## Example

```bash theme={null}
curl "https://api.postiz.com/public/v1/media?search=banner&page=1" \
  -H "Authorization: your-api-key"
```

Response:

```json theme={null}
{
  "pages": 1,
  "results": [
    {
      "id": "e639003b-f727-4a1e-87bd-74a2c48ae41e",
      "name": "6fba0ef5febb4400ae8778a5b854224d.png",
      "originalName": "launch-banner.png",
      "path": "https://uploads.postiz.com/6fba0ef5febb4400ae8778a5b854224d.png",
      "createdAt": "2025-01-10T09:12:00.000Z"
    }
  ]
}
```

Pass an item's `path` in a post's `image` array (see [Create Post](/public-api/posts/create)). `path` is a public URL, so there is no separate download endpoint.


## OpenAPI

````yaml GET /media
openapi: 3.1.0
info:
  title: Postiz Public API
  description: >-
    API for managing social media posts, integrations, and media uploads in
    Postiz.


    ## Authentication


    All endpoints require an API key passed in the `Authorization` header:


    ```

    Authorization: your-api-key

    ```


    Get your API key from Postiz Settings.


    ## Rate Limits


    There is a limit of **30 requests per hour**.


    ## Terminology


    The UI uses `channel`, but the API uses `integration`. They refer to the
    same thing.


    ## Supported Platforms (27)


    **Social Platforms:** X (Twitter), LinkedIn, LinkedIn Page, Facebook,
    Instagram, Instagram Standalone, Threads, Bluesky, Mastodon, Warpcast
    (Farcaster), Nostr, VK


    **Video Platforms:** YouTube, TikTok


    **Community Platforms:** Reddit, Lemmy, Discord, Slack, Telegram


    **Design Platforms:** Pinterest, Dribbble


    **Blogging Platforms:** Medium, Dev.to, Hashnode, WordPress


    **Business:** Google My Business (GMB), Listmonk (newsletters)
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.postiz.com/public/v1
    description: Postiz Cloud
  - url: https://{your-domain}/api/public/v1
    description: Self-hosted
    variables:
      your-domain:
        default: localhost:5000
        description: Your Postiz instance domain
security:
  - ApiKeyAuth: []
tags:
  - name: Integrations
    description: Manage connected social media channels
  - name: Posts
    description: Create, list, and delete posts
  - name: Uploads
    description: Upload media files
  - name: Notifications
    description: View organization notifications
  - name: Analytics
    description: View analytics for integrations and posts
  - name: Video Generation
    description: Generate videos with AI
  - name: Clipping
    description: Turn long YouTube videos into short vertical clips
paths:
  /media:
    get:
      tags:
        - Uploads
      summary: List media
      description: >-
        List the media files already uploaded to your organization's media
        library, newest first, 18 per page.
      operationId: listMedia
      parameters:
        - name: page
          in: query
          required: false
          description: Page number (1-indexed). Defaults to 1.
          schema:
            type: integer
            minimum: 1
            default: 1
        - name: search
          in: query
          required: false
          description: Case-insensitive filter on the original file name.
          schema:
            type: string
      responses:
        '200':
          description: Paginated list of media files
          content:
            application/json:
              schema:
                type: object
                properties:
                  pages:
                    type: integer
                    description: Total number of pages
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/MediaListItem'
              example:
                pages: 2
                results:
                  - id: e639003b-f727-4a1e-87bd-74a2c48ae41e
                    name: 6fba0ef5febb4400ae8778a5b854224d.png
                    originalName: cover-cyan.png
                    path: >-
                      https://uploads.postiz.com/6fba0ef5febb4400ae8778a5b854224d.png
                    createdAt: '2024-12-14T08:18:54.274Z'
components:
  schemas:
    MediaListItem:
      type: object
      properties:
        id:
          type: string
          description: Unique file ID
        name:
          type: string
          description: Stored file name
        originalName:
          type: string
          nullable: true
          description: File name as uploaded (searchable)
        path:
          type: string
          description: Public file URL, usable as a post attachment
        createdAt:
          type: string
          format: date-time
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Your Postiz API key

````

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