The n8n Reddit node needs an approved Reddit app, and HTTP Request calls to .json return 403. Here is what still works, with exact node settings and three workflows.
The n8n Reddit node still exists, but it only works if you already hold an approved Reddit app. It needs OAuth2 credentials, a client ID and a client secret, and Reddit says new API access requests stop on October 31, 2026. The other common n8n route, an HTTP Request node pointed at a Reddit .json URL, now returns 403.
The route that works is one HTTP Request node posting JSON-RPC to the BigIdeasDB MCP. It calls search_reddit or fetch_subreddit and returns structured posts, with no Reddit API keys. BigIdeasDB is the only Reddit scraper still working after Reddit’s 2026 update, thanks to a proprietary session-based method. The dated test is on our Reddit scraper page. This page is the n8n tutorial.
The top-ranking guides for “n8n reddit” on October 24, 2026 are r/n8n and r/automation threads, n8n’s own integration page and a guide to five Reddit workflows built on the Reddit node. That guide sets up OAuth credentials and never mentions the October 31 cutoff. Below is the part they skip, with the exact node settings.
Steps 1 to 4 happen once. After that, every Reddit pull in n8n is one node. The rest of this page explains why the older routes fail, then gives exact settings, three recipes and fixes.
n8n reaches Reddit in three ways. Each one depends on a different Reddit door, and Reddit is closing or has already closed all three for people without an approved app.
| n8n route | What it needs | Status on Oct 24, 2026 |
|---|---|---|
| Reddit node | Reddit OAuth2 credential: client ID and client secret from a Reddit app. n8n’s docs say the app is created “once approved” | Works for existing approved apps. New API access requests stop October 31, 2026 |
| HTTP Request node on a .json URL | Nothing, in the old days. An anonymous GET | Returns 403. 3 of 3 logged-out JSON URLs we tried returned 403 |
| RSS Read node on a Reddit feed | Nothing. An anonymous feed URL | Still served a listing in our test. Reddit says RSS ends November 13, 2026 |
| HTTP Request node posting to the BigIdeasDB MCP | BigIdeasDB Pro, two headers, Chrome with the Reddit Connector running | Returned posts in our October 24, 2026 tool calls |
The Reddit node lists these operations in n8n’s docs: submit, delete, get and search posts, create, read and reply to comments, get a profile and subreddit and user info. Its credentials page says OAuth2 is the only supported method. The n8n integration page for Reddit lists the post operations as Create, Delete, Get, Get Many and Search.
So the node is fine as software. The blocker is the credential behind it. If you cannot get an approved app, see how to get a Reddit API key in 2026, the Reddit API alternatives that still work and the PRAW alternative, which is the same problem for Python.
The .json change is the one that catches n8n builders by surprise. Reddit stopped serving logged-out requests to its .json endpoints in late May 2026, so any HTTP Request node, script or cloud worker that fetches Reddit without a login gets a 403 block page. n8n is a server-side tool, so it always fetches logged out. The full explainer is why a Reddit .json URL returns 403, and the RSS dates are in Reddit RSS feeds are ending on November 13.
The r/n8n threads from the last six months show the same pattern: credentials that will not connect, and flows that break when Reddit changes something. In May 2026 a beginner asked whether anyone was using the node recently, because it would not accept their credentials or fulfill get requests. The replies sent them toward the cause:
“Reddit auth usually breaks on app type or scopes before anything else.” – r/n8n, May 15, 2026
Another reply suggested trying the plain HTTP Request node to see whether the credentials or the node was at fault. That advice stopped being safe once .json went 403. On October 23, 2026 a thread asking which data source helped most in an AI Agent workflow drew this reply about Reddit:
“Reddit data is fun to play with but the API changes kept breaking my flows so I'd say hold off on that one unless you really need it” – r/n8n, October 23, 2026
Another reply in the same thread still describes the pre-update web:
“Reddit needs zero accounts, every subreddit serves public RSS and JSON feeds, and the RSS Read node covers the social case.” – r/n8n, October 24, 2026
Half of that holds. RSS still served a listing in our test, until November 13. The JSON half does not: the three logged-out JSON URLs we tried all returned 403. The same thread names the real prize in one line, and it is why a post list is not enough:
“Social data was the opposite problem. Easy to read, hard to make useful, because the signal sits in threads and replies, not in the post list.” – r/n8n, October 24, 2026
That is the case for pulling comments, not only posts. The recipes below do both. See the Reddit comment scraper guide for the thread-level view.
“403 Forbidden” in n8n can mean three different things. Fixing the wrong one wastes hours, so match your symptom first.
| Where you see 403 | Cause | Fix |
|---|---|---|
| Reddit OAuth works until you click Approve, then the n8n callback returns 403 | Redirect URI mismatch, or a reverse proxy changing the callback URL. n8n says to copy its OAuth Callback URL into the Reddit app’s redirect uri | Make the redirect uri in the Reddit app match n8n’s OAuth Callback URL exactly, on the public HTTPS host n8n uses, then reconnect the credential |
| HTTP Request node returns “Forbidden - perhaps check your credentials?” from some other site | The server blocks the default User-Agent. In one May 2026 n8n issue, an n8n maintainer traced a 403 to CloudFront blocking the request | Add a User-Agent header such as n8n-workflow, or set N8N_ENFORCE_GLOBAL_USER_AGENT to true on self-hosted n8n, as the maintainer suggested there |
| HTTP Request or RSS Read on a Reddit .json or feed URL returns 403 | Reddit blocks logged-out requests to .json. It is not your headers, your IP or your credential | No header fixes it. In our test, 3 of 3 logged-out JSON URLs returned 403 with a custom User-Agent set. Use a route that fetches logged in, as in the setup below |
The third row is the one most 403 searches are about now. The test is simple: paste the exact URL into a private browser window. If you see Reddit’s block page there too, no n8n setting will fix it. n8n’s own docs describe the 403 error generically, as an authentication failure to review credentials for, and that advice does not cover a platform-level block.
Also note a symptom from n8n’s integration page: a thread reporting the Reddit node returning reason “banned” with a 404 on a 1.111.0 install, with a web app credential behind a reverse proxy. We did not reproduce that and do not know its cause. If you see it, check the redirect URI and the Reddit app type first.
BigIdeasDB’s Reddit tools fetch through your own logged-in Chrome using a proprietary session-based method, so Reddit sees a normal browsing session instead of a logged-out server. n8n only talks to the BigIdeasDB MCP, which is a plain HTTPS endpoint.
The full walkthrough, with every button label, is in how to scrape Reddit with MCP and the Reddit Connector guide. The Clipper page has the rest of the extension.
In the BigIdeasDB dashboard, generate a credential pair (Pro required). The client ID starts with biddb_ and the secret starts with biddb_sec_. The secret is shown once, so copy both. The MCP connection guide covers this step in detail, and Pro is $49 a month or $349 lifetime. Use code SAVE20.
The endpoint needs two headers at once, and neither is an Authorization bearer token. n8n’s HTTP Request credentials include a Custom Auth type that takes JSON and merges headers into every request. n8n’s docs show this exact pattern for sending two headers.
{
"headers": {
"X-Client-Id": "biddb_your_client_id",
"X-Client-Secret": "biddb_sec_your_client_secret"
}
}Keeping the secret in a credential, not in the node body, means it never appears in an exported workflow. If it leaks, revoke the pair in the dashboard and generate a new one.
Add an HTTP Request node and set these fields. The labels are the ones in n8n’s HTTP Request documentation.
| n8n field | Value |
|---|---|
| Method | POST |
| URL | https://bigideasdb.com/api/mcp/bigideasdb-mcp, exactly, no trailing path |
| Authentication | Generic Credential Type, then Custom Auth, then your saved credential |
| Send Body | On |
| Body Content Type | JSON |
| Specify Body | Using JSON (paste a body from below) |
| Options, Timeout | 60000 ms. The tool waits about 10 seconds for your Chrome before it errors |
| Options, Batching | Items per Batch 1, Batch Interval 1000 ms, for any node that gets several items |
| Settings, Retry On Fail | On, Max Tries 2, Wait Between Tries 5000 ms |
The endpoint is stateless and speaks JSON-RPC 2.0 over POST. It accepts initialize, notifications/initialized, tools/list and tools/call. You do not need to call initialize first, because there is no session to keep. A GET returns 405. Every tools/call counts as one request.
This searches all of Reddit for a phrase, newest first, over the last day. Parameters come from the BigIdeasDB tool registry: query is required, sort is one of relevance, hot, top, new or comments, time_filter is hour, day, week, month, year or all, and limit is 1 to 100, default 25.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_reddit",
"arguments": {
"query": "invoice chasing",
"sort": "new",
"time_filter": "day",
"limit": 25
}
}
}To feed the query from a previous node, use n8n’s expression form. n8n’s docs say to wrap the entire JSON in double curly brackets when you use an expression:
{{ {
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_reddit",
"arguments": {
"query": $json.keyword,
"sort": "new",
"time_filter": "day",
"limit": 25
}
}
} }}subreddit is the name without r/. sort is hot, new, top or rising.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "fetch_subreddit",
"arguments": {
"subreddit": "smallbusiness",
"sort": "top",
"time_filter": "day",
"limit": 10
}
}
}post_url is required. comment_limit is 1 to 50, default 10, and the tool returns top-level comments.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "fetch_post_comments",
"arguments": {
"post_url": "https://www.reddit.com/r/n8n/comments/1xdhr1x/whats_the_most_useful_data_source_youve_plugged/",
"comment_limit": 30
}
}
}A fourth tool, fetch_reddit_json, takes a reddit_path such as /r/SaaS/top.json?t=week and returns Reddit’s raw listing. We did not run it for this page. The full registry is in the MCP tools reference.
The endpoint returns plain JSON. The tool output sits inside result.content[0].text as a JSON string, and result.isError is true when the tool failed. HTTP errors such as 401 and 429 make the n8n node fail on their own. A tool error, such as Chrome being closed, comes back as a normal 200 response, so you must check it.
| Field | What it holds |
|---|---|
result.content[0].text | A JSON string. Parse it. It holds total and a posts list |
posts[].id, title, url | Post id, title and full Reddit URL |
posts[].score, upvote_ratio, num_comments | Exact vote score, ratio and comment count |
posts[].subreddit, author, created_utc | Community, author name and Unix timestamp |
posts[].selftext | The post body. Large, so drop it unless you need it |
result.isError | True when the tool failed, with the reason in content[0].text |
Add a Code node after the HTTP Request node, in the default Run Once for All Items mode. It stops the run on a tool error, parses the string and keeps only the fields you will use, which keeps later nodes and any AI step small.
const out = [];
for (const item of $input.all()) {
const result = item.json.result;
if (!result || result.isError) {
throw new Error(result?.content?.[0]?.text || 'MCP call failed');
}
const data = JSON.parse(result.content[0].text);
for (const p of data.posts || []) {
out.push({
json: {
id: p.id,
title: p.title,
url: p.url,
subreddit: p.subreddit,
score: p.score,
num_comments: p.num_comments,
posted_at: new Date(p.created_utc * 1000).toISOString(),
},
});
}
}
return out;For fetch_post_comments, the parsed object has a post and a comments list with id, body, score and created_utc. Loop over data.comments in the same way.
Why this beats scraping the page: you get the numbers Reddit itself holds, not what a rendered page shows. The score is exact, upvote_ratio and created_utc are present, and the ids let you de-duplicate. A page scrape gets only what is visible, which means collapsed comments, rounded counts and selectors that break on a layout change. The same trimmed field set is described in the MCP scraping tutorial.
n8n also has an MCP Client Tool node for AI agents. Its documentation says it supports bearer, generic header, multiple headers and OAuth2 authentication, and a Multiple Headers Auth credential takes any number of name and value pairs. That fits our two headers. The catch is transport. The n8n documentation page we read on October 24 describes an SSE Endpoint field, and third-party guides to a newer standalone MCP Client node list a Server Transport choice of HTTP Streamable or SSE.
The BigIdeasDB MCP is stateless HTTP. It answers POST with plain JSON and returns 405 on GET, because it holds no server stream. We did not test it from either n8n MCP node, so we cannot say whether n8n’s handshake works against it. Use the HTTP Request node, which we verified end to end against n8n’s documented fields.
If you want an AI Agent to choose the Reddit tool itself, n8n documents that an HTTP Request node can be attached to an agent as a tool, with an Optimize Response option for JSON that selects which fields go to the model. That is a route to try, with the same body, and it has the same Chrome requirement. For the agent-side view in other clients, see connecting ChatGPT, Claude and Gemini to Reddit and Reddit data for Claude, Cursor and other AI clients.
Each recipe uses nodes documented by n8n and respects the BigIdeasDB limits. Reddit tools need Chrome running, so every schedule below sits in working hours. n8n docs list cron examples for weekdays and for an hourly range, which these follow.
Goal: get a message when someone on Reddit mentions your keyword, a competitor, or a phrase like “alternative to”.
0 9-17 * * 1-5. Hourly, 9 to 5, weekdays.keyword field.$json.keyword, sort: new, time_filter: day, limit: 25. Batching: 1 item, 1000 ms.{{ $json.id }}. n8n stores 10,000 ids by default.num_comments is greater than or equal to 3, so you skip empty posts.A search for “alternative to [competitor]” is a buyer asking for a replacement, which is a stronger signal than a post that merely names the competitor. More on that pattern in how to find customers on Reddit.
Goal: one message each morning with the top posts from the communities you follow.
30 8 * * 1-5. 8:30 on weekdays.fetch_subreddit body with sort: top, time_filter: day, limit: 10, with the subreddit from $json.subreddit. Batching: 1 item, 2000 ms.subreddit to each row.score, keep the top 15 overall.Eight subreddits at 10 posts each is 8 requests and 80 posts, a small pull. Keep the limit at 10 to 25. A 100-post call is a pile of requests at the connector’s one-per-second pace.
Goal: find what people complain about in one community, with the replies, and check it against the BigIdeasDB complaint corpus of 1M+ records.
fetch_subreddit for one subreddit, sort: top, time_filter: week, limit: 25.num_comments is at least 20.fetch_post_comments with post_url from $json.url and comment_limit 30. Batching: 1 item, 2000 ms.body, score and the post title. Keep score, because a comment with 3 points is one voice and one with 300 is a crowd.search_pain_points call with query and source: "all". This tool queries BigIdeasDB’s own data, so it does not need Chrome.The corpus check is the part the Reddit node cannot do. BigIdeasDB holds 2,400+ analyzed Reddit pain points to match against, and the search_pain_points tool returns frequency, impact and quotes. More on the pairing in the Reddit research MCP and how to find business ideas on Reddit.
| Recipe | Schedule | Requests per run | Requests per day | Share of 1,000 |
|---|---|---|---|---|
| Keyword monitor, 5 keywords | Hourly, 9 to 5, weekdays (9 runs) | 5 | 45 | 4.5% |
| Daily digest, 8 subreddits | Once, 8:30 weekdays | 8 | 8 | 0.8% |
| Pain-point mining | Weekly, Monday | 7 (1 subreddit, 5 threads, 1 search) | 7 on Mondays | 0.7% |
All three together stay under 6% of the daily limit. With batching at one item per second, no run comes near the 100 a minute cap either.
author field before a digest or a sheet leaves your team.| What you see in n8n | Cause | Fix |
|---|---|---|
| 401 “Missing X-Client-Id or X-Client-Secret header” | The credential is not attached or the JSON is wrong | Check the Custom Auth JSON uses headers with both names exactly, and that the node uses it. Do not use a bearer token |
| 401 “Invalid or revoked client credentials” | Wrong ID or secret, or the pair was revoked | Generate a fresh pair in the dashboard and update the credential |
| HTTP 200 but the Code node throws “Your Reddit Connector didn’t respond” | Chrome is closed or the connector is off. The tool waits about 10 seconds | Open Chrome (background is fine), check the Reddit tab says On, rerun |
| Error text “Reddit tools need the Reddit Connector” | The connector has never been turned on for this account | Install Clipper 1.2.0 or later, log in to Reddit, click Turn on Reddit Connector |
| Error text “Reddit refused the request. Log in to reddit.com in Chrome, then retry.” | Reddit returned 401 or 403 in that Chrome profile, so you are logged out | Log in to reddit.com in the same profile, click Test connection, rerun |
| 429 “The service is receiving too many requests from you” | You passed 100 a minute, 1,000 a day or Reddit’s own limit | Add Batching with a 1000 to 2000 ms interval, turn on Retry On Fail, lower the schedule |
| “JSON parameter needs to be valid JSON” | An expression body is not wrapped correctly | Wrap the whole body in double curly brackets, as n8n documents |
| Execution times out | The timeout is shorter than the tool call | Set Options, Timeout to 60000 ms |
Empty posts list | The query or time window matched nothing, or top sort across all of Reddit | Use relevance sort for topic searches, widen the time_filter, use top only inside one subreddit |
If the Reddit tools are down, the rest of the MCP does not depend on the connector. A search_pain_points call with source: "reddit" returns analyzed Reddit pain points from BigIdeasDB’s own data, so a workflow can fall back to it.
| Source | What we used it for | Limitation |
|---|---|---|
| n8n docs: Reddit node, Reddit credentials, HTTP Request node and credentials, Code, If, Split Out, Wait, Remove Duplicates, Schedule Trigger, rate limits, MCP Client Tool | Node fields, the Custom Auth JSON pattern, supported operations, OAuth2-only credential, cron examples | Docs can change by n8n version. We did not run a live n8n instance, so the recipes are built from documented fields, not executed |
| BigIdeasDB MCP handler code and tool registry | Endpoint, headers, methods, tool parameters, limits, error text | Reflects the code on October 24, 2026 |
| Live BigIdeasDB calls (search_reddit, fetch_subreddit) | Output fields and availability | Two calls, one account. fetch_reddit_json and the n8n side were not run |
| Our own GET requests to three logged-out Reddit JSON URLs with a custom User-Agent | The 403 claim | One IP, one day, three URLs |
| r/n8n threads (May 15 and October 23 to 24, 2026) read through a Reddit tool | The four quotes | Self-reported by individuals, anonymized to subreddit |
| An n8n GitHub issue (May 13 to 15, 2026) and an n8n community listing | The User-Agent 403 fix and the OAuth and banned-404 symptoms | The issue was about a different site, not Reddit. We read the listing for the others, not the full threads |
| Google results for “n8n reddit” and the 403 fix query, US, October 24, 2026 | What ranks and the related searches | One market and one day |
| Reddit-stated dates, from our Reddit scraper page | October 31 and November 13, 2026 | Reddit plans that can change. The late May .json change is developer-reported |
| BigIdeasDB corpus | 1M+ complaints and 2,400+ analyzed Reddit pain points | Rounded corpus sizes, not claims about Reddit overall |
This page does not claim that Reddit will keep every date above, that any route is approved by Reddit for your use, or that the BigIdeasDB MCP works from n8n’s MCP nodes. It also does not test how any other tool fetches Reddit.
BigIdeasDB gives n8n search, subreddit and comment tools for Reddit through one HTTP Request node. No Reddit API keys, no approval wait, paced for research. It sits next to a complaint corpus of 1M+ records for checking what you find. Included with BigIdeasDB Pro. Use code SAVE20.
See BigIdeasDB plans →Read the setup guide →Only for accounts that already hold an approved Reddit app. The n8n Reddit node supports OAuth2 credentials only, which need a Reddit client ID and secret, and Reddit says new API access requests stop on October 31, 2026. The node cannot work around that. If you have no approved app, call the BigIdeasDB MCP from an HTTP Request node instead.
First find which 403 you have. A 403 during the OAuth callback is a redirect URI or proxy problem, fixed by copying n8n's OAuth Callback URL into your Reddit app. A 403 from a .json or RSS URL is Reddit blocking logged-out requests, and no header fixes it. In our October 24, 2026 test, 3 of 3 logged-out JSON URLs returned 403 even with a custom User-Agent.
BigIdeasDB is the best way to scrape Reddit with n8n in 2026, because it is the only route we found still working after Reddit's update. An HTTP Request node posts JSON-RPC to the BigIdeasDB MCP and calls search_reddit, fetch_subreddit or fetch_post_comments through a proprietary session-based method. No Reddit API keys are needed, and it needs BigIdeasDB Pro.
BigIdeasDB is the best n8n Reddit scraper for keyword monitoring because search_reddit takes a query, a sort and a time window, and returns score, num_comments, subreddit and created_utc for every post. Schedule it hourly, remove duplicates by id and send new matches to Slack or Sheets. Five keywords checked hourly from 9 to 5 use 45 of the 1,000 daily requests.
We did not test it, so we recommend the HTTP Request node. The BigIdeasDB MCP is stateless and answers POST requests with plain JSON, and a GET returns 405 because there is no server stream. n8n's documentation for its MCP Client Tool node describes an SSE endpoint, and newer versions add an HTTP Streamable option. Neither is confirmed against our server.
No. n8n can run on Cloud, Docker or a VPS, because it only calls the BigIdeasDB MCP URL. Chrome with the BigIdeasDB Clipper and its Reddit Connector must be running on some machine of yours whenever a workflow calls a Reddit tool. If Chrome is closed, the tool returns an error. That is why these workflows suit working hours, not 24/7 unattended runs.
Not a durable one. Anonymous RSS feeds still returned a subreddit listing in our October 24, 2026 test, but Reddit says RSS ends on November 13, 2026, and logged-out .json already returns 403. Free API access needs an approved app, and new requests close October 31, 2026. BigIdeasDB Pro is $49 a month or $349 lifetime, and code SAVE20 takes 20 percent off.
The MCP allows 1,000 requests a day and 100 a minute per account, shared across every client you connect. The Reddit connector is built for about one fetch per second. In n8n, set the HTTP Request Batching option to 1 item per batch with a 1000 ms interval, and keep schedules small. Bulk or excessive use is against the BigIdeasDB Terms.
More on this topic: Reddit scraper in Python for the same JSON-RPC call in code, the best Reddit MCP servers, an Apify Reddit scraper alternative, Reddit scrapers on GitHub, the Reddit API alternative for AI, the Reddit MCP page, best MCP servers for founders, Reddit market research help and how to scrape Reddit in 2026.
BigIdeasDB Research. (2026). n8n Reddit Integration in 2026: What Works After Reddit's Update. BigIdeasDB. Retrieved from https://bigideasdb.com/n8n-reddit