{
  "actorOutputSchemaVersion": 1,
  "description": "One record per post that passes your filters. Error and status records explain blocked, private, empty or no-match subreddits. Optional subreddit records add community metadata.",
  "properties": {
    "author": {
      "description": "Post author username.",
      "template": "{{author}}",
      "title": "Author",
      "type": "string"
    },
    "author_fullname": {
      "description": "Author account fullname, for example t2_abc123.",
      "template": "{{author_fullname}}",
      "title": "Author fullname",
      "type": "string"
    },
    "author_id": {
      "description": "Author account ID.",
      "template": "{{author_id}}",
      "title": "Author ID",
      "type": "string"
    },
    "content": {
      "description": "Text body of a self post, first 1000 characters. Omitted for posts without a body.",
      "template": "{{content}}",
      "title": "Content",
      "type": "string"
    },
    "content_length": {
      "description": "Full character length of the text body.",
      "template": "{{content_length}}",
      "title": "Content length",
      "type": "string"
    },
    "crawled_at": {
      "description": "ISO 8601 timestamp of this scrape.",
      "template": "{{crawled_at}}",
      "title": "Crawled at",
      "type": "string"
    },
    "created_at": {
      "description": "ISO 8601 creation time.",
      "template": "{{created_at}}",
      "title": "Created at",
      "type": "string"
    },
    "created_utc": {
      "description": "Unix timestamp of post creation.",
      "template": "{{created_utc}}",
      "title": "Created UTC",
      "type": "string"
    },
    "crosspost_parent": {
      "description": "Parent post of a crosspost.",
      "template": "{{crosspost_parent}}",
      "title": "Crosspost parent",
      "type": "string"
    },
    "crosspost_parent_id": {
      "description": "Parent post ID for a crosspost.",
      "template": "{{crosspost_parent_id}}",
      "title": "Crosspost parent ID",
      "type": "string"
    },
    "crosspost_parent_subreddit": {
      "description": "Parent subreddit for a crosspost.",
      "template": "{{crosspost_parent_subreddit}}",
      "title": "Crosspost parent subreddit",
      "type": "string"
    },
    "crosspost_parent_url": {
      "description": "Parent post URL for a crosspost.",
      "template": "{{crosspost_parent_url}}",
      "title": "Crosspost parent URL",
      "type": "string"
    },
    "description": {
      "description": "Subreddit description on an optional subreddit record.",
      "template": "{{description}}",
      "title": "Description",
      "type": "string"
    },
    "display_name": {
      "description": "Subreddit display name on an optional subreddit record.",
      "template": "{{display_name}}",
      "title": "Display name",
      "type": "string"
    },
    "domain": {
      "description": "Link domain, self.<subreddit> for text posts, or reddit.com for galleries.",
      "template": "{{domain}}",
      "title": "Domain",
      "type": "string"
    },
    "embed_html": {
      "description": "Embed iframe HTML when Reddit provides it.",
      "template": "{{embed_html}}",
      "title": "Embed HTML",
      "type": "string"
    },
    "embed_provider": {
      "description": "Provider name for an external embed, for example YouTube.",
      "template": "{{embed_provider}}",
      "title": "Embed provider",
      "type": "string"
    },
    "embed_title": {
      "description": "Title from the embed iframe.",
      "template": "{{embed_title}}",
      "title": "Embed title",
      "type": "string"
    },
    "external_url": {
      "description": "Off-Reddit link, image, gallery or video URL when distinct from the permalink.",
      "template": "{{external_url}}",
      "title": "External URL",
      "type": "string"
    },
    "filteredCount": {
      "description": "Number of fetched posts removed by filters.",
      "template": "{{filteredCount}}",
      "title": "Filtered count",
      "type": "string"
    },
    "gallery_count": {
      "description": "Number of gallery images captured.",
      "template": "{{gallery_count}}",
      "title": "Gallery count",
      "type": "string"
    },
    "gallery_id": {
      "description": "Gallery identifier for gallery posts.",
      "template": "{{gallery_id}}",
      "title": "Gallery ID",
      "type": "string"
    },
    "gallery_images": {
      "description": "Full-size gallery image URLs.",
      "template": "{{gallery_images}}",
      "title": "Gallery images",
      "type": "string"
    },
    "gilded_count": {
      "description": "Not exposed as a gilded breakdown by anonymous Reddit listings; omitted.",
      "template": "{{gilded_count}}",
      "title": "Gilded count",
      "type": "string"
    },
    "has_media": {
      "description": "True when the post has an image, gallery, video, embed or poll.",
      "template": "{{has_media}}",
      "title": "Has media",
      "type": "string"
    },
    "httpStatus": {
      "description": "HTTP status from the failed request.",
      "template": "{{httpStatus}}",
      "title": "HTTP status",
      "type": "string"
    },
    "image_url": {
      "description": "Full image URL for image and GIF posts.",
      "template": "{{image_url}}",
      "title": "Image URL",
      "type": "string"
    },
    "image_urls": {
      "description": "Image URLs belonging to the post, including gallery renditions.",
      "template": "{{image_urls}}",
      "title": "Image URLs",
      "type": "string"
    },
    "is_crosspost": {
      "description": "True for crossposts.",
      "template": "{{is_crosspost}}",
      "title": "Is crosspost",
      "type": "string"
    },
    "is_gallery": {
      "description": "True for gallery posts.",
      "template": "{{is_gallery}}",
      "title": "Is gallery",
      "type": "string"
    },
    "is_nsfw": {
      "description": "True when the post is marked NSFW.",
      "template": "{{is_nsfw}}",
      "title": "Is NSFW",
      "type": "string"
    },
    "is_original_content": {
      "description": "Not exposed by anonymous Reddit listings; omitted.",
      "template": "{{is_original_content}}",
      "title": "Is original content",
      "type": "string"
    },
    "is_promoted": {
      "description": "Not exposed by anonymous Reddit listings; omitted.",
      "template": "{{is_promoted}}",
      "title": "Is promoted",
      "type": "string"
    },
    "is_self": {
      "description": "True for text and poll posts.",
      "template": "{{is_self}}",
      "title": "Is self post",
      "type": "string"
    },
    "is_spoiler": {
      "description": "True when the post is marked as a spoiler.",
      "template": "{{is_spoiler}}",
      "title": "Is spoiler",
      "type": "string"
    },
    "is_stickied": {
      "description": "True when the post is pinned.",
      "template": "{{is_stickied}}",
      "title": "Is stickied",
      "type": "string"
    },
    "language": {
      "description": "Post language code reported by Reddit.",
      "template": "{{language}}",
      "title": "Language",
      "type": "string"
    },
    "link_flair": {
      "description": "Post flair text when the post has one.",
      "template": "{{link_flair}}",
      "title": "Link flair",
      "type": "string"
    },
    "link_flair_background_color": {
      "description": "Flair background color when Reddit provides one.",
      "template": "{{link_flair_background_color}}",
      "title": "Link flair background",
      "type": "string"
    },
    "media_type": {
      "description": "image, gallery, video, gif, poll or embed.",
      "template": "{{media_type}}",
      "title": "Media type",
      "type": "string"
    },
    "message": {
      "description": "Human-readable explanation for an error or status record.",
      "template": "{{message}}",
      "title": "Message",
      "type": "string"
    },
    "num_comments": {
      "description": "Reported comment count.",
      "template": "{{num_comments}}",
      "title": "Number of comments",
      "type": "string"
    },
    "num_crossposts": {
      "description": "Not exposed by anonymous Reddit listings; omitted.",
      "template": "{{num_crossposts}}",
      "title": "Number of crossposts",
      "type": "string"
    },
    "old_reddit_url": {
      "description": "Old Reddit permalink. Old Reddit may require a login.",
      "template": "{{old_reddit_url}}",
      "title": "Old Reddit URL",
      "type": "string"
    },
    "page_title": {
      "description": "Title of the Reddit page that could not be read.",
      "template": "{{page_title}}",
      "title": "Page title",
      "type": "string"
    },
    "permalink": {
      "description": "Reddit permalink of the post.",
      "template": "{{permalink}}",
      "title": "Permalink",
      "type": "string"
    },
    "poll_data": {
      "description": "Poll state. Vote counts and option positions are captured; option labels are not always rendered anonymously.",
      "template": "{{poll_data}}",
      "title": "Poll data",
      "type": "string"
    },
    "postCount": {
      "description": "Number of posts emitted for a status record.",
      "template": "{{postCount}}",
      "title": "Post count",
      "type": "string"
    },
    "post_age_seconds": {
      "description": "Age of the post in seconds at scrape time.",
      "template": "{{post_age_seconds}}",
      "title": "Post age",
      "type": "string"
    },
    "post_hint": {
      "description": "Normalized post classification: self, image, gallery, hosted:video, rich:video or link.",
      "template": "{{post_hint}}",
      "title": "Post hint",
      "type": "string"
    },
    "post_id": {
      "description": "Reddit post ID without the t3_ prefix.",
      "template": "{{post_id}}",
      "title": "Post ID",
      "type": "string"
    },
    "post_name": {
      "description": "Full Reddit post name, for example t3_abc123.",
      "template": "{{post_name}}",
      "title": "Post name",
      "type": "string"
    },
    "post_type": {
      "description": "text, link, image, video, gallery, poll, crosspost, gif or multi_media.",
      "template": "{{post_type}}",
      "title": "Post type",
      "type": "string"
    },
    "preview_url": {
      "description": "Reddit preview image.",
      "template": "{{preview_url}}",
      "title": "Preview URL",
      "type": "string"
    },
    "reason": {
      "description": "Why an error or status record was emitted, for example blocked, private, empty, no_matches or info_unavailable.",
      "template": "{{reason}}",
      "title": "Reason",
      "type": "string"
    },
    "recordType": {
      "description": "post, error, status or subreddit.",
      "template": "{{recordType}}",
      "title": "Record type",
      "type": "string"
    },
    "score": {
      "description": "Post score.",
      "template": "{{score}}",
      "title": "Score",
      "type": "string"
    },
    "scrapedAt": {
      "description": "ISO 8601 timestamp for an error or status record.",
      "template": "{{scrapedAt}}",
      "title": "Scraped at",
      "type": "string"
    },
    "subreddit": {
      "description": "Subreddit name without r/.",
      "template": "{{subreddit}}",
      "title": "Subreddit",
      "type": "string"
    },
    "subreddit_id": {
      "description": "Subreddit fullname, for example t5_abc123.",
      "template": "{{subreddit_id}}",
      "title": "Subreddit ID",
      "type": "string"
    },
    "subreddit_prefixed": {
      "description": "Subreddit name with the r/ prefix.",
      "template": "{{subreddit_prefixed}}",
      "title": "Subreddit prefixed",
      "type": "string"
    },
    "subscribers": {
      "description": "Subreddit subscriber count when the metadata source provides it.",
      "template": "{{subscribers}}",
      "title": "Subscribers",
      "type": "string"
    },
    "thumbnail_url": {
      "description": "Post thumbnail or external preview image.",
      "template": "{{thumbnail_url}}",
      "title": "Thumbnail URL",
      "type": "string"
    },
    "title": {
      "description": "Post title.",
      "template": "{{title}}",
      "title": "Title",
      "type": "string"
    },
    "title_word_count": {
      "description": "Number of words in the title.",
      "template": "{{title_word_count}}",
      "title": "Title word count",
      "type": "string"
    },
    "top_award_icon_url": {
      "description": "Icon URL of the top award when Reddit provides one.",
      "template": "{{top_award_icon_url}}",
      "title": "Top award icon URL",
      "type": "string"
    },
    "top_award_id": {
      "description": "ID of the top award when Reddit provides one.",
      "template": "{{top_award_id}}",
      "title": "Top award ID",
      "type": "string"
    },
    "total_awards_received": {
      "description": "Award count reported by Reddit.",
      "template": "{{total_awards_received}}",
      "title": "Total awards",
      "type": "string"
    },
    "type": {
      "description": "Set on error and status records.",
      "template": "{{type}}",
      "title": "Internal record type",
      "type": "string"
    },
    "upvote_ratio": {
      "description": "Upvote ratio from 0 to 1.",
      "template": "{{upvote_ratio}}",
      "title": "Upvote ratio",
      "type": "string"
    },
    "url": {
      "description": "Reddit permalink of the post.",
      "template": "{{url}}",
      "title": "URL",
      "type": "string"
    },
    "video_bitrate_kbps": {
      "description": "Video bitrate in kilobits per second.",
      "template": "{{video_bitrate_kbps}}",
      "title": "Video bitrate",
      "type": "string"
    },
    "video_duration_seconds": {
      "description": "Video duration in seconds.",
      "template": "{{video_duration_seconds}}",
      "title": "Video duration",
      "type": "string"
    },
    "video_height": {
      "description": "Video height in pixels.",
      "template": "{{video_height}}",
      "title": "Video height",
      "type": "string"
    },
    "video_hls_url": {
      "description": "HLS playlist URL. Signed URLs may expire.",
      "template": "{{video_hls_url}}",
      "title": "Video HLS URL",
      "type": "string"
    },
    "video_mp4_url": {
      "description": "MP4 rendition URL. Signed URLs may expire.",
      "template": "{{video_mp4_url}}",
      "title": "Video MP4 URL",
      "type": "string"
    },
    "video_poster_url": {
      "description": "Video poster image URL.",
      "template": "{{video_poster_url}}",
      "title": "Video poster URL",
      "type": "string"
    },
    "video_url": {
      "description": "Stable direct video URL when available.",
      "template": "{{video_url}}",
      "title": "Video URL",
      "type": "string"
    },
    "video_width": {
      "description": "Video width in pixels.",
      "template": "{{video_width}}",
      "title": "Video width",
      "type": "string"
    },
    "weekly_active_users": {
      "description": "Reddit's weekly active user count on an optional subreddit record.",
      "template": "{{weekly_active_users}}",
      "title": "Weekly active users",
      "type": "string"
    },
    "weekly_contributions": {
      "description": "Reddit's weekly contribution count on an optional subreddit record.",
      "template": "{{weekly_contributions}}",
      "title": "Weekly contributions",
      "type": "string"
    }
  },
  "required": [
    "recordType"
  ],
  "schemaVersion": 1,
  "title": "Reddit Subreddit Post Filter & Moderation Scraper Output",
  "type": "object"
}
