Reddit scraper API
A Reddit scraper API without an API key: search Reddit or list a subreddit and get posts with title, subreddit, author, score, comment count, creation time, link target and flair — exact counts, no OAuth app, no rate-limit dance.
$0.0005 per delivered post · $2 free every month · Failed runs never billed
$ curl $QD/reddit_posts/run \
-H "Authorization: Bearer $QD_API_KEY" \
-d '{"query": "proxy", "subreddit": "webscraping", "sort": "relevance", "time": "year", "max_results": 50}'
{ "status": "done", "count": 50,
"results": [
{
"id": "…",
"title": "…",
"subreddit": "…",
"author": "…" } ],
"cost": 0.025 }
# 50 posts × $0.0005 · nothing delivered, nothing charged
What a Reddit scraper API does
Reddit is where people say what they actually think about products, and its official API now means an app registration, OAuth and terms that change. The public site still publishes the same posts, and the legacy render carries score, comment count, author and timestamp as attributes on each post — which makes the numbers exact rather than scraped out of display text.
Search across the whole site or restrict to one subreddit, sort by relevance, top, new or comments, and bound it to an hour, a day, a week, a month, a year or all time.
What one post looks like
Every delivered post carries these fields. Nullable means the source did not publish it — the field stays empty instead of being guessed.
| Field | Type | What it holds |
|---|---|---|
rank | integer | 1-based position across pages. |
id | string · nullable | Reddit fullname/id of the post. |
title | string · nullable | Post title. |
subreddit | string · nullable | Subreddit (r/name). |
author | string · nullable | Author username. |
score | integer · nullable | Net upvotes. |
comments | integer · nullable | Comment count. |
created_at | string · nullable | Creation time (ISO 8601). |
permalink | string · nullable | Post URL on reddit.com. |
url | string · nullable | What the post links to (self-post = its permalink path). |
domain | string · nullable | Target domain (self.<sub> for text posts). |
nsfw | boolean | NSFW flag. |
flair | string · nullable | Post flair when set. |
Inputs
The whole request. Anything you leave out falls back to the default shown in the catalog.
| Input | Type | Required | What it does |
|---|---|---|---|
query | string | no | Keywords to search. Omit to list a subreddit instead. |
subreddit | string | no | Subreddit name, e.g. "webscraping" (with or without r/). |
sort | string | no | Search: relevance | top | new | comments. Listing: hot | new | top | rising. One of: relevance, top, new, hot, rising, comments. |
time | string | no | Restrict to a period (search and top listings). One of: hour, day, week, month, year, all. |
country | string | no | ISO 3166-1 alpha-2 code — proxy exit geo and Google locale (gl). Omit for the default pool. |
max_results | integer | no | How many posts to deliver at most (1–250). You pay only for delivered posts. |
Pricing
Reddit scraper API pricing
$0.0005 per delivered post. A run that delivers nothing costs nothing: blocked pages, challenges and retries are on us, and the $2 monthly allowance covers about 4,000 posts before you spend anything.
Pay as you go
- $2 free credit / month
- 60 requests / min
- List unit prices
Starter
- $15 free credit / month
- 300 requests / min
- 10% off unit prices
Growth
- $50 free credit / month
- 600 requests / min
- 20% off unit prices
Scale
- $250 free credit / month
- 1,200 requests / min
- 30% off unit prices
Same wallet, same key and same $2 monthly allowance as every other Data API. Prices are launch pricing read live from the billing config — GET /v1/scraper/collectors returns the price your key actually pays.
Integration
One POST, typed rows
Base URL https://api.quanticdata.io/v1, Bearer auth, the same key as every other Data API. Endpoint: POST /v1/.
curl -X POST https://api.quanticdata.io/v1/scraper/collectors/reddit_posts/run \
-H "Authorization: Bearer $QD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"proxy","subreddit":"webscraping","sort":"relevance","time":"year","max_results":50}'
What people build with the Reddit scraper API
Three shapes of work this endpoint was designed around.
Voice-of-customer research
Collect every thread mentioning a product category and mine the complaints.
Community monitoring
Watch a subreddit for mentions of your brand, sorted by newest.
AI training corpora
Assemble topic-specific discussion sets with score and comment counts for weighting.
Reddit scraper API versus rolling your own
The differences that actually cost time when you build this in-house.
| DIY scraper | This collector | |
|---|---|---|
| Access | OAuth app, quotas, changing terms | No key — public pages |
| Counts | Parsed from display text | Exact, from the post attributes |
What changed in 2023, and what it means for datasets
Reddit's API repricing removed free programmatic access for commercial use and put it on terms negotiated per customer. A lot of research pipelines lost their Reddit source overnight, which is worth stating plainly: the content is user-generated and Reddit chose to charge for programmatic access to it.
This collector reads public discussion pages instead, from the legacy render whose post nodes carry score and comment counts as attributes — so the numbers are exact integers rather than "1.2k" strings parsed out of an interface. It is read-only by construction: it cannot post, vote or comment, which also means there is no account to get banned.
Limits, scoping and the legal bit
Up to 250 posts per run — deep enough that a well-scoped query returns the whole relevant conversation rather than a sample. sort and time are applied at the source, so narrowing a query reduces the bill as well as the noise. Throughput is your plan's rate limit rather than anything about the collector: 60 requests/minute on pay-as-you-go, up to 1,200 on the top tier.
Posts only, including each post's comment count and permalink. Full comment threads are a far larger surface with different volume and privacy characteristics, and claiming them here would misrepresent what runs.
Collecting publicly visible data is generally lawful in most jurisdictions, and courts have repeatedly declined to treat reading a public page as unauthorised access. Usernames are pseudonymous personal data, post text is authored by users who retain rights in it, and Reddit's terms restrict automated collection. Aggregate analysis and republication are different propositions. None of this is legal advice — get some for your actual use case.
Do I need a Reddit API key?
No. The collector reads public pages, so there is no app registration and no OAuth token to refresh.
Can I collect comments?
Not in this collector — it returns posts with their comment counts. Thread bodies are a different shape of job.
Search the whole site or just one subreddit?
Both. Pass query alone to search Reddit, add subreddit to restrict it, or pass only subreddit to list that community.
Is there a free Reddit scraper API?
Every account gets $2 of credit every month with no card, which is about 4,000 delivered posts on this endpoint at $0.0005 each. It renews monthly, and a run that delivers nothing is never billed — so a failed or blocked attempt does not eat the allowance.
How much does one run cost?
Multiply the rows you actually receive by $0.0005. A run capped at 250 posts — the maximum for this collector — costs $0.125 if every row comes back, and less when the source has fewer. Volume tiers take up to 30% off, and GET /v1/scraper/collectors returns the price your key actually pays.
Why are the counts exact here?
Because they come from the legacy render, where score and comment counts are attributes on the post node rather than abbreviated display text. Scrapers reading the modern interface get "1.2k" and have to guess at the integer.
Can I search inside a single subreddit?
Yes, and it is usually the right scope. Passing query and subreddit together searches within one community; a site-wide keyword search returns far more noise for the same money.
Run the Reddit scraper API now
$2 of free credit every month, no card. Your key returns its own prices from GET /v1/scraper/collectors.