Reddit Messages API
Endpoints for managing private messages, including inbox, sent, unread messages, composing, and message actions.
Endpoints for managing private messages, including inbox, sent, unread messages, composing, and message actions.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/reddit-messages-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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:
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.
parameters:
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
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
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
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
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