Reddit Data Access

Reddit JSON 403 Forbidden: Why Your Script Broke and What Works in 2026

Reddit stopped serving logged-out .json. We tested eleven requests on October 18, 2026 to show which return 403, which redirect, which still work, and what to use instead.

16 min readShare →
0 of 7
Logged-out JSON URLs returned data
6
Returned the same 403 block page
189,908 B
Size of every 403 body
1.2 s
Browser route round trip

If your script, bot or automation flow suddenly gets a 403 from Reddit’s .json URLs, it is probably not your code and probably not an outage. Reddit announced in late May 2026 that it was shutting down logged-out .json access. On October 18, 2026 every logged-out JSON URL we tried returned a 403 HTML block page or a redirect to a login page, with a real Chrome User-Agent.

Below: the response of each endpoint so you can match yours to a cause, a classifier for your code, the fixes that fail, and Reddit’s dated shutdown schedule.

The short answer

Short answer
Logged-out Reddit .json now returns 403. Our October 18, 2026 test found 0 of 7 JSON style URLs returning data without a login. What still works: RSS until November 13, 2026 (Reddit says no replacement), an API app that was already approved (Reddit says public API access ends March 2027), and requests from your own logged-in browser, which Reddit said it would not impact. The BigIdeasDB Reddit Connector is the browser route for AI clients.
Key takeaways
  • Reddit said it was “shutting down unauthenticated .json endpoints” and that logged-in and authenticated access would not be impacted.
  • In our test, 6 of 11 requests returned 403 with the same 189,908 byte HTML block page, 2 redirected to a login page, 1 rate limited and 2 returned 200 (an RSS feed and an empty page shell).
  • A real Chrome User-Agent did not fix it. Neither did old.reddit.com, api.reddit.com or the oauth host without a token.
  • Self-service API signup closed in November 2025, and new public API requests stop October 31, 2026.
  • Reddit says it will stop supporting RSS feeds on November 13, 2026 and that outside a community you moderate “there is no replacement”.
  • The Reddit Connector fetches through your own Chrome, about 1.2 seconds per request, for research at a normal pace.
Required for Reddit tools
The BigIdeasDB MCP Reddit tools only work with the BigIdeasDB Clipper Chrome extension installed and its Reddit Connector turned on, in a Chrome profile logged in to reddit.com. It needs BigIdeasDB Pro and Chrome running. Setup takes about two minutes: Reddit Connector guide.

Dated timeline: what closes and when

Reddit has closed its routes in steps. These are the dates Reddit admins have stated.

DateWhat happensSource
November 2025Self-service Data API access closes. New access needs approval.r/redditdev admin post
Late May 2026 (reported)Shutdown of unauthenticated .json announced. Logged-in access not affected.r/modnews admin post
September 30, 2026All API apps must be registered. The same post says porting third-party apps to its Developer Platform “honestly won’t happen this year”. This date has passed.r/redditdev admin post, “Our Plans for the Future of Reddit’s Public Data API and the Developer Platform”
October 31, 2026New requests for public API access are no longer accepted.r/modnews admin post
November 13, 2026RSS feeds stop being supported. No replacement for feeds outside a community you moderate.r/modnews admin post, “Continuing our infrastructure updates”
January 12, 2027Access removal begins for unregistered apps.r/modnews admin post
March 2027Remaining public API access ends.r/modnews admin post
Source: Reddit admin posts in r/modnews and r/redditdev, read October 18, 2026. Dates are as Reddit stated them; they can change.

Every date removes a way in. After November 13 only two routes remain for most people, a registered app or a logged-in browser, and the app route is scheduled to end in March 2027.

What Reddit changed, and when

Reddit announced the change in r/modnews in a post titled “Protecting communities from scrapers and platform abuse”. Developer forums date it around May 28, 2026. The post did not show a date when we fetched it, so we say late May 2026. The paragraph:

“We’ll also be shutting down unauthenticated .json endpoints. These endpoints can be used to scrape Reddit without accountability. Logged-in and authenticated access won’t be impacted.” – Reddit, r/modnews

Two words matter for your 403. “Unauthenticated” means the block keys on whether the request carries a login. A Reddit reply in that thread spelled it out: requests without OAuth or user credentials will be blocked. And “logged-in” is why the URL that fails in your script loads in your browser tab. A developer described the symptom in r/redditdev:

“Trying to fetch public Reddit data using the .json endpoints for a small personal Python project, but I keep getting 403 responses.” – r/redditdev

One reply: “They stopped serving the json endpoints.” – r/redditdev. In the announcement thread a commenter wrote that removing the endpoints “is honestly really frustrating and will break a lot of legitimate automation” – r/modnews. A hobby script and a spam network look the same to the block.

This follows an earlier step. In November 2025 Reddit closed self-service access to its public data API, with the line “Starting today, self-service access to Reddit’s public data API will be closed” – r/redditdev. New access now needs approval; Reddit said current access would not be affected. So both doors a builder used to have, anonymous .json and a self-made API key, are closed to newcomers. The API side is covered in our Reddit API alternative for AI research guide.

The endpoint test: what each URL returns logged out

Forum threads disagree on what is blocked, so we tested it. On October 18, 2026 at about 18:59 UTC we sent ten plain HTTPS GET requests from one residential IP, with a current Chrome User-Agent, no cookies, two seconds apart, using r/smallbusiness and a one-word search. At 19:07 UTC we added an eleventh, a comment thread, under the same setup.

RequestStatusBodyWhat it means
www /r/[sub]/top.json403text/html, 189,908 bytesBlock page, not JSON
www /search.json?q=403text/html, 189,908 bytesSame block page
www /r/[sub]/about.json403text/html, 189,908 bytesSame block page
www /r/[sub]/comments/[id]/.json403text/html, 189,908 bytesComment threads are blocked too
api subdomain /r/[sub]/top403text/html, 189,908 bytesThe subdomain is not a way around it
oauth subdomain, no token403text/html, 189,908 bytesBlocked before any token check, and a 403 rather than a 401
old subdomain /r/[sub]/top.json302noneRedirect to a login page
old subdomain /r/[sub]/ (HTML)302noneLogin wall for the page too
www /r/[sub]/ (HTML)200text/html, 8,413 bytesA shell with 0 post links, not content
www /r/[sub]/top/.rss200Atom, 7,689 bytes2 entries, each with the full post body
www /search.rss?q=429noneRate limited on the first call
Source: BigIdeasDB logged-out endpoint test, October 18, 2026, 18:59 UTC (comment thread row 19:07 UTC). One run, one residential IP, browser User-Agent, no cookies. Results can differ by IP, region and time.

Four results are worth remembering. Every 403 body was exactly 189,908 bytes, so the six most likely came from one block page, which is why the response size is a quick fingerprint. The oauth host answered 403 with no token where many guides predict a 401, so a 403 alone cannot tell you whether the shutdown or a bad token is the cause. The old interface sends logged-out visitors to a login page, so it is not a loophole. And the plain HTML page returned a 200 with 0 post links, the trap for scrapers that only check the status.

The logged-in side: the same day, through our own logged-in Chrome session and the Reddit Connector, listing, search and comment data came back as 200 JSON.

DataLogged outLogged in, own browser
Subreddit top listing403 block page200 JSON
Search results403 block page200 JSON listing
Thread and comments403 block page200 JSON (an r/redditdev thread and its comments)
Subreddit about page403 block pageNot re-tested
Source: BigIdeasDB, October 18, 2026. Logged-in requests ran through the Reddit Connector in the author's own Chrome session, via the BigIdeasDB MCP tools search_reddit, fetch_subreddit and fetch_post_comments. One account, one session. The about page was not re-tested logged in.

The same thread that returned a 403 block page logged out returned its comments to the logged-in session. The block is about who is asking, not about whether the data is public.

How to read your response: 403, 429, 302 or 200

Log three things for the failing request before changing anything: status code, content type and redirect target. They separate six problems that all get described as “Reddit is blocking me”.

You seeLikely causeWhat to do
403 with a large HTML body, no token sentThe logged-out .json shutdownPick a route in the next section. Retrying will not help.
403 with a short JSON body such as a “Forbidden” message, token sentToken sent to the wrong host, or the app lacks approval or scopeSend authenticated requests to the oauth host, and check the app’s approval
401Token missing, expired or malformedRefresh the token and resend
429Rate limitedSlow down and back off. We saw it on the first search RSS call.
302 to a login URLLogin wall on the old interfaceYou need a logged-in session or a different route
200 with an HTML body and no postsA page shell, not dataDo not parse it. Treat it as a failure.
Source: BigIdeasDB endpoint test, October 18, 2026, plus an r/redditdev thread for the token case. The 401 row is the standard HTTP meaning and was not observed in our run.

The token row comes from a 2024 r/redditdev thread. A developer sent a bearer token to the www host and got a short JSON body, {"message":"Forbidden","error":403}. The fix was to send the request to the oauth host. Same status as the shutdown, different cause, so check the body first.

To rule out an outage, open the same URL in a logged-in browser tab. If it loads, Reddit is up. Then check the body: our six 403 responses were all HTML and all 189,908 bytes.

This function applies the table using only built-in fetch.

function classifyRedditResponse(status, contentType, location) {
  const type = contentType || "";
  const isHtml = type.includes("text/html");

  if (status === 200 && type.includes("json")) return "ok: JSON";
  if (status === 200 && type.includes("xml")) return "ok: feed";
  if (status === 200 && isHtml) return "HTML shell, not data";
  if (status === 403 && isHtml) return "logged-out block page";
  if (status === 403) return "forbidden: check token, host, approval";
  if (status === 401) return "token missing or expired";
  if (status === 429) return "rate limited: slow down";
  if (status >= 300 && status < 400 && (location || "").includes("login")) {
    return "login wall";
  }
  return "other";
}

// In a server runtime, ask fetch not to follow redirects so you see the 302.
const url = "https://www.reddit.com/r/smallbusiness/top.json?limit=2";
const res = await fetch(url, { redirect: "manual" });
const label = classifyRedditResponse(
  res.status,
  res.headers.get("content-type"),
  res.headers.get("location")
);
if (label !== "ok: JSON" && label !== "ok: feed") {
  throw new Error("Reddit fetch failed: " + label);
}

The throw is the point. A job that gets a block page, parses zero posts and reports success drops Reddit from your results without any error.

Fixes that do not work

Most 403 advice predates the shutdown. Each of these was either tested by us or reported failing by developers.

Changing the User-Agent

The most common suggestion in the threads is a single question: “Are you setting a user agent?” – r/redditdev. It was standard advice under the old rate limits. Our test sent a current Chrome User-Agent and still got 403 on every logged-out JSON URL. Reddit’s announcement says the block is on unauthenticated requests, and a header is not a login.

Spoofing a browser is also against the grain of Reddit’s Responsible Builder Policy: “You must not misrepresent or mask how or why you are accessing Reddit data.”

Switching to old.reddit.com

In our test the HTML page and its .json URL both returned a 302 to a login page. A client that follows redirects ends up on a login form with a 200 and an HTML body, so check where you landed, not just the status.

Using the api or oauth hostname

Both returned the identical 189,908 byte 403 page with no token. The oauth host is where a valid token goes, but it does not serve anonymous requests either.

Changing IP, proxy or network

A developer on r/webscraping described a script at roughly 30 to 60 requests an hour that suddenly got 403s, and wrote “I switched to a mobile hotspot to rule out an IP issue, but got the same error” – r/webscraping. One report, but it fits our single-IP result: the rule appears to apply to the request type, not the address.

Retries and backoff

Backoff answers a 429, which we saw on the first search RSS call. A 403 block page is not a request to wait.

Copying a session cookie into your script

A reply in that thread said “Grab session cookies and it will work” – r/webscraping. It may. It also puts your account credentials in a script, a risk if it runs on a server or lands in a repository, and sends automated traffic through your personal account. We do not recommend it.

What works in 2026: the five steps

Step 1: Confirm it is the logged-out block

A 403 with an HTML body on a request with no login or token is the block. No header, library setting or retry policy changes a server-side rule on unauthenticated requests, so stop debugging your code.

Step 2: Decide whether a feed is enough

To watch a subreddit for new posts in the next few weeks, RSS works until November 13, 2026. If you need search, comment trees or anything that must run after that date, use the other routes.

Step 3: Apply for approved access if you are building a product

Only if you can get in before October 31, 2026, and only for a product with a clear purpose. See Route 2 for the dates.

Step 4: Use your own logged-in browser for research

For reading and analyzing threads with an AI assistant at a human pace, see Route 3.

Step 5: Make your code fail loudly

Keep the classifier above in the request path on every route. When Reddit changes again, you get an error instead of an empty result.

Route 1: RSS, until November 13, 2026

In our test a subreddit top feed returned 200 as a 7,689 byte Atom document with two entries, each carrying the full post body in its content element. No login needed today.

It is ending. In an r/modnews admin post Reddit wrote: “Because RSS is now a common surface for large-scale scraping and automated abuse, we’ll stop supporting RSS feeds on November 13, 2026.” – r/modnews. The same post adds: “If you use RSS for feeds outside of a community you moderate, there is no replacement.” – r/modnews.

The search feed returned 429 on its first call, so even now it covers listings better than search. Do not start anything new on it. Per-pattern results and the rate limit are in our Reddit RSS ending guide.

Route 2: an approved Reddit Data API app

Under the Responsible Builder Policy you must get approval before using the Data API. The policy says you must not sell, license or commercialize Reddit data, or use it to train machine learning or AI models, without express written approval, and that apps including bots and AI agents must register.

On timing, a Reddit admin replied in the launch thread: “We’re aiming for a 7 day turnaround on most tickets.” – r/redditdev. We could not measure real approval times or rates, so treat that as Reddit’s aim.

If you do have a token, send authenticated requests to the oauth host, not www.

The deadlines close this route. Reddit’s admins set September 30, 2026 for registering all API apps, October 31, 2026 as the last day new public API requests are accepted, January 12, 2027 for access removal to begin for unregistered apps, and March 2027 for the end of remaining public API access. If you do not already hold approved access, plan as if this route is closed.

Route 3: fetch through your own logged-in browser

Reddit said logged-in access would not be impacted, and your own browser is logged in. The BigIdeasDB Clipper Reddit Connector lets that browser make the request at browsing pace and hand the result to your AI client. Reddit has not promised this stays unchanged, so treat it as current behavior, not a guarantee.

From the Reddit Connector docs: when Claude, ChatGPT, Cursor or any client connected to the BigIdeasDB MCP calls a Reddit tool, BigIdeasDB sends a wake-up message to your Clipper extension. Clipper fetches the requested reddit.com page in your Chrome with your Reddit login and returns the result to your AI client. The four tools are search_reddit, fetch_subreddit, fetch_post_comments and fetch_reddit_json. We measured the round trip, push to browser fetch to result, at about 1.2 seconds on October 18, 2026.

Setup, in full in the docs:

  1. Install BigIdeasDB Clipper, version 1.2.0 or later, from the Chrome Web Store.
  2. Log in to reddit.com in the same Chrome profile.
  3. Open the Clipper popup, go to the Reddit tab and click Turn on Reddit Connector, then accept Chrome’s prompt for reddit.com.
  4. Click Test connection. It should show that you are connected as your Reddit user. Then ask your AI to search Reddit.

The connector is off by default, fetches only reddit.com pages your AI asked for at about one request per second, and results are deleted from BigIdeasDB servers once delivered. No Reddit API keys, developer account or approval queue. Examples in searching Reddit from Claude and Cursor and the Reddit research MCP server.

What this is and is not
The Reddit Connector is built for research at a normal pace. It is not a bulk dataset scraper. Excessive or bulk use is against the BigIdeasDB Terms and can lead to throttling, removal or extra charges. It requires BigIdeasDB Pro, and Chrome has to be running, though it can sit in the background. Reddit’s policy requires written approval for commercial use, so volume needs a conversation with Reddit, not a browser.

This is not legal advice. Reddit’s Responsible Builder Policy and terms govern what you may do with the data, including commercial use and AI training, so read them for your case. See pricing for Pro.

In the 30 days to October 18, 2026, Reddit tools were more than half of all tool calls on the BigIdeasDB MCP, per our internal usage log. Scripts built on the old API wrapper: see the PRAW alternative guide.

What is the best way to get Reddit JSON in 2026?

For research with an AI assistant, the BigIdeasDB Reddit Connector, because it needs no approval or API keys. For other jobs:

Your jobRouteWhyLimitation
Research Reddit with Claude, ChatGPT or CursorBigIdeasDB Reddit ConnectorYour own logged-in Chrome, no API keys, about 1.2 s per requestNeeds Pro and a running Chrome. Paced at about 1 request per second. Not for bulk.
Watch a subreddit for new postsRSS (until November 13, 2026)Served 200 with full post text in our testReddit says it stops supporting RSS on November 13, 2026, with no replacement outside a community you moderate. Search RSS returned 429.
Ship a product that reads RedditApproved OAuth appThe route Reddit built for builders, if you already have accessApproval required, new requests stop October 31, 2026 and public API access ends March 2027 per Reddit. Commercial use needs written approval.
Build a very large Reddit datasetWritten approval from RedditReddit’s policy requires it for commercial use and AI trainingWe did not test or price this route. Reddit decides who qualifies.
Source: BigIdeasDB analysis of the October 18, 2026 endpoint test, Reddit's r/modnews announcement and its Responsible Builder Policy. A decision guide, not a ranking of products.

The anonymous door is closed on purpose, so pick the route by job. Ideas from Reddit threads: how to find business ideas on Reddit. Scraping at scale: how to scrape Reddit in 2026.

Get Reddit working in your AI assistant again. BigIdeasDB reads Reddit through your own browser and pairs it with 1M+ documented complaints, so a thread becomes a validated idea in one conversation.

Method and limits

This is what we tested, how, and what it cannot tell you. Read the limits before you quote a result.

SourceWhat we didLimitation
Logged-out endpoint test10 plain HTTPS GET requests, browser User-Agent, no cookies, 2 seconds apart, about 18:59 UTC on October 18, 2026, plus a comment-thread request at 19:07 UTC under the same setupOne run, one residential IP, one date. Results can differ by IP, region and time, and Reddit can change them without notice.
Logged-in comparisonListing, search and thread comments fetched in our own Chrome session through the Reddit ConnectorThe about page and the api, oauth and old hosts were not re-tested logged in. One account, one session.
Reddit’s announcementsRead the r/modnews shutdown post, the r/redditdev approval post and the Responsible Builder Policy pageWe did not read a date on the shutdown post, so we say late May 2026. The RSS end date, the September 30 registration deadline and the October 31, January 12 and March 2027 API dates come from the Reddit admin posts named in the timeline table.
Developer quotesQuotes from r/redditdev, r/webscraping and r/modnews threads that rank for the head query, attributed by subreddit onlyAnecdotes, not measurements. They show what developers report, not how often.
Connector timing and usageRound trip of about 1.2 seconds measured on October 18, 2026. Reddit tools were more than half of MCP tool calls in the 30 days to October 18, 2026, from our internal usage log.One measurement for the timing. Usage is our own log, not a market share.
Source: BigIdeasDB, October 18, 2026. Reddit statements are quoted from the posts linked in the research log; the date of the shutdown post is reported by developer forums.

The test cannot show whether the block varies by region, whether Reddit will move its dates, or how long approvals take. If your request differs from our table, believe your request.

Next: run the classifier on your failing URL, match it to the table, pick a route. Setup is in the Reddit Connector docs, and the MCP troubleshooting guide covers connection failures. Background: the BigIdeasDB MCP.

Frequently asked questions

Why is Reddit returning 403 on .json endpoints?

Because Reddit is shutting down unauthenticated .json access. Reddit said in r/modnews (reported as late May 2026) that it would shut down unauthenticated .json endpoints and that logged-in and authenticated access would not be impacted. In our October 18, 2026 test, none of 7 logged-out JSON style URLs returned data: 6 returned a 403 HTML block page and 1 redirected to a login page.

How do I fix 403 Forbidden on Reddit?

You cannot fix a logged-out .json 403 in your code, because the block is on Reddit's side. Check first that your 403 is not a token sent to the wrong host. Then your options are an already approved Reddit Data API app (Reddit says new requests stop October 31, 2026), RSS until November 13, 2026, or requests made through your own logged-in browser. The BigIdeasDB Reddit Connector is the browser route for AI clients, with Pro and a running Chrome.

What is the best way to get Reddit JSON in 2026?

For research with an AI assistant, the BigIdeasDB Reddit Connector. The request comes from your own logged-in Chrome, so it needs no Reddit API keys or developer approval, and Reddit said logged-in access would not be impacted. We measured about 1.2 seconds per request once, on October 18, 2026, and it is paced at roughly one request per second. If you already hold approved API access, OAuth works until Reddit ends public API access (March 2027, per Reddit). Do not build on RSS, which Reddit ends on November 13, 2026.

Is Reddit blocking me, or is Reddit down?

If Reddit loads in your browser but your script gets a 403 with an HTML body, it is probably not an outage. In our test all six 403 responses were the same size, exactly 189,908 bytes, which points to a fixed block page rather than a failing server. A real outage usually shows 5xx errors and affects the browser too.

Does changing the User-Agent fix the Reddit 403?

No. We sent a current Chrome User-Agent with no cookies from a residential IP and still got 403 on every logged-out www, api and oauth JSON URL on October 18, 2026. A developer on r/webscraping reported the same error after switching to a mobile hotspot, which points away from an IP ban. Reddit's stated rule is about logged-out requests, not headers.

Do old.reddit.com or api.reddit.com still work without logging in?

Not in our test. old.reddit.com answered with a 302 redirect to its login page for both the HTML page and the .json URL, and api.reddit.com returned the same 403 block page as www.reddit.com. This is one run on one IP on one date, so re-test from your own network.

Will Reddit RSS feeds keep working?

Not past November 13, 2026. Reddit says it will stop supporting RSS feeds that day and that for feeds outside a community you moderate there is no replacement. A subreddit top feed returned 200 with full post text in our October 18, 2026 test, while a search feed returned 429 on the first call.

Is it allowed to read Reddit through my own browser?

We cannot give legal advice. The Reddit Connector only fetches pages your AI asks for, at about one request per second, and is built for research at a normal pace, not bulk dataset collection. Excessive use breaks the BigIdeasDB Terms. Reddit's Responsible Builder Policy separately says commercial use and training AI models on Reddit data need written approval, so read it before building a product on top.

Cite this page
Last verified: October 18, 2026
BigIdeasDB Research. (2026). Reddit JSON 403 Forbidden: Why Your Script Broke and What Works in 2026. BigIdeasDB. Retrieved from https://bigideasdb.com/reddit-json-403-forbidden
Founder, BigIdeasDB
Share →
Keep reading