Reddit Post Scraper

Pull a single Reddit post — title, body, author, score, timestamps, and media — plus its full comment thread, in one call and one consistent JSON schema.

What you're collecting

A single Reddit post has more to it than the title: the body text, author, score, creation time, attached media, and the discussion under it. Scraping just the title or just the top comment misses most of what a post actually contains.

How UGC Scraper handles it

Send any Reddit post URL (or a bare post id) to POST /v1/scrape. One request returns the post and its entire comment thread together — there's no separate comments endpoint to call afterward.

cURL

curl -X POST https://api.ugcscraper.com/v1/scrape \
  -H "Authorization: Bearer rps_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.reddit.com/r/.../comments/..."}'

Python

import requests

r = requests.post(
    "https://api.ugcscraper.com/v1/scrape",
    headers={"Authorization": "Bearer rps_live_your_key"},
    json={"url": "https://www.reddit.com/r/.../comments/..."},
)
post = r.json()
print(post["title"], post["score"], post["num_comments"])

Output structure

{
  "title": "string",
  "author": "string",
  "created_utc": 1700000000,
  "num_comments": 256,
  "score": 1500,
  "permalink": "https://www.reddit.com/r/.../comments/...",
  "image_url": "https://...jpg | null",
  "thumbnail_url": "https://...jpg | null",
  "body": "post text",
  "comments": [ /* full thread — see the Reddit Comment Scraper page */ ]
}

Re-checking a post's score

Scores and comment counts change over time. Rather than re-scraping one post at a time, POST /v1/refresh re-checks current score, comment count, and removed-status for up to 150 posts in a single call, and always bypasses the cache since the whole point is a current number.

Practical use cases

  • Archiving — capture a post (and its media links) as a durable, re-fetchable snapshot before it can be deleted.
  • Tracking engagement over time — use /v1/refresh to watch a post's score and comment count move.
  • Content research — pull a single high-performing post as a reference point before scraping a whole subreddit.

Limitations

A deleted or removed post can't be recovered if it was never scraped first — the API extracts what Reddit currently serves, it doesn't retroactively archive content it never saw. If you've scraped a post before, your prior snapshot remains available in your history regardless of what happens to the post afterward.

Reddit post scraper FAQ

Does a post scrape include the comments too?

Yes — POST /v1/scrape always returns the post plus its full comment thread in one response. There's no separate call needed to get comments for a post you're already scraping.

Can I get the post's image or video thumbnail?

Yes — image_url and thumbnail_url are included when Reddit provides them (they're null when a post has no media), so archival workflows can grab the media reference alongside the text.

How do I re-check a post's current score without spending another scrape?

POST /v1/refresh re-checks current score, comment count, and removed-status for up to 150 posts in one call, and always bypasses the cache since the point is a current number.

What if the post has been deleted or removed?

You get a clear error rather than fabricated data. If you've scraped the post before, your stored snapshot from that earlier scrape is still available via your history.

Related guides

Start scraping posts

Free tier, no credit card, live in about two minutes.

Get your API key