> ## 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.

# Direct Messages (/api-reference/engagement-messages/direct-messages)

List sent direct messages with engagement stats (sent, viewed, purchased, etc.).

## OpenAPI

````yaml https://app.onlyfansapi.com/scribe-docs/openapi.yaml get /api/{account}/engagement/messages/direct-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}/engagement/messages/direct-messages:
    parameters:
      - in: path
        name: account
        description: The Account ID
        example: acct_XXXXXXXXXXXXXXX
        required: true
        schema:
          type: string
    get:
      summary: Direct Messages
      operationId: directMessages
      description: List sent direct messages with engagement stats (sent, viewed,
        purchased, etc.).
      parameters:
        - in: query
          name: startDate
          description: The earliest message to retrieve. Keep empty to get all.
          example: 2026-01-07 00:00:00
          required: false
          schema:
            type: string
            description: The earliest message to retrieve. Keep empty to get all.
            example: 2026-01-07 00:00:00
        - in: query
          name: endDate
          description: The latest message to retrieve. Keep empty to get all. MUST BE DATE
            AFTER `startDate`. This is also used for pagination.
          example: 2026-02-06 01:26:15
          required: false
          schema:
            type: string
            description: The latest message to retrieve. Keep empty to get all. MUST BE DATE
              AFTER `startDate`. This is also used for pagination.
            example: 2026-02-06 01:26:15
        - in: query
          name: limit
          description: Number of messages to return (default = 10)
          example: 10
          required: false
          schema:
            type: integer
            description: Number of messages to return (default = 10)
            example: 10
        - in: query
          name: query
          description: Optionally, filter by message text.
          example: sciss
          required: false
          schema:
            type: string
            description: Optionally, filter by message text.
            example: sciss
        - in: query
          name: offset
          description: Optional offset for manual pagination.
          example: 0
          required: false
          schema:
            type: integer
            description: Optional offset for manual pagination.
            example: 0
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    hasMore: true
                    items:
                      - id: 2233445566
                        date: 2026-02-06T01:20:15+00:00
                        responseType: message
                        text: <p>SCISSORS</p>
                        rawText: SCISSORS
                        giphyId: null
                        isFree: false
                        isMediaReady: true
                        mediaCount: 1
                        media:
                          - id: 3344556677
                            type: photo
                            convertedToVideo: false
                            canView: true
                            hasError: false
                            createdAt: 2025-03-30T23:06:00+00:00
                            isReady: true
                            files:
                              full:
                                url: https://cdn.example.com/files/placeholder/image.jpg
                                width: 2801
                                height: 3735
                                size: 0
                                sources: []
                              thumb:
                                url: https://cdn.example.com/files/placeholder/thumb.jpg
                                width: 300
                                height: 300
                                size: 0
                              preview:
                                url: https://cdn.example.com/files/placeholder/preview.jpg
                                width: 960
                                height: 1281
                                size: 0
                              squarePreview:
                                url: https://cdn.example.com/files/placeholder/square.jpg
                                width: 960
                                height: 960
                                size: 0
                            duration: 0
                            hasCustomPreview: false
                            videoSources:
                              "240": null
                              "720": null
                        previews: []
                        isTip: false
                        isReportedByMe: false
                        viewedCount: 0
                        sentCount: 1
                        isCanceled: false
                        template: direct
                        messageId: 4455667788990
                        toUserId: 55667788
                        canUnsend: true
                        unsendSeconds: 1000000
                        price: "29.99"
                        purchasedCount: 0
                        canSendMessageToBuyers: false
                  _pagination:
                    next_page: https://app.onlyfansapi.com/api/acct_XXXXXXXXXX/engagement/messages/direct-messages?endDate=2026-02-06%2002%3A53%3A05&limit=10
                  _meta:
                    _credits:
                      used: 1
                      balance: 999999959
                      note: Always
                    _cache:
                      is_cached: false
                      note: Cache disabled for this endpoint
                    _rate_limits:
                      limit_minute: 1000
                      limit_day: 50000
                      remaining_minute: 998
                      remaining_day: 49988
                properties:
                  data:
                    type: object
                    properties:
                      hasMore:
                        type: boolean
                        example: true
                      items:
                        type: array
                        example:
                          - id: 2233445566
                            date: 2026-02-06T01:20:15+00:00
                            responseType: message
                            text: <p>SCISSORS</p>
                            rawText: SCISSORS
                            giphyId: null
                            isFree: false
                            isMediaReady: true
                            mediaCount: 1
                            media:
                              - id: 3344556677
                                type: photo
                                convertedToVideo: false
                                canView: true
                                hasError: false
                                createdAt: 2025-03-30T23:06:00+00:00
                                isReady: true
                                files:
                                  full:
                                    url: https://cdn.example.com/files/placeholder/image.jpg
                                    width: 2801
                                    height: 3735
                                    size: 0
                                    sources: []
                                  thumb:
                                    url: https://cdn.example.com/files/placeholder/thumb.jpg
                                    width: 300
                                    height: 300
                                    size: 0
                                  preview:
                                    url: https://cdn.example.com/files/placeholder/preview.jpg
                                    width: 960
                                    height: 1281
                                    size: 0
                                  squarePreview:
                                    url: https://cdn.example.com/files/placeholder/square.jpg
                                    width: 960
                                    height: 960
                                    size: 0
                                duration: 0
                                hasCustomPreview: false
                                videoSources:
                                  "240": null
                                  "720": null
                            previews: []
                            isTip: false
                            isReportedByMe: false
                            viewedCount: 0
                            sentCount: 1
                            isCanceled: false
                            template: direct
                            messageId: 4455667788990
                            toUserId: 55667788
                            canUnsend: true
                            unsendSeconds: 1000000
                            price: "29.99"
                            purchasedCount: 0
                            canSendMessageToBuyers: false
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 2233445566
                            date:
                              type: string
                              example: 2026-02-06T01:20:15+00:00
                            responseType:
                              type: string
                              example: message
                            text:
                              type: string
                              example: <p>SCISSORS</p>
                            rawText:
                              type: string
                              example: SCISSORS
                            giphyId:
                              type: string
                              example: null
                              nullable: true
                            isFree:
                              type: boolean
                              example: false
                            isMediaReady:
                              type: boolean
                              example: true
                            mediaCount:
                              type: integer
                              example: 1
                            media:
                              type: array
                              example:
                                - id: 3344556677
                                  type: photo
                                  convertedToVideo: false
                                  canView: true
                                  hasError: false
                                  createdAt: 2025-03-30T23:06:00+00:00
                                  isReady: true
                                  files:
                                    full:
                                      url: https://cdn.example.com/files/placeholder/image.jpg
                                      width: 2801
                                      height: 3735
                                      size: 0
                                      sources: []
                                    thumb:
                                      url: https://cdn.example.com/files/placeholder/thumb.jpg
                                      width: 300
                                      height: 300
                                      size: 0
                                    preview:
                                      url: https://cdn.example.com/files/placeholder/preview.jpg
                                      width: 960
                                      height: 1281
                                      size: 0
                                    squarePreview:
                                      url: https://cdn.example.com/files/placeholder/square.jpg
                                      width: 960
                                      height: 960
                                      size: 0
                                  duration: 0
                                  hasCustomPreview: false
                                  videoSources:
                                    "240": null
                                    "720": null
                              items:
                                type: object
                                properties:
                                  id:
                                    type: integer
                                    example: 3344556677
                                  type:
                                    type: string
                                    example: photo
                                  convertedToVideo:
                                    type: boolean
                                    example: false
                                  canView:
                                    type: boolean
                                    example: true
                                  hasError:
                                    type: boolean
                                    example: false
                                  createdAt:
                                    type: string
                                    example: 2025-03-30T23:06:00+00:00
                                  isReady:
                                    type: boolean
                                    example: true
                                  files:
                                    type: object
                                    properties:
                                      full:
                                        type: object
                                        properties:
                                          url:
                                            type: string
                                            example: https://cdn.example.com/files/placeholder/image.jpg
                                          width:
                                            type: integer
                                            example: 2801
                                          height:
                                            type: integer
                                            example: 3735
                                          size:
                                            type: integer
                                            example: 0
                                          sources:
                                            type: array
                                            example: []
                                      thumb:
                                        type: object
                                        properties:
                                          url:
                                            type: string
                                            example: https://cdn.example.com/files/placeholder/thumb.jpg
                                          width:
                                            type: integer
                                            example: 300
                                          height:
                                            type: integer
                                            example: 300
                                          size:
                                            type: integer
                                            example: 0
                                      preview:
                                        type: object
                                        properties:
                                          url:
                                            type: string
                                            example: https://cdn.example.com/files/placeholder/preview.jpg
                                          width:
                                            type: integer
                                            example: 960
                                          height:
                                            type: integer
                                            example: 1281
                                          size:
                                            type: integer
                                            example: 0
                                      squarePreview:
                                        type: object
                                        properties:
                                          url:
                                            type: string
                                            example: https://cdn.example.com/files/placeholder/square.jpg
                                          width:
                                            type: integer
                                            example: 960
                                          height:
                                            type: integer
                                            example: 960
                                          size:
                                            type: integer
                                            example: 0
                                  duration:
                                    type: integer
                                    example: 0
                                  hasCustomPreview:
                                    type: boolean
                                    example: false
                                  videoSources:
                                    type: object
                                    properties:
                                      "240":
                                        type: string
                                        example: null
                                        nullable: true
                                      "720":
                                        type: string
                                        example: null
                                        nullable: true
                            previews:
                              type: array
                              example: []
                            isTip:
                              type: boolean
                              example: false
                            isReportedByMe:
                              type: boolean
                              example: false
                            viewedCount:
                              type: integer
                              example: 0
                            sentCount:
                              type: integer
                              example: 1
                            isCanceled:
                              type: boolean
                              example: false
                            template:
                              type: string
                              example: direct
                            messageId:
                              type: integer
                              example: 4455667788990
                            toUserId:
                              type: integer
                              example: 55667788
                            canUnsend:
                              type: boolean
                              example: true
                            unsendSeconds:
                              type: integer
                              example: 1000000
                            price:
                              type: string
                              example: "29.99"
                            purchasedCount:
                              type: integer
                              example: 0
                            canSendMessageToBuyers:
                              type: boolean
                              example: false
                  _pagination:
                    type: object
                    properties:
                      next_page:
                        type: string
                        example: https://app.onlyfansapi.com/api/acct_XXXXXXXXXX/engagement/messages/direct-messages?endDate=2026-02-06%2002%3A53%3A05&limit=10
                  _meta:
                    type: object
                    properties:
                      _credits:
                        type: object
                        properties:
                          used:
                            type: integer
                            example: 1
                          balance:
                            type: integer
                            example: 999999959
                          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: 998
                          remaining_day:
                            type: integer
                            example: 49988
      tags:
        - Engagement / Messages
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: Get your API Key from OnlyFansAPI Console -
        https://app.onlyfansapi.com/api-keys
````