Reddit Post API
Reddit Post API — get one Reddit post by URL with title, body, author, score, upvote ratio, comment count, images, and video. JSON, $0.01 per call.
/v1/reddit/postThe Reddit Post API returns a single post from its URL: title, Markdown body, author, score, upvote ratio, comment count, flair, images, and the video URL for Reddit-hosted videos. For the discussion underneath, call the Reddit Comments API with the same URL.
Usage
const res = await fetch('https://api.yepapi.com/v1/reddit/post', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({"url": "https://www.reddit.com/r/Python/comments/1xennpj/sunday_daily_thread_whats_everyone_working_on/"}),
});
const { data } = await res.json();
console.log(data);curl -X POST https://api.yepapi.com/v1/reddit/post \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://www.reddit.com/r/Python/comments/1xennpj/sunday_daily_thread_whats_everyone_working_on/"}'import requests
res = requests.post(
"https://api.yepapi.com/v1/reddit/post",
headers={"x-api-key": "YOUR_API_KEY"},
json={"url": "https://www.reddit.com/r/Python/comments/1xennpj/sunday_daily_thread_whats_everyone_working_on/"},
)
print(res.json()["data"])Request Body
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
url | string | Yes | Full Reddit post URL, e.g. https://www.reddit.com/r/Python/comments/1xennpj/post_title/ (old.reddit.com works; redd.it short links do not) | — |
Response
{
"ok": true,
"data": {
"author": "AutoModerator",
"created_at": "2026-10-25T00:00:09+00:00",
"created_utc": 1792886409,
"domain": "self.Python",
"flair": ":pythonLogo: Daily Thread",
"id": "1xennpj",
"images": [],
"is_self": true,
"is_video": false,
"locked": false,
"name": "t3_1xennpj",
"num_comments": 35,
"num_crossposts": 0,
"over_18": false,
"permalink": "https://www.reddit.com/r/Python/comments/1xennpj/sunday_daily_thread_whats_everyone_working_on/",
"score": 21,
"selftext": "# Weekly Thread: What's Everyone Working On This Week? 🛠️\n\nHello r/Python! It's time to share what you've been working on! Whether it's a work-in-progress, a completed masterpiece, or just a rough ide…",
"spoiler": false,
"stickied": true,
"subreddit": "Python",
"thumbnail": null,
"title": "Sunday Daily Thread: What's everyone working on this week?",
"upvote_ratio": 0.94,
"url": "https://www.reddit.com/r/Python/comments/1xennpj/sunday_daily_thread_whats_everyone_working_on/",
"video_url": null
}
}Response Fields
| Field | Type | Description |
|---|---|---|
ok | boolean | Whether the request succeeded |
data.id | string | Post ID (base36) |
data.name | string | Fullname, t3_ + ID — the same value Reddit uses in cursors |
data.title | string | Post title |
data.author | string | Author username |
data.subreddit | string | Subreddit name without r/ |
data.permalink | string | Full reddit.com URL of the post — pass it to /v1/reddit/post or /v1/reddit/post-comments |
data.url | string | Link target: the external URL, image, or the post itself for text posts |
data.domain | string | Domain of url (self.<subreddit> for text posts) |
data.selftext | string | Body of a text post in Markdown (empty for link posts) |
data.score | number | Net upvotes |
data.upvote_ratio | number | Share of upvotes, 0–1 |
data.num_comments | number | Comment count |
data.num_crossposts | number | Crosspost count |
data.created_utc | number | Unix timestamp (seconds) |
data.created_at | string | ISO 8601 timestamp |
data.flair | string | null | Post flair text |
data.is_self | boolean | Text post (no external link) |
data.is_video | boolean | Reddit-hosted video |
data.over_18 | boolean | Marked NSFW |
data.spoiler | boolean | Marked as spoiler |
data.stickied | boolean | Pinned by moderators |
data.locked | boolean | Comments locked |
data.thumbnail | string | null | Thumbnail image URL |
data.images | string[] | Full-size image URLs (preview images and gallery items) |
data.video_url | string | null | MP4 URL for Reddit-hosted videos |
Caching
Responses are cached for 30 minutes, so score and num_comments can lag the live post by up to that long.
Errors
| Status | Code | When |
|---|---|---|
400 | VALIDATION_ERROR | url is not a full Reddit post URL (short redd.it links are rejected) |
404 | NOT_FOUND | Post not found or removed |
429 | RATE_LIMITED_UPSTREAM | Too many requests in a short burst — retry after a few seconds |
502 | UPSTREAM_ERROR | Temporary problem fetching data from Reddit — retry |
Failed calls are not charged.
Related Endpoints
- Reddit Comments API — the comment tree for this post
- Subreddit Info — the community the post is in
- Reddit User API — the author's profile
Similar Subreddits API
Find subreddits similar to a given community, with names, descriptions, member counts, and icons. JSON, $0.01 per call.
Reddit Comments API
Reddit Comments API and comment scraper — get the full nested comment tree for any Reddit post, sorted by top, new, controversial, old, or Q&A. JSON, $0.01 per call.