Reddit · Schema
Reddit Post (Submission)
Represents a Reddit submission (also known as a post or link), including its content, metadata, voting data, and associated subreddit information.
AdvertisingCommunitiesContentSocial MediaSocial News
Properties
| Name | Type | Description |
|---|---|---|
| id | string | The unique ID36 identifier for the post. |
| name | string | The fullname of the post, with the t3_ prefix. |
| subreddit | string | The name of the subreddit the post was submitted to, without the r/ prefix. |
| subreddit_id | string | The fullname of the subreddit. |
| title | string | The title of the post. |
| author | string | The username of the post author. |
| author_fullname | string | The fullname of the post author. |
| selftext | string | The body text of a self-post in markdown format. Empty string for link posts. |
| selftext_html | stringnull | The body text of a self-post rendered as HTML. |
| url | string | The URL of the linked content, or the permalink for self-posts. |
| permalink | string | The relative permalink URL of the post on Reddit. |
| domain | string | The domain of the linked URL. |
| is_self | boolean | Whether the post is a self-post (text post) rather than a link post. |
| is_video | boolean | Whether the post contains hosted video content. |
| score | integer | The net score (upvotes minus downvotes) of the post. |
| ups | integer | The number of upvotes. |
| downs | integer | The number of downvotes. |
| upvote_ratio | number | The ratio of upvotes to total votes, between 0.0 and 1.0. |
| num_comments | integer | The number of comments on the post. |
| created_utc | number | The Unix timestamp of when the post was created. |
| edited | numberboolean | The Unix timestamp of the last edit, or false if never edited. |
| over_18 | boolean | Whether the post is marked as NSFW. |
| spoiler | boolean | Whether the post is marked as a spoiler. |
| stickied | boolean | Whether the post is stickied (pinned) in the subreddit. |
| locked | boolean | Whether the post is locked from new comments. |
| archived | boolean | Whether the post is archived and no longer accepts votes or comments. |
| hidden | boolean | Whether the post is hidden by the authenticated user. |
| saved | boolean | Whether the post is saved by the authenticated user. |
| distinguished | stringnull | Whether the post has been distinguished by a moderator or admin. |
| link_flair_text | stringnull | The text of the link flair applied to the post. |
| link_flair_css_class | stringnull | The CSS class of the link flair. |
| thumbnail | string | The URL of the post thumbnail, or a placeholder value like self, default, image, or nsfw. |
| thumbnail_width | integernull | The width of the thumbnail in pixels. |
| thumbnail_height | integernull | The height of the thumbnail in pixels. |
| media | objectnull | Media metadata for video or embedded content posts. |
| gilded | integer | The number of times this post has been gilded (awarded gold). |
| num_crossposts | integer | The number of times this post has been crossposted. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://reddit.com/schemas/reddit/post.json",
"title": "Reddit Post (Submission)",
"description": "Represents a Reddit submission (also known as a post or link), including its content, metadata, voting data, and associated subreddit information.",
"type": "object",
"required": ["id", "name", "subreddit", "title", "author", "created_utc"],
"properties": {
"id": {
"type": "string",
"description": "The unique ID36 identifier for the post."
},
"name": {
"type": "string",
"description": "The fullname of the post, with the t3_ prefix.",
"pattern": "^t3_[a-z0-9]+$"
},
"subreddit": {
"type": "string",
"description": "The name of the subreddit the post was submitted to, without the r/ prefix."
},
"subreddit_id": {
"type": "string",
"description": "The fullname of the subreddit.",
"pattern": "^t5_[a-z0-9]+$"
},
"title": {
"type": "string",
"description": "The title of the post.",
"maxLength": 300
},
"author": {
"type": "string",
"description": "The username of the post author."
},
"author_fullname": {
"type": "string",
"description": "The fullname of the post author.",
"pattern": "^t2_[a-z0-9]+$"
},
"selftext": {
"type": "string",
"description": "The body text of a self-post in markdown format. Empty string for link posts."
},
"selftext_html": {
"type": ["string", "null"],
"description": "The body text of a self-post rendered as HTML."
},
"url": {
"type": "string",
"format": "uri",
"description": "The URL of the linked content, or the permalink for self-posts."
},
"permalink": {
"type": "string",
"description": "The relative permalink URL of the post on Reddit."
},
"domain": {
"type": "string",
"description": "The domain of the linked URL."
},
"is_self": {
"type": "boolean",
"description": "Whether the post is a self-post (text post) rather than a link post."
},
"is_video": {
"type": "boolean",
"description": "Whether the post contains hosted video content."
},
"score": {
"type": "integer",
"description": "The net score (upvotes minus downvotes) of the post."
},
"ups": {
"type": "integer",
"description": "The number of upvotes."
},
"downs": {
"type": "integer",
"description": "The number of downvotes."
},
"upvote_ratio": {
"type": "number",
"format": "double",
"description": "The ratio of upvotes to total votes, between 0.0 and 1.0.",
"minimum": 0.0,
"maximum": 1.0
},
"num_comments": {
"type": "integer",
"description": "The number of comments on the post.",
"minimum": 0
},
"created_utc": {
"type": "number",
"format": "double",
"description": "The Unix timestamp of when the post was created."
},
"edited": {
"type": ["number", "boolean"],
"description": "The Unix timestamp of the last edit, or false if never edited."
},
"over_18": {
"type": "boolean",
"description": "Whether the post is marked as NSFW."
},
"spoiler": {
"type": "boolean",
"description": "Whether the post is marked as a spoiler."
},
"stickied": {
"type": "boolean",
"description": "Whether the post is stickied (pinned) in the subreddit."
},
"locked": {
"type": "boolean",
"description": "Whether the post is locked from new comments."
},
"archived": {
"type": "boolean",
"description": "Whether the post is archived and no longer accepts votes or comments."
},
"hidden": {
"type": "boolean",
"description": "Whether the post is hidden by the authenticated user."
},
"saved": {
"type": "boolean",
"description": "Whether the post is saved by the authenticated user."
},
"distinguished": {
"type": ["string", "null"],
"description": "Whether the post has been distinguished by a moderator or admin.",
"enum": [null, "moderator", "admin"]
},
"link_flair_text": {
"type": ["string", "null"],
"description": "The text of the link flair applied to the post."
},
"link_flair_css_class": {
"type": ["string", "null"],
"description": "The CSS class of the link flair."
},
"thumbnail": {
"type": "string",
"description": "The URL of the post thumbnail, or a placeholder value like self, default, image, or nsfw."
},
"thumbnail_width": {
"type": ["integer", "null"],
"description": "The width of the thumbnail in pixels."
},
"thumbnail_height": {
"type": ["integer", "null"],
"description": "The height of the thumbnail in pixels."
},
"media": {
"type": ["object", "null"],
"description": "Media metadata for video or embedded content posts."
},
"gilded": {
"type": "integer",
"description": "The number of times this post has been gilded (awarded gold).",
"minimum": 0
},
"num_crossposts": {
"type": "integer",
"description": "The number of times this post has been crossposted.",
"minimum": 0
}
}
}