If you would rather write your own scripts, spreadsheets or internal dashboards than connect an AI tool, the Redreach REST API gives you the same data over plain HTTP. This article covers the essentials. The full reference lives at redreach.ai/reddit-api.

MCP or REST API?
Both read the same data with the same token, so it comes down to who is calling.
Use the MCP server | Use the REST API | |
You want | Your AI assistant to reach Redreach | Your own code to reach Redreach |
You write | Prompts | HTTP requests |
Best for | Daily triage, reports, drafting | Dashboards, scheduled jobs, spreadsheets |
Nothing stops you using both.
Base URL and authentication
https://connect.redreach.ai/api/v1Every request needs your token in a header:
Authorization: Bearer rr_YOUR_API_KEYCreate one in Redreach under Account Settings → API with the Create API key button. Paste the key back into that page and every example request on it fills in with your key, ready to copy. An API key and an MCP token are the same credential, so one key works against both the REST API and the MCP server.
A quick check that everything is wired up:
curl https://connect.redreach.ai/api/v1/me \
-H "Authorization: Bearer rr_YOUR_API_KEY"That returns which user the token belongs to.
Hitting https://connect.redreach.ai/api/v1 with no token at all returns a live list of every endpoint. Handy when you want to check what exists without opening the docs.
Project IDs
Projects are addressed by an id that looks like proj_c4k2m9x7q1b. You get them from GET /v1/projects, and they never change for a given project.
Passing a plain number instead returns an error telling you to use the proj_ form. That is expected, the numeric ids are internal and not part of the public API.
The endpoints
Start with GET /v1/projects to get your project ids, then everything else hangs off them.
Finding threads
Endpoint | What it returns |
GET /v1/projects/{project}/serp-opportunities | Threads ranking on Google for your keywords |
GET /v1/projects/{project}/keyword-opportunities | Fresh threads matching your tracked keywords |
GET /v1/threads?url={reddit url} | Full post text of a thread Redreach has indexed |
Monitoring and analysis
Endpoint | What it returns |
GET /v1/projects/{project}/mentions | Brand or competitor mentions with per-comment sentiment |
GET /v1/projects/{project}/subreddit-insights | Which subreddits hold the most opportunity |
GET /v1/projects/{project}/keywords | The keywords Redreach tracks for the project |
Workflow
Endpoint | What it returns |
GET /v1/projects/{project}/handled | Threads already marked replied or ignored |
POST /v1/projects/{project}/handled | Mark a thread handled for the whole team |
GET /v1/projects/{project}/reply-context | Company identity and saved prompts, for drafting with your own model |
Outreach CRM
Endpoint | What it returns |
GET /v1/projects/{project}/leads | Leads collected by the Redreach Chrome extension |
GET /v1/projects/{project}/lead-lists | Your DM lead lists with member counts |
GET /v1/projects/{project}/campaigns | Your DM campaigns with name, status and type |
GET /v1/projects/{project}/crm-insights | Funnel stats: totals, response rate, won deals |
Most list endpoints take page, limit, sortBy and search. The live endpoint index and the full docs list the parameters each one accepts.
Rules worth knowing
Everything is read-only except one endpoint. POST /v1/projects/{project}/handled marks a thread replied or ignored. Nothing in the API can post to Reddit, change billing or delete anything.
Marking a thread handled affects your whole team. It disappears from everyone's queue, which is the point, but it is not a private change.
Your token sees only your projects. Exactly what your dashboard login can see, nothing more.
Requests are rate limited to 120 per minute and 2,000 per hour, per key. Normal use never comes close. Rate limit headers come back on every response, so your code can back off politely if it needs to.
Access needs an active plan. Growth, Professional and Agency include it. GET /v1/projects shows a hasApiAccess flag per project so you can check before calling anything else.
Data freshness
Two things are worth building around:
- Monitoring runs on a schedule. A brand new project needs a few minutes to finish its first pass, so an empty response right after setup is not necessarily a real zero. Responses carry a warning when a monitoring run failed.
- CRM data comes from the Chrome extension and only updates while it is open.
crm-insightsincludes a freshness indicator so you can tell how current the numbers are.
Full reference
Endpoint parameters, response shapes and examples are all at redreach.ai/reddit-api.
What's next?
Prefer to skip the code? → Getting started with the Redreach MCP sets up the same data inside Claude, ChatGPT or Cursor in about two minutes.
