Reddit API
11 endpoints read Reddit: posts, users, communities, trends. From $0.0020 a call. No Reddit login and no cookie; a failed call is free.
One call, as it came back
A recorded call, fields already tidied up: ready for an AI or a spreadsheet.The first 5 rows of a response recorded 2026-10-12 18:43 UTC.
Run it in the Playground · $0.0020{
"code": "ok",
"request_id": "e5368130-2302-4850-b4a8-c7eb44f93554",
"data": {
"items": [
{
"id": "t3_c6zfcsj",
"url": "https://www.reddit.com/r/hiking/comments/c6zfcsj/",
"type": "image",
"title": "Everything I pack for saturn rings",
"text": null,
"lang": "en",
"published_at": "2024-11-22T01:25:15.633Z",
"author": {
"id": "t2_ulkupadj",
"username": "maya_makes",
"avatar_url": "https://styles.redditmedia.com/t5_7z4w4c/styles/profileIcon_giouwc19cllx7.png"
},
"metrics": { "comments": 213 },
"images": ["https://i.redd.it/lmqqmsves43vx.jpeg"],
"is_pinned": false
},
// … 6 more
]
},
"page": {
"next_cursor": "c1.QZa1D_DF2UeCuT2KXm3EnAtguUJjsyD68oCTkkOq",
"cursor_expires_at": "2026-10-12T19:43:12.000Z",
"has_more": true,
"returned": 7
},
"warnings": [],
"meta": {
"capability": "reddit.posts.search",
"result_status": "complete",
"fetched_at": "2026-10-12T18:43:12.000Z",
"cached": false,
"replayed": false,
"unavailable": {
"metrics.likes": "platform",
"metrics.favorites": "platform",
"metrics.views": "capability",
"metrics.reposts": "platform",
"author.name": "platform",
"author.verified": "capability",
"author.followers": "capability",
"hashtags": "platform",
"mentions": "capability",
"post_id": "platform",
"parent_id": "platform",
"root_id": "platform",
"metrics.shares": "capability"
},
"billing": {
"amount": "0.002",
"currency": "USD",
"balance_after": "9.998"
}
}
}From a response recorded 2026-10-12 18:43 UTC. Names, text and IDs are examples, and so are the links: none is the recorded one (the page shows no one's personal data); the figures are as recorded. Long lists are cut. The request ID, cursor and balance are made up.
What you can get
Each row is an endpoint: what it returns and what one call costs.
What people build with it
Ready-made tasks your AI can run on Reddit data. Each is a few calls under a spending cap.
Comments and word of mouth
“What are people praising and complaining about under this post?”
Competitor account monitoring
“What did competitors post this week, and which post took off?”
Keyword search and mentions
“What is being said about this brand or keyword on each platform?”
Ask about Reddit right inside Claude or Cursor
Add the DataXAPI MCP server and the AI finds the Reddit endpoint it needs and calls it; answers link back to the source. You pay for the calls it makes.
https://api.dataxapi.com/mcpStart in three steps
The call shown here is Reddit post search. Every other Reddit endpoint is called the same way and answers in the same envelope.
Get a key
Sign in with an emailed code or Google. Free trial, no card needed.
Call it, or let your AI call it
One GET from your code. Or paste this prompt into your agent with your key in it: it sets itself up, then finds and calls these endpoints by itself.
Read the same shape every time
Items are in data.items (one object in data.item), the next page in page.next_cursor, the charge in meta.billing.amount. A failed call is not charged.
curl -G "https://api.dataxapi.com/v1/reddit/posts/search" \ --data-urlencode "query=saturn rings" \ -H "Authorization: Bearer $DATAXAPI_API_KEY"
from dataxapi import DataXAPI dx = DataXAPI() # reads DATAXAPI_API_KEY result = dx.reddit.posts.search(query="saturn rings") print(result["data"]["items"])
import { DataXAPI } from "@dataxapi/sdk";
const dx = new DataXAPI(); // reads DATAXAPI_API_KEY
const result = await dx.reddit.posts.search({ query: "saturn rings" });
console.log(result.data.items);dataxapi call reddit.posts.search 'query=saturn rings'{
"mcpServers": {
"dataxapi": {
"type": "http",
"url": "https://api.dataxapi.com/mcp",
"headers": {
"Authorization": "Bearer ${DATAXAPI_API_KEY}"
}
}
}
}Add this to your MCP client, then ask your agent to call reddit.posts.search.
Edge cases
What the Reddit endpoints do at their edges, and what to check when a call does not return what you expected.
- Page sizes
- A list returns 6 to 500 items a page, depending on the endpoint. 5 of the 7 lists go on to a next page:
page.next_cursor, passed back ascursor, each page a call of its own. The others return one page only. - Fields it cannot give
- 9 of the 11 endpoints cannot fill every field of the object they return. Each endpoint's page lists which, and every answer repeats them in
meta.unavailable: a missing field is never a silent zero. - A missing object that reads as empty
- Reddit community posts: an object that does not exist cannot be told from one with nothing under it, so the answer is an empty result, not a 404, and is charged as an empty result is.
- Preview structures
- 2 endpoints return a preview structure whose fields may still change; the others return a standard object, the same on every platform.
- Snapshots
- Reddit trending searches: a board is a snapshot refreshed every 10 minutes, and
meta.fetched_atsays when it was taken. - Post IDs carry t3_
- Pass the post ID with its t3_ prefix, or the post's link (reddit.com/r/<community>/comments/<id>/).
- Comments, page by page
- A page holds a few top-level comments with their first levels of replies; the cursor brings the next top-level ones. Deeper replies that Reddit folds away are not followed.
- Hidden scores
- While Reddit still hides a comment's score, it comes back as null, not as 1.
- Communities and users by name
- Communities take the name without r/, users the username without u/. A community that does not exist returns an empty post list, charged as an empty result.
- Only videos Reddit hosts
- Transcripts come only for videos Reddit hosts and captions. A video embedded from another site, or one without captions, reads as not found, not charged.
Questions about the Reddit API
Short answers. The details are on each endpoint's page.
How is the Reddit API priced?
Per call, no subscription. All 11 endpoints cost $0.0020 a call. You are charged when data comes back; a failed call costs nothing.
Do I need a Reddit account or a cookie?
No. One DataXAPI key is all you hold: no Reddit login, no cookie, no device to keep alive. The endpoints return publicly visible data only.
Is the data live?
A call fetches from Reddit at that moment, and meta.fetched_at says when. Reddit trending searches: a board is a snapshot refreshed every 10 minutes. A result is kept for 24 hours, so a retry with the same Idempotency-Key is not charged again.
Is an empty result charged?
A list that comes back empty is charged its price: the search was run. Reading one object that does not exist answers not_found and is free.
What happens when Reddit changes something?
A call that fails is not charged, whatever the reason. An endpoint that is paused answers capability_paused, also free, and GET /v1/catalog/status says what is up right now.
Related
Call Reddit with one key.
Free trial on sign-up: up to 50 calls at $0.0020. No card. No Reddit login, no cookie, no subscription. A failed call is free.