~ / endpoints / User API

Reddit User Scraper API

Our Reddit user scraper takes a username and returns that account's public profile plus its most recent posts and comments as one structured JSON object, so you can scrape a Reddit profile from a single REST call.

Get a free API keyBrowse endpoints
1,000
free requests
2.6s
median response
25
items per call
JSON
structured output
the challenge

Why Reddit User data is hard to collect

Pulling a Reddit profile through the official Data API now means a registered OAuth client on every request, since Reddit dropped anonymous traffic and caps free authenticated use at 100 queries per minute averaged over a ten-minute window. Commercial profile collection runs through enterprise sales at roughly $0.24 per 1,000 calls, and a suspended or shadowbanned account returns a 404 with no history at all, so a plain scrape hands you empty pages and parsing work.

get started

Call the Reddit User Scraper API in one request

cURL
curl "https://api.redditscraperapi.com/api/v1/reddit/user?username=spez&kind=overview&limit=25&api_key=$API_KEY"
Python
import requests

resp = requests.get(
    "https://api.redditscraperapi.com/api/v1/reddit/user",
    params={
        "username": "spez",
        "kind": "overview",
        "limit": 25,
        "api_key": "YOUR_API_KEY",
    },
)
data = resp.json()

profile = data["profile"]
print(profile["username"], "-", profile["profile_url"])
print(data["total_results"], "recent items")

for item in data["items"]:
    print(item["type"], "in r/" + str(item["subreddit"]), "->", item["permalink"])
inputs

Parameters

ParameterRequiredDefaultNotes
usernamerequired-The Reddit username to look up, with or without a leading u/. This is the account whose profile and history are returned.
kindoptionaloverviewWhich slice of the profile feed to pull: overview for mixed recent activity, submitted for posts only, or comments for comments only.
limitoptional25How many recent items to return, from 1 to 25. The user feed caps at 25 items per call.
the response

Fields the Reddit User Scraper API returns

200 OK
{
  "profile": {
    "username": "spez",
    "profile_url": "https://www.reddit.com/user/spez",
    "bio": "Reddit CEO",
    "icon": "https://styles.redditmedia.com/t5_1234/styles/profileIcon.png",
    "title": "overview for spez",
    "total_karma": null,
    "created": null
  },
  "total_results": 2,
  "items": [
    {
      "type": "comment",
      "id": "t1_abc123",
      "short_id": "abc123",
      "title": "spez commented on Updates to our content policy",
      "subreddit": "announcements",
      "body": "Thanks for the feedback, we are reading every thread.",
      "external_url": null,
      "permalink": "https://www.reddit.com/r/announcements/comments/xyz/_/abc123/",
      "created": "2026-06-18T14:22:05+00:00",
      "score": null
    },
    {
      "type": "submission",
      "id": "t3_def456",
      "short_id": "def456",
      "title": "An update on our API",
      "subreddit": "reddit",
      "body": "Today we are sharing changes to how developers access Reddit data.",
      "external_url": null,
      "permalink": "https://www.reddit.com/r/reddit/comments/def456/an_update_on_our_api/",
      "created": "2026-06-15T17:01:44+00:00",
      "score": null
    }
  ],
  "_source": "rss"
}
FieldTypeDescription
profile.usernamestringThe account's username, normalized without the u/ prefix.
profile.profile_urlstring (url)Canonical link to the user's public profile page.
profile.biostring or nullThe profile description text, when the account has one set.
profile.iconstring (url) or nullURL of the account's avatar or snoo icon.
profile.titlestring or nullThe feed title for the requested view, such as overview for username.
profile.total_karmanullKarma is not exposed on this public feed, so the field is returned as null. We do not guess a value.
profile.creatednullThe cake-day timestamp is not in the public feed and is returned as null.
total_resultsintegerCount of items in the returned history array.
itemsarrayThe account's most recent public posts and comments, newest first.
items[].typestringWhether the item is a comment or a submission.
items[].idstringThe full thing id, for example t1_abc123 for a comment or t3_def456 for a post.
items[].short_idstringThe base-36 id without the type prefix.
items[].titlestringThe post title, or the comment's contextual title line.
items[].subredditstring or nullThe subreddit the item was posted in.
items[].bodystringThe text body of the post or comment.
items[].external_urlstring (url) or nullThe outbound link for a link post, or null for self posts and comments.
items[].permalinkstring (url)Direct link to the post or comment on Reddit.
items[].createdstringISO 8601 timestamp of when the item was posted.
items[].scorenullVote score is not carried on this public feed and is returned as null.
what you build

What you can build with it

>

Account vetting

Use the Reddit account scraper to resolve a username into account age signals, bio, and recent posts and comments, then vet a moderator applicant, a marketplace seller, or a new contributor before you act.
>

Audience research

Read which subreddits a user posts in and what they write about to map interests, build personas, and understand the communities behind a campaign.
>

OSINT and investigations

Collect a profile's public footprint, the username, links, and item history, into one record for due-diligence, fraud, or brand-safety review.
>

Moderation and abuse detection

Watch a user's latest comments across subreddits to spot spam runs, ban evasion, and coordinated posting before it spreads.
>

Author enrichment

Attach the author behind a post or comment you already track, pulling their profile and recent activity to enrich an existing Reddit dataset.
>

Dataset building

Iterate a list of usernames into a structured table of profiles and recent history for research, labeling, or training data, with no code to maintain.
our edge

Why developers pick our Reddit User Scraper API

Our Reddit user scraper runs the fetch and parse for you on our infrastructure: rotating proxies, anti-bot handling, and retries behind one reddit/user call that returns parsed JSON in about 2.6 seconds. A username goes in and a profile object plus up to 25 recent items come back, with no OAuth client to register, no per-minute quota to ration, and a free tier of 1,000 requests.

*

No OAuth client of your own

Authenticate with one api_key. There is no Reddit app to register, no token to refresh hourly, and no 100-queries-per-minute ceiling shared across your users.
*

Anti-bot and proxy rotation

Requests route through rotating residential and datacenter proxies with anti-bot handling, so Reddit serves the real profile feed instead of a block page or verification challenge.
*

Honest null fields

Where the public feed does not carry karma, cake-day, or vote score, we return null instead of fabricating a number, so your records stay trustworthy.
*

Pay for success

Failed requests retry automatically across datacenter, residential, and premium tiers, and you are billed for successful results.
*

Stable JSON schema

Every response uses the same profile and items field names and types, so one parser keeps working as Reddit changes its front end.
vs the api

Reddit User Scraper API compared to the official Reddit API

FactorOur Reddit user scraper APIDIY profile scrapingReddit Data API
SetupOne api_keyProxies, headless browser, parserRegistered OAuth client and token
Rate limitPlan request limit onlyNone, but you handle blocks100 QPM, 10-min average window
Anonymous accessYes, just the api_keyYes, until Reddit blocks youNo, OAuth required on every call
Anti-bot and proxiesHandled for youYou build and maintain itNot applicable
Output shapeStable profile plus items JSONWhatever you parseNested Listing JSON
Commercial pricingFlat per-request, free tier to startProxy and upkeep costEnterprise sales, about $0.24 per 1k
plans

Free to start, priced to scale

PlanPriceBest for
Free1,000 requestsTesting and small jobs
Pro$0.60 / 1kProduction workloads
Pay-as-you-go$0.90 / 1kSpiky or one-off volume

Median response 2.6s. You only pay for successful requests.

FAQ

What does the Reddit user scraper API return?

It takes a username and returns a profile object with the username, profile_url, bio, icon, and feed title, plus a total_results count and an items array of the account's most recent public posts and comments. Each item carries its type, id, short_id, title, subreddit, body, external_url, permalink, and created timestamp. Our API fetches and parses the public profile feed for you, so you do not register a Reddit app or run scraping infrastructure.

Do I need a Reddit Data API key or OAuth client to scrape a profile?

No. You call our endpoint with a single api_key. There is no Reddit OAuth client to register, no token to refresh every hour, and no shared 100-queries-per-minute cap to ration. The free tier includes 1,000 requests so you can test the Reddit user scraper before committing.

Can I get only a user's posts or only their comments?

Yes. Set the kind parameter to submitted for posts only or comments for comments only, and leave it on overview for a mixed feed of recent activity. The limit parameter then controls how many of those items you get back, up to 25 per call.

Does the response include karma and account age?

Not on this public feed. Reddit's public profile feed does not expose total karma, cake-day, or per-item vote score, so our API returns those fields as null and never invents a value. You do get the username, bio, icon, and the full recent post and comment history with subreddits, bodies, permalinks, and timestamps.

What happens when a Reddit account is suspended or shadowbanned?

A suspended or shadowbanned account's public profile returns a 404 with no visible history, because Reddit hides that activity from everyone else. In that case there are no public items to extract. Our API only returns the public posts and comments that Reddit actually serves, so the response reflects what is genuinely visible.

Is scraping Reddit user data against the terms of service?

Reddit's User Agreement conditionally permits crawling within the rules of its robots.txt and prohibits scraping the Services without Reddit's prior written consent, and it points developers to the official Data API for automated access. Our endpoint reads only public profile data, but you are responsible for your own lawful basis and for honoring Reddit's terms, applicable law, and privacy rules such as GDPR when you collect data about people. Treat this as engineering guidance and consult a lawyer for legal advice.

How fast is the Reddit user scraper?

Responses return in a median of about 2.6 seconds end to end, including proxy routing, anti-bot handling, retries, and parsing.

How does pricing work?

The free tier covers 1,000 requests, Pro pricing runs about $0.60 per 1,000 requests, and pay-as-you-go top-ups are $0.90 per 1,000 successful requests. You are billed for successful results.

Pull user api as JSON
Free plan includes 1,000 requests. No card needed.
Get a free API key Browse endpoints