Proxy for Reddit
Most pages on this subject are still describing a Reddit that stopped existing a while ago. We measured the current behaviour rather than repeating it, and the result changes what is worth buying.
What Reddit actually does now
- It refuses the unauthenticated JSON path outright. We tested from a datacenter address: the ordinary subreddit page returned 200 while the same path with .json appended returned 403, three times in a row, with both a browser user agent and a descriptive one. The address was fine. The endpoint is closed. You can repeat this in two curl commands.
- It disallows every crawler in robots.txt. The file currently contains a wildcard user-agent rule with a disallow on the whole site, and points at a public content policy instead. That is a stated position rather than a technical obstacle, and rotating addresses does not engage with it at all.
- It counts API usage against your registered OAuth client, and its terms reserve the right to set and enforce those limits. Commercial use, or research beyond the rate limits, is written up as something requiring a separate agreement with Reddit.
- It requires you not to hide who you are. The Data API terms say you must use the access info you were issued and must not misrepresent or mask either the user agent or the OAuth identity. That sentence is the one worth reading twice before buying anything on this page.
Which of our products fits which Reddit job
Two of these are straightforward. The third is the one people arrive for, and it needs the terms read first.
| What you are doing | What we would use | Why that one |
|---|---|---|
| Running a registered API client | Datacenter IPv4 | A stable outbound address for your own logging, allow-lists and attribution. It will not raise a limit, because limits follow your OAuth client. |
| Running accounts that need to look unrelated | ISP or residential, one address each | This is where a proxy earns its money on Reddit. Accounts sharing a connection are the easiest kind of link to draw. |
| Reaching Reddit from a network that blocks it | Residential in a country where it is reachable | A connectivity problem with a clean solution, and the widest country coverage we sell. |
| Bulk collection outside the API | Read the terms before you plan the budget | The JSON path is closed, robots.txt disallows crawling, and the terms forbid masking your identity. We would rather say that than sell you addresses for it. |
If the work is genuinely research or genuinely commercial, the route Reddit documents is an agreement with Reddit rather than a larger pool of addresses. That is a worse answer commercially for us and a better one for you.
Setting it up
Reddit has no proxy setting. The proxy goes into your API client, or into the browser profile holding the account.
# A registered API client, PRAW, through a static address:
# PRAW uses requests, so the standard environment variables apply
export HTTPS_PROXY="http://login:password@198.51.100.20:50100"
# Reddit asks for a descriptive user agent and its terms forbid faking it:
# platform:app-id:version (by /u/your-username)
# The test from the section above, repeat it yourself:
curl -o /dev/null -w "%{http_code}\n" https://www.reddit.com/r/programming/
curl -o /dev/null -w "%{http_code}\n" https://www.reddit.com/r/programming/hot.json
# Antidetect browser profile for an account, one session number each:
socks5://login_c_US_s_9_ttl_1h:password@proxy.sotaproxy.com:10000- One address per account if the accounts are meant to be unrelated. This is the part of a Reddit setup that a proxy genuinely fixes.
- Set an honest, descriptive user agent on any API client. Reddit asks for one and its terms forbid masking it, so there is no upside in being clever here.
- Keep an account on the country it was created in, and match the browser profile to it.
- Do not plan a collection budget around the JSON endpoint. Verify the current behaviour yourself first with the two commands above.
What to buy for Reddit
Account separation is the case that holds up here. Prices are entry prices and fall with volume.
ISP proxies
from $2.30 per IP per month, 24 countries
For accounts you intend to keep. One address each, fixed for the whole term.
- Registered to a consumer provider, so it reads as a person at home
- Never moves, so an established account is not seen jumping countries
- Traffic is not metered
- 24 countries
- Does nothing about the API terms, which is what the rest of this page is about
Residential proxies
from $2.00 per GB, 220+ countries
For accounts in countries ISP does not reach, and for getting to Reddit where it is blocked.
- Household addresses in more countries than anything else we sell
- A session suffix holds one exit for the length of a task
- Billed by traffic, so light use is cheap
- A session ends when the household device drops, one hour at most
- Rotation does not reopen a closed endpoint, and the JSON path is closed
Datacenter IPv4
from $1.50 per IP per month, 41 countries
For a registered API client that wants one predictable outbound address.
- The cheapest stable address we sell
- Traffic is not metered
- Useful when something on your side needs to allow-list a fixed address
- Recognisable as a datacenter, which is the wrong signal on an account
- Raises no limit, because Reddit counts them against your OAuth client
We are aware this page talks a customer out of the largest order on it. Anyone selling you a big rotating pool for Reddit collection should be asked which endpoint they have tested it against, and when.
Where people go wrong
Budgeting for the .json trick
Appending .json to a subreddit URL was the standard way to collect Reddit without the API. From a datacenter address it now answers 403 while the ordinary page answers 200. Buying addresses does not reopen it.
Faking the user agent
Reddit asks for a descriptive one and its Data API terms forbid misrepresenting or masking either the user agent or the OAuth identity. This is a contract term, and a proxy has no bearing on a contract.
Buying proxies to raise an API limit
Limits attach to the registered OAuth client. More addresses under one client change nothing, and the terms separately prohibit circumventing the limits.
Reading a 200 on the web page as permission to crawl
The site loading in a browser and robots.txt disallowing crawlers are two different statements. The second one is the one addressed to your script.
What a proxy will not do here
It will not reopen the unauthenticated JSON endpoint, it will not raise a limit counted against your OAuth client, it will not change what robots.txt says, and it will not make masking your identity permissible when the terms you agreed to forbid it. What it does do is keep separate accounts separate and get you to Reddit from networks that block it. That is the honest extent of it. This is not legal advice, and the sources below are there so you can check the position rather than take ours.
Questions people actually type
Does Reddit block proxies?
That is the wrong question for what is happening now. We tested from a datacenter address and the ordinary subreddit page returned 200 while the same URL with .json returned 403. The address was not the problem, the endpoint was. Two curl commands will show you the same thing.
Can I scrape Reddit with rotating proxies?
Technically you can rotate addresses at the HTML pages. Before you build on it, note that robots.txt currently disallows every crawler across the whole site and that the Data API terms forbid masking your user agent or OAuth identity and prohibit circumventing limits. Rotation does not engage with any of that.
Do proxies help with Reddit API rate limits?
No. Usage is counted against your registered OAuth client, and the terms reserve Reddit’s right to set and enforce those limits and separately forbid circumventing them. If you need more, the documented route is an agreement with Reddit.
Which proxy is best for Reddit accounts?
ISP for accounts you keep, because the address is fixed for the term and reads as a home connection. Residential where ISP does not cover the country you need. One address per account if they are meant to look unrelated.
How many Reddit accounts per IP?
One, if the accounts should not be connected to each other. Sharing an address is the simplest link there is, and it is the one thing on this page a proxy reliably prevents.
Is a residential proxy better than a datacenter one for Reddit?
For accounts, yes, and our longer write-up on the account side is linked below. For a registered API client it makes no difference, and you may as well pay less.
Where the claims above come from
One of the claims on this page is our own measurement rather than a document, and it is flagged as such in the text. Everything else is Reddit describing its own position.
- Reddit robots.txtShort enough to read in full. A wildcard user-agent rule with a disallow on the entire site, plus a pointer to the public content policy. Worth opening before planning any collection, because it is the site telling automated clients what it wants.
- Reddit Data API TermsSection 2.8 requires you to use the access info you were issued and not to misrepresent or mask the user agent or OAuth identity. Section 3.2 prohibits circumventing or exceeding the documented limits. Section 3.1 puts commercial use, and research beyond the rate limits, behind a separate agreement with Reddit.
- Reddit API referenceThe endpoint documentation itself. Useful for confirming what the official path offers, which is the comparison worth making before deciding to work around it.