Find communities by name or topic
POST /v1/reddit/search/subreddits
Communities whose name or description matches the query, with member counts. Use it to
find where a topic is discussed before reading or watching those communities. To search
posts inside one community, use POST /v1/reddit/subreddits/{name}/search instead.
Price: 1 credit per call, plus 1 credit per subreddit returned. Failed and refused calls cost nothing.
Rate limit: Counts as 2 requests against your per-minute rate limit.
MCP tool: search_subreddits, on every MCP connection.
Requires an API key, sent as Authorization: Bearer <key>.
Request
curl --request POST \
--url https://api.weirapp.io/v1/reddit/search/subreddits \
--header "Authorization: Bearer $WEIR_API_KEY" \
--header 'Content-Type: application/json' \
--data '{"query":"payment failures"}'Body
| Field | Type | Required | Notes |
|---|---|---|---|
query |
string | yes | Words to match against community names and descriptions. · 1–500 chars |
sort |
string | no | activity favours communities that are busy right now. · relevance, activity, default "relevance" |
includeNsfw |
boolean | no | Include results marked NSFW. Off by default; what it removes is reported in meta.omittedNsfw. · default false |
limit |
integer | no | 1–100, default 25 |
cursor |
string | no | meta.nextCursor from the previous page, unchanged. Opaque, signed, and bound to the other parameters: change any of them and start again without a cursor. · 1–4096 chars |
Response
Communities, in Reddit's own field names.
200
| Field | Type | Required | Notes |
|---|---|---|---|
data |
array of object | yes | |
data[].id |
string | yes | Reddit's fullname for the community, t5_ included. |
data[].name |
string | yes | Community name without the r/ prefix. |
data[].title |
string | yes | |
data[].description |
string or null | yes | The short public description. Null if unset. |
data[].url |
string | yes | |
data[].subscribers |
integer | yes | min 0 |
data[].over18 |
boolean | yes | The whole community is marked NSFW. |
data[].createdUtc |
number | yes | |
data[].createdAt |
string (date-time) | yes | |
data[].subredditType |
string | yes | public, restricted, private, archived, gold_restricted, or user. |
data[].submissionType |
string or null | yes | What may be posted: any, link, or self. |
data[].lang |
string or null | yes | The community's declared language, such as en. |
data[].quarantine |
boolean | yes | Quarantined by Reddit: hidden from search and listings. |
data[].communityIcon |
string or null | yes | URL of the community icon. Null if unset. |
data[].bannerImg |
string or null | yes | URL of the banner image. Null if unset. |
meta |
object | yes | |
meta.requestId |
string | yes | |
meta.nextCursor |
string or null | no | |
meta.omittedNsfw |
integer | no | Items removed from this page because they are marked NSFW and includeNsfw is false. Absent when nothing was removed. A page can be short, or even empty with a non-null nextCursor, because of it. · min 0 |
Errors
| Status | Meaning | What to do |
|---|---|---|
400 |
The request failed validation. | The request was malformed. The details object names the field. |
401 |
The API key is missing, malformed, expired, or revoked. | The key is missing, malformed, revoked, or expired. |
402 |
The account is out of credit. Not retryable: this cannot clear until the billing period resets or the plan changes. | Out of credits. Never retry. Only a person can clear it, by adding credits at https://weirapp.io/dashboard/billing. Retrying never will. |
403 |
The API key does not carry the scope this route requires. | The key is valid but lacks the scope this operation needs. |
404 |
The requested resource does not exist. | No such resource, or it is not public. |
429 |
The per-minute rate limit is exhausted. Retryable: wait for Retry-After and try again. | Rate limited. Retryable: wait for Retry-After, then try again. |
500 |
An unexpected error occurred. | Something failed on our side. Retryable with backoff. |
503 |
The source is temporarily unavailable. The request is safe to retry. | A source was unreachable. Retryable with backoff. |