YepAPI
Reddit API

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.

POST/v1/reddit/post
$0.01/call

The 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

ParameterTypeRequiredDescriptionDefault
urlstringYesFull 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

FieldTypeDescription
okbooleanWhether the request succeeded
data.idstringPost ID (base36)
data.namestringFullname, t3_ + ID — the same value Reddit uses in cursors
data.titlestringPost title
data.authorstringAuthor username
data.subredditstringSubreddit name without r/
data.permalinkstringFull reddit.com URL of the post — pass it to /v1/reddit/post or /v1/reddit/post-comments
data.urlstringLink target: the external URL, image, or the post itself for text posts
data.domainstringDomain of url (self.<subreddit> for text posts)
data.selftextstringBody of a text post in Markdown (empty for link posts)
data.scorenumberNet upvotes
data.upvote_rationumberShare of upvotes, 0–1
data.num_commentsnumberComment count
data.num_crosspostsnumberCrosspost count
data.created_utcnumberUnix timestamp (seconds)
data.created_atstringISO 8601 timestamp
data.flairstring | nullPost flair text
data.is_selfbooleanText post (no external link)
data.is_videobooleanReddit-hosted video
data.over_18booleanMarked NSFW
data.spoilerbooleanMarked as spoiler
data.stickiedbooleanPinned by moderators
data.lockedbooleanComments locked
data.thumbnailstring | nullThumbnail image URL
data.imagesstring[]Full-size image URLs (preview images and gallery items)
data.video_urlstring | nullMP4 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

StatusCodeWhen
400VALIDATION_ERRORurl is not a full Reddit post URL (short redd.it links are rejected)
404NOT_FOUNDPost not found or removed
429RATE_LIMITED_UPSTREAMToo many requests in a short burst — retry after a few seconds
502UPSTREAM_ERRORTemporary problem fetching data from Reddit — retry

Failed calls are not charged.

On this page