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

# List Chat Messages (/api-reference/chat-messages/list-chat-messages)

Get messages from a specific chat.

## OpenAPI

````yaml https://app.onlyfansapi.com/scribe-docs/openapi.yaml get /api/{account}/chats/{chat_id}/messages
openapi: 3.0.3
info:
  title: OnlyFans API
  description: ""
  version: 1.0.0
servers:
  - url: https://app.onlyfansapi.com
security:
  - default: []
tags:
  - name: API Keys
    description: ""
  - name: Account
    description: Endpoints for your linked accounts
  - name: Analytics - Financial
    description: APIs for retrieving financial analytics data
  - name: Analytics - Summary
    description: APIs for retrieving summary analytics data
  - name: Banking
    description: Operations related to user banking details, payout methods, legal
      and tax information, and account country settings.
  - name: Chargebacks
    description: ""
  - name: Chat Messages
    description: ""
  - name: Chats
    description: ""
  - name: Client Sessions
    description: ""
  - name: Connect OnlyFans Account
    description: ""
  - name: Data Exports
    description: APIs for managing data exports
  - name: Engagement / Messages
    description: ""
  - name: Fans
    description: APIs for managing OnlyFans fans (subscribers)
  - name: Fans - AI Summary
    description: APIs for generating and retrieving AI-powered fan profile summaries
  - name: Following
    description: APIs for managing OnlyFans followings (people you're subscribed to)
  - name: Free Trial Links
    description: APIs for managing Free Trial Links
  - name: Giphy
    description: ""
  - name: Link Tags
    description: APIs for managing tags on free trial links and tracking links
  - name: Mass Messaging
    description: ""
  - name: Media
    description: ""
  - name: Media Vault
    description: ""
  - name: Media Vault Lists
    description: ""
  - name: Notifications
    description: Endpoints for managingr account notifications
  - name: Payouts
    description: ""
  - name: Post Comments
    description: ""
  - name: Post Labels
    description: APIs for managing your post labels
  - name: Posts
    description: APIs for managing OnlyFans posts
  - name: Promotions
    description: ""
  - name: Public Profiles
    description: ""
  - name: Queue
    description: ""
  - name: Release Forms
    description: APIs for managing OnlyFans release forms
  - name: Saved For Later (Messages)
    description: ""
  - name: Saved For Later (Posts)
    description: ""
  - name: Settings
    description: ""
  - name: Shared Free Trial Links
    description: APIs for Free Trial Links that other OF creators have shared with
      this account. Revenue, cost, and spender data are not available for shared
      links.
  - name: Shared Tracking Links
    description: APIs for Tracking Links (campaigns) that other OF creators have
      shared with this account. Revenue, cost, and spender data are not
      available for shared campaigns.
  - name: Smart Link Postbacks
    description: APIs for managing Smart Link postback destinations
  - name: Smart Links
    description: APIs for managing Smart Links (Free Trial Links and Tracking Links
      with pooled inventory)
  - name: Statistics
    description: ""
  - name: Stored Free Trial Links
    description: Instant APIs for retrieving stored free trial links from the
      OnlyFansAPI Cache (free, no credits used)
  - name: Stored Shared Free Trial Links
    description: Instant APIs for retrieving stored shared Free Trial Links from the
      OnlyFansAPI Cache (free, no credits used)
  - name: Stored Shared Tracking Links
    description: Instant APIs for retrieving stored shared Tracking Links
      (campaigns) from the OnlyFansAPI Cache (free, no credits used)
  - name: Stored Tracking Links
    description: Instant APIs for retrieving stored tracking links from the
      OnlyFansAPI Cache (free, no credits used)
  - name: Stories
    description: APIs for managing OnlyFans stories
  - name: Story Highlights
    description: APIs for managing OnlyFans story highlights
  - name: Subscription Bundles
    description: ""
  - name: Tracking Links
    description: APIs for managing tracking links
  - name: Transactions
    description: APIs for managing OnlyFans transactions
  - name: User List Collections
    description: ""
  - name: Users
    description: APIs for fetching OnlyFans users
  - name: Webhooks
    description: ""
paths:
  /api/{account}/chats/{chat_id}/messages:
    parameters:
      - in: path
        name: account
        description: The Account ID
        example: acct_XXXXXXXXXXXXXXX
        required: true
        schema:
          type: string
      - in: path
        name: chat_id
        description: The ID of the chat (usually a fan's OnlyFans User ID)
        example: "123"
        required: true
        schema:
          type: string
    get:
      summary: List Chat Messages
      operationId: listChatMessages
      description: Get messages from a specific chat.
      parameters:
        - in: query
          name: limit
          description: The number of messages to return (default = 10, max = 100)
          example: 10
          required: false
          schema:
            type: string
            description: The number of messages to return (default = 10, max = 100)
            example: 10
        - in: query
          name: filter
          description: Filter by certain messages. Currently, only pins are filterable.
          example: pinned
          required: false
          schema:
            type: string
            description: Filter by certain messages. Currently, only pins are filterable.
            example: pinned
            enum:
              - pinned
        - in: query
          name: first_id
          description: Use for pagination when `order=desc` (newest to oldest). Include
            this message ID as the first message in the results. Used to
            retrieve messages from e.g. the Search Chat Messages endpoint IDs.
          example: 123
          required: false
          schema:
            type: string
            description: Use for pagination when `order=desc` (newest to oldest). Include
              this message ID as the first message in the results. Used to
              retrieve messages from e.g. the Search Chat Messages endpoint IDs.
            example: 123
            nullable: true
        - in: query
          name: last_id
          description: Use for pagination when `order=asc` (oldest to newest). Include
            this message ID as the first message in the results. WARNING! The
            response list of messages will also be inverted (oldest messages
            will be first, opposite to default where `order=desc`).
          example: 123
          required: false
          schema:
            type: string
            description: Use for pagination when `order=asc` (oldest to newest). Include
              this message ID as the first message in the results. WARNING! The
              response list of messages will also be inverted (oldest messages
              will be first, opposite to default where `order=desc`).
            example: 123
            nullable: true
        - in: query
          name: order
          description: Sort order for messages (desc or asc)
          example: desc
          required: false
          schema:
            type: string
            description: Sort order for messages (desc or asc)
            example: desc
        - in: query
          name: skip_users
          description: Whether to skip user details (all or none)
          example: all
          required: false
          schema:
            type: string
            description: Whether to skip user details (all or none)
            example: all
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    - responseType: message
                      text: <p>yes lets do it</p>
                      giphyId: null
                      lockedText: false
                      isFree: true
                      price: 0
                      isMediaReady: true
                      mediaCount: 0
                      media: []
                      previews: []
                      isTip: false
                      isReportedByMe: false
                      isCouplePeopleMedia: false
                      queueId: 12345678901
                      isMarkdownDisabled: true
                      releaseForms: []
                      fromUser:
                        id: 987654321
                        _view: s
                      isFromQueue: false
                      id: 1234567890123
                      isOpened: false
                      isNew: true
                      createdAt: 2025-09-02T21:02:18+00:00
                      changedAt: 2025-09-02T21:02:18+00:00
                      cancelSeconds: 86396
                      isLiked: false
                      canPurchase: false
                      canPurchaseReason: free
                      canReport: false
                      canBePinned: true
                      isPinned: false
                      isSentByMe: true
                    - responseType: message
                      text: <p>Are you ready for video call now ? </p>
                      giphyId: null
                      lockedText: false
                      isFree: true
                      price: 0
                      isMediaReady: true
                      mediaCount: 1
                      media:
                        - id: 9876543210
                          type: video
                          convertedToVideo: false
                          canView: true
                          hasError: false
                          createdAt: null
                          isReady: true
                          files:
                            full:
                              url: null
                              width: 480
                              height: 848
                              size: 0
                              sources: []
                            thumb:
                              url: https://cdn2.onlyfans.com/files/ANONYMIZED_PATH/300x300_ANONYMIZED_FILENAME.jpg?Tag=2&u=987654321&Policy=ANONYMIZED_POLICY&Signature=ANONYMIZED_SIGNATURE&Key-Pair-Id=ANONYMIZED_KEY_PAIR_ID
                              width: 300
                              height: 300
                              size: 0
                            preview:
                              url: https://cdn2.onlyfans.com/files/ANONYMIZED_PATH/480x848_ANONYMIZED_FILENAME.jpg?Tag=2&u=987654321&Policy=ANONYMIZED_POLICY&Signature=ANONYMIZED_SIGNATURE&Key-Pair-Id=ANONYMIZED_KEY_PAIR_ID
                              width: 480
                              height: 848
                              size: 0
                            squarePreview:
                              url: https://cdn2.onlyfans.com/files/ANONYMIZED_PATH/960x960_ANONYMIZED_FILENAME.jpg?Tag=2&u=987654321&Policy=ANONYMIZED_POLICY&Signature=ANONYMIZED_SIGNATURE&Key-Pair-Id=ANONYMIZED_KEY_PAIR_ID
                              width: 960
                              height: 960
                              size: 0
                            drm:
                              manifest:
                                hls: https://cdn3.onlyfans.com/hls/files/ANONYMIZED_PATH/ANONYMIZED_FILENAME.m3u8
                                dash: https://cdn3.onlyfans.com/dash/files/ANONYMIZED_PATH/ANONYMIZED_FILENAME.mpd
                              signature:
                                hls:
                                  CloudFront-Policy: ANONYMIZED_CLOUDFRONT_POLICY
                                  CloudFront-Signature: ANONYMIZED_CLOUDFRONT_SIGNATURE
                                  CloudFront-Key-Pair-Id: ANONYMIZED_CLOUDFRONT_KEY_PAIR_ID
                                dash:
                                  CloudFront-Policy: ANONYMIZED_CLOUDFRONT_POLICY
                                  CloudFront-Signature: ANONYMIZED_CLOUDFRONT_SIGNATURE
                                  CloudFront-Key-Pair-Id: ANONYMIZED_CLOUDFRONT_KEY_PAIR_ID
                          duration: 9
                          hasCustomPreview: false
                          videoSources:
                            "240": null
                            "720": null
                      previews: []
                      isTip: false
                      isReportedByMe: false
                      isCouplePeopleMedia: false
                      queueId: 12345678902
                      isMarkdownDisabled: true
                      fromUser:
                        id: 123456789
                        _view: s
                      isFromQueue: true
                      canUnsendQueue: true
                      unsendSecondsQueue: 1000000
                      id: 1234567890124
                      isOpened: false
                      isNew: false
                      createdAt: 2025-09-02T20:35:13+00:00
                      changedAt: 2025-09-02T20:35:13+00:00
                      cancelSeconds: 85047
                      isLiked: false
                      canPurchase: false
                      canPurchaseReason: free
                      canReport: true
                      canBePinned: true
                      isPinned: false
                      isSentByMe: false
                  _pagination:
                    next_page: https://app.onlyfansapi.com/api/acct_ANONYMIZED_ACCOUNT_ID/chats/987654321/messages?order=desc&skip_users=all&id=1234567890125
                  _meta:
                    _credits:
                      used: 1
                      balance: 224891
                      note: Always
                    _cache:
                      is_cached: false
                      note: Cache disabled for this endpoint
                    _rate_limits:
                      limit_minute: 1000
                      limit_day: 50000
                      remaining_minute: 999
                      remaining_day: 49984
                properties:
                  data:
                    type: array
                    example:
                      - responseType: message
                        text: <p>yes lets do it</p>
                        giphyId: null
                        lockedText: false
                        isFree: true
                        price: 0
                        isMediaReady: true
                        mediaCount: 0
                        media: []
                        previews: []
                        isTip: false
                        isReportedByMe: false
                        isCouplePeopleMedia: false
                        queueId: 12345678901
                        isMarkdownDisabled: true
                        releaseForms: []
                        fromUser:
                          id: 987654321
                          _view: s
                        isFromQueue: false
                        id: 1234567890123
                        isOpened: false
                        isNew: true
                        createdAt: 2025-09-02T21:02:18+00:00
                        changedAt: 2025-09-02T21:02:18+00:00
                        cancelSeconds: 86396
                        isLiked: false
                        canPurchase: false
                        canPurchaseReason: free
                        canReport: false
                        canBePinned: true
                        isPinned: false
                        isSentByMe: true
                      - responseType: message
                        text: <p>Are you ready for video call now ? </p>
                        giphyId: null
                        lockedText: false
                        isFree: true
                        price: 0
                        isMediaReady: true
                        mediaCount: 1
                        media:
                          - id: 9876543210
                            type: video
                            convertedToVideo: false
                            canView: true
                            hasError: false
                            createdAt: null
                            isReady: true
                            files:
                              full:
                                url: null
                                width: 480
                                height: 848
                                size: 0
                                sources: []
                              thumb:
                                url: https://cdn2.onlyfans.com/files/ANONYMIZED_PATH/300x300_ANONYMIZED_FILENAME.jpg?Tag=2&u=987654321&Policy=ANONYMIZED_POLICY&Signature=ANONYMIZED_SIGNATURE&Key-Pair-Id=ANONYMIZED_KEY_PAIR_ID
                                width: 300
                                height: 300
                                size: 0
                              preview:
                                url: https://cdn2.onlyfans.com/files/ANONYMIZED_PATH/480x848_ANONYMIZED_FILENAME.jpg?Tag=2&u=987654321&Policy=ANONYMIZED_POLICY&Signature=ANONYMIZED_SIGNATURE&Key-Pair-Id=ANONYMIZED_KEY_PAIR_ID
                                width: 480
                                height: 848
                                size: 0
                              squarePreview:
                                url: https://cdn2.onlyfans.com/files/ANONYMIZED_PATH/960x960_ANONYMIZED_FILENAME.jpg?Tag=2&u=987654321&Policy=ANONYMIZED_POLICY&Signature=ANONYMIZED_SIGNATURE&Key-Pair-Id=ANONYMIZED_KEY_PAIR_ID
                                width: 960
                                height: 960
                                size: 0
                              drm:
                                manifest:
                                  hls: https://cdn3.onlyfans.com/hls/files/ANONYMIZED_PATH/ANONYMIZED_FILENAME.m3u8
                                  dash: https://cdn3.onlyfans.com/dash/files/ANONYMIZED_PATH/ANONYMIZED_FILENAME.mpd
                                signature:
                                  hls:
                                    CloudFront-Policy: ANONYMIZED_CLOUDFRONT_POLICY
                                    CloudFront-Signature: ANONYMIZED_CLOUDFRONT_SIGNATURE
                                    CloudFront-Key-Pair-Id: ANONYMIZED_CLOUDFRONT_KEY_PAIR_ID
                                  dash:
                                    CloudFront-Policy: ANONYMIZED_CLOUDFRONT_POLICY
                                    CloudFront-Signature: ANONYMIZED_CLOUDFRONT_SIGNATURE
                                    CloudFront-Key-Pair-Id: ANONYMIZED_CLOUDFRONT_KEY_PAIR_ID
                            duration: 9
                            hasCustomPreview: false
                            videoSources:
                              "240": null
                              "720": null
                        previews: []
                        isTip: false
                        isReportedByMe: false
                        isCouplePeopleMedia: false
                        queueId: 12345678902
                        isMarkdownDisabled: true
                        fromUser:
                          id: 123456789
                          _view: s
                        isFromQueue: true
                        canUnsendQueue: true
                        unsendSecondsQueue: 1000000
                        id: 1234567890124
                        isOpened: false
                        isNew: false
                        createdAt: 2025-09-02T20:35:13+00:00
                        changedAt: 2025-09-02T20:35:13+00:00
                        cancelSeconds: 85047
                        isLiked: false
                        canPurchase: false
                        canPurchaseReason: free
                        canReport: true
                        canBePinned: true
                        isPinned: false
                        isSentByMe: false
                    items:
                      type: object
                      properties:
                        responseType:
                          type: string
                          example: message
                        text:
                          type: string
                          example: <p>yes lets do it</p>
                        giphyId:
                          type: string
                          example: null
                          nullable: true
                        lockedText:
                          type: boolean
                          example: false
                        isFree:
                          type: boolean
                          example: true
                        price:
                          type: integer
                          example: 0
                        isMediaReady:
                          type: boolean
                          example: true
                        mediaCount:
                          type: integer
                          example: 0
                        media:
                          type: array
                          example: []
                        previews:
                          type: array
                          example: []
                        isTip:
                          type: boolean
                          example: false
                        isReportedByMe:
                          type: boolean
                          example: false
                        isCouplePeopleMedia:
                          type: boolean
                          example: false
                        queueId:
                          type: integer
                          example: 12345678901
                        isMarkdownDisabled:
                          type: boolean
                          example: true
                        releaseForms:
                          type: array
                          example: []
                        fromUser:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 987654321
                            _view:
                              type: string
                              example: s
                        isFromQueue:
                          type: boolean
                          example: false
                        id:
                          type: integer
                          example: 1234567890123
                        isOpened:
                          type: boolean
                          example: false
                        isNew:
                          type: boolean
                          example: true
                        createdAt:
                          type: string
                          example: 2025-09-02T21:02:18+00:00
                        changedAt:
                          type: string
                          example: 2025-09-02T21:02:18+00:00
                        cancelSeconds:
                          type: integer
                          example: 86396
                        isLiked:
                          type: boolean
                          example: false
                        canPurchase:
                          type: boolean
                          example: false
                        canPurchaseReason:
                          type: string
                          example: free
                        canReport:
                          type: boolean
                          example: false
                        canBePinned:
                          type: boolean
                          example: true
                        isPinned:
                          type: boolean
                          example: false
                        isSentByMe:
                          type: boolean
                          example: true
                  _pagination:
                    type: object
                    properties:
                      next_page:
                        type: string
                        example: https://app.onlyfansapi.com/api/acct_ANONYMIZED_ACCOUNT_ID/chats/987654321/messages?order=desc&skip_users=all&id=1234567890125
                  _meta:
                    type: object
                    properties:
                      _credits:
                        type: object
                        properties:
                          used:
                            type: integer
                            example: 1
                          balance:
                            type: integer
                            example: 224891
                          note:
                            type: string
                            example: Always
                      _cache:
                        type: object
                        properties:
                          is_cached:
                            type: boolean
                            example: false
                          note:
                            type: string
                            example: Cache disabled for this endpoint
                      _rate_limits:
                        type: object
                        properties:
                          limit_minute:
                            type: integer
                            example: 1000
                          limit_day:
                            type: integer
                            example: 50000
                          remaining_minute:
                            type: integer
                            example: 999
                          remaining_day:
                            type: integer
                            example: 49984
      tags:
        - Chat Messages
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: Get your API Key from OnlyFansAPI Console -
        https://app.onlyfansapi.com/api-keys
````