Reddit Messages API

Endpoints for managing private messages, including inbox, sent, unread messages, composing, and message actions.

Operations 6

GET /message/inbox Get Inbox Messages #
GET /message/unread Get Unread Messages #
GET /message/sent Get Sent Messages #
POST /api/compose Compose a Private Message #
POST /api/read_message Mark Messages As Read #
POST /api/read_all_messages Mark All Messages As Read #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/reddit-messages-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

reddit-messages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Reddit Data Messages API
  description: The Reddit Data API provides programmatic access to Reddit content including subreddits, posts, comments, user profiles, and voting data. Developers can use the API to read and submit content, manage subreddits, search across the platform, and interact with Reddit communities. All requests require OAuth 2.0 authentication via oauth.reddit.com, with rate limits of 60 requests per minute for authenticated clients.
  version: '1.0'
  contact:
    name: Reddit Developer Support
    url: https://support.reddithelp.com/hc/en-us/articles/16160319875092-Reddit-Data-API-Wiki
  termsOfService: https://www.redditinc.com/policies/data-api-terms
servers:
- url: https://oauth.reddit.com
  description: OAuth API Server
security:
- oauth2: []
tags:
- name: Messages
  description: Endpoints for managing private messages, including inbox, sent, unread messages, composing, and message actions.
paths:
  /message/inbox:
    get:
      operationId: getInbox
      summary: Get Inbox Messages
      description: Returns a listing of the authenticated user's inbox messages, including both private messages and comment replies. Requires the privatemessages OAuth scope.
      tags:
      - Messages
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/count'
      - name: mark
        in: query
        description: Whether to mark messages as read.
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: Listing of inbox messages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Listing'
  /message/unread:
    get:
      operationId: getUnreadMessages
      summary: Get Unread Messages
      description: Returns a listing of the authenticated user's unread messages. Requires the privatemessages OAuth scope.
      tags:
      - Messages
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/count'
      - name: mark
        in: query
        description: Whether to mark messages as read.
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: Listing of unread messages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Listing'
  /message/sent:
    get:
      operationId: getSentMessages
      summary: Get Sent Messages
      description: Returns a listing of the authenticated user's sent messages. Requires the privatemessages OAuth scope.
      tags:
      - Messages
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/count'
      responses:
        '200':
          description: Listing of sent messages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Listing'
  /api/compose:
    post:
      operationId: composeMessage
      summary: Compose a Private Message
      description: Sends a private message to another user or a subreddit's moderators. Requires the privatemessages OAuth scope.
      tags:
      - Messages
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - to
              - subject
              - text
              properties:
                to:
                  type: string
                  description: The recipient username or /r/subreddit for modmail.
                subject:
                  type: string
                  description: The subject of the message (max 100 characters).
                  maxLength: 100
                text:
                  type: string
                  description: The body of the message (markdown).
                api_type:
                  type: string
                  default: json
      responses:
        '200':
          description: Message sent successfully
        '403':
          description: Permission denied
  /api/read_message:
    post:
      operationId: readMessage
      summary: Mark Messages As Read
      description: Marks one or more messages as read. Requires the privatemessages OAuth scope.
      tags:
      - Messages
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  description: A comma-separated list of message fullnames to mark as read.
      responses:
        '200':
          description: Messages marked as read
  /api/read_all_messages:
    post:
      operationId: readAllMessages
      summary: Mark All Messages As Read
      description: Marks all of the authenticated user's messages as read. Requires the privatemessages OAuth scope.
      tags:
      - Messages
      responses:
        '200':
          description: All messages marked as read
components:
  parameters:
    before:
      name: before
      in: query
      description: The fullname of a thing used as an anchor for pagination. Returns results before this item.
      schema:
        type: string
    limit:
      name: limit
      in: query
      description: The maximum number of items to return (default 25, max 100).
      schema:
        type: integer
        default: 25
        minimum: 1
        maximum: 100
    after:
      name: after
      in: query
      description: The fullname of a thing used as an anchor for pagination. Returns results after this item.
      schema:
        type: string
    count:
      name: count
      in: query
      description: A positive integer indicating the number of items already seen in this listing, used for pagination numbering.
      schema:
        type: integer
        minimum: 0
  schemas:
    Listing:
      type: object
      description: A Reddit listing is a paginated collection of things. Listings contain a data object with children and pagination information.
      properties:
        kind:
          type: string
          description: The kind identifier, always "Listing".
          enum:
          - Listing
        data:
          type: object
          properties:
            after:
              type: string
              nullable: true
              description: The fullname of the next item for forward pagination.
            before:
              type: string
              nullable: true
              description: The fullname of the previous item for backward pagination.
            dist:
              type: integer
              description: The number of items in this listing.
            modhash:
              type: string
              description: A modhash for CSRF protection.
            children:
              type: array
              description: The list of things in this listing.
              items:
                $ref: '#/components/schemas/Thing'
    Thing:
      type: object
      description: A Reddit thing is the base object type. All Reddit objects (comments, links, subreddits, etc.) are things with a kind and data payload.
      properties:
        kind:
          type: string
          description: The kind identifier (t1 for comment, t2 for account, t3 for link, t4 for message, t5 for subreddit, t6 for award).
          enum:
          - t1
          - t2
          - t3
          - t4
          - t5
          - t6
        data:
          type: object
          description: The thing's data payload, varying by kind.
  securitySchemes:
    oauth2:
      type: oauth2
      description: Reddit uses OAuth 2.0 for authentication. All API requests must include a valid access token obtained through one of the supported OAuth grant types.
      flows:
        authorizationCode:
          authorizationUrl: https://www.reddit.com/api/v1/authorize
          tokenUrl: https://www.reddit.com/api/v1/access_token
          scopes:
            identity: Access user identity
            edit: Edit and delete content
            flair: Set user and link flair
            history: Access voting history
            modconfig: Manage subreddit configuration
            modflair: Manage subreddit flair
            modlog: Access moderation log
            modposts: Approve and remove content
            modwiki: Manage wiki pages
            mysubreddits: Access subscribed subreddits
            privatemessages: Access private messages
            read: Read content
            report: Report content
            save: Save and unsave content
            submit: Submit content
            subscribe: Manage subscriptions
            vote: Vote on content
            wikiedit: Edit wiki pages
            wikiread: Read wiki pages
externalDocs:
  description: Reddit API Documentation
  url: https://www.reddit.com/dev/api