/v1/search"platform": "reddit"Reddit Search API
Find posts by keyword.
Search Reddit posts by keyword and get back text, author, likes, comment count and publish time, as JSON over HTTP or from your AI client over MCP. A call to the Reddit Search API costs 2 credits ($0.004 to $0.0067 depending on the pack), failed calls are free, and the response has the same format as every other call. Last tested 2026-11-04.
Last updated:
limit: 100 and one call pages for you: at most 15 pages, 30 credits. It stops once it has them or the list ends; pages it does not use are not charged, and neither are pages that fail. Reading 1,000 items comes to about 286 credits, about $0.95.Daily watch: tell your AI “watch this daily” and this call runs by itself every day, sending only what is new: at most 62 credits a month, about $0.21. How to set it up
What you get from the Reddit Search API.
From a recorded answer.
A recorded call returned 7 items; here is the first, field by field. Names and text are removed from the sample; the numbers are as recorded.
127 real calls in the last 7 days, 100% succeeded, median 1.4 s, usually 7 items (data to 2026-11-05).
Lighter for your AI: the same recorded data (7 items) is about 38,236 tokens as the platform's raw JSON and about 4,437 as this interface returns it, 88% fewer (measured 2026-11-06). How it was measured
| Field | In the recorded answer |
|---|---|
| url | removed from the sample |
| format | image |
| title | removed from the sample |
| text | null |
| published_at | 2024-11-22T01:25:15.633Z |
| author.id | removed from the sample |
| author.username | removed from the sample |
| author.name | null: Reddit cannot give it |
| author.verified | null: Reddit cannot give it |
| author.followers | null: Reddit cannot give it |
| metrics.likes | null |
| metrics.comments | 213 |
| metrics.shares | null: Reddit cannot give it |
| metrics.collects | null: Reddit cannot give it |
| metrics.views | null: Reddit cannot give it |
| metrics.reposts | null: Reddit cannot give it |
| images | 1 entry |
| hashtags | null: Reddit cannot give it |
| is_pinned | false |
2 credits a call (≈ $0.004–$0.0067): about 1,500 calls for $10.
Reddit Search API: request and response
curl https://api.socialtoai.com/v1/search \ -H "Authorization: Bearer $SOCIALTOAI_API_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{ "platform": "reddit", "query": "saturn rings" }'import osimport uuidimport requestsresponse = requests.post( "https://api.socialtoai.com/v1/search", headers={ "Authorization": f"Bearer {os.environ['SOCIALTOAI_API_KEY']}", # A new key for each request; the same one again retries it without paying twice. "Idempotency-Key": str(uuid.uuid4()), }, json={ "platform": "reddit", "query": "saturn rings", },)print(response.json())# Connected over MCP? Ask in plain words.Search Reddit for posts about "saturn rings".# Your AI calls the search tool with:{ "platform": "reddit", "query": "saturn rings"}sortpublished_within{ "platform": "reddit", "status": "ok", "items": [ { "platform": "reddit", "id": "…", "ref": "…", "approx": [], "type": "content", "url": "https://example.com/…", "format": "image", "title": "…", "text": null, "published_at": "2024-11-22T01:25:15.633Z", "author": { "id": "…", "username": "…", "name": null, "verified": null, "followers": null }, "metrics": { "likes": null, "comments": 213, "shares": null, "collects": null, "views": null, "reposts": null }, "images": ["https://example.com/…"], "hashtags": null, "is_pinned": false } ], "unavailable": ["author.name", "author.verified", "author.followers", "metrics.shares", "metrics.collects", "metrics.views", "metrics.reposts", "hashtags"], "page": { "has_more": true, "cursor": "cur_…", "cursor_expires_at": "2026-10-12T19:13:12.000Z" }, "cost_credits": 2}nullcomments 213shares nullcollects nullviews nullNames and text were removed from the sample; the numbers are as recorded.
Reddit Search API parameters.
5 parameters, 2 required.
Send them as a JSON body with POST. Your key goes in the Authorization header, never in the URL.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| platform | string | Required | — | Always "reddit" on this page. |
| query | string | Required | — | Search terms |
| sort | string | Optional | "relevance" | By relevance, newest first, or top score first"relevance""latest""popular" |
| published_within | string | Optional | — | Published within the last period"day""week""month""year" |
| cursor | string | Optional | — | Pass page.cursor from the last response to get the next page. |
Reddit Search API response fields.
What Reddit cannot give is marked.
| Field | Type | Meaning |
|---|---|---|
| items[].url | string | A link that opens the item. |
| items[].format | string | video, image, text or article. |
| items[].title | string | The title. |
| items[].text | string | The body text or caption. |
| items[].published_at | string | When it was published, ISO 8601 in UTC. |
| items[].author.id | string | The author's account ID. |
| items[].author.username | string | The author's handle. |
| items[].author.name | stringalways null | The author's display name. |
| items[].author.verified | booleanalways null | Whether the author is verified. |
| items[].author.followers | integeralways null | The author's follower count. |
| items[].metrics.likes | integer | Likes. |
| items[].metrics.comments | integer | Comments. |
| items[].metrics.shares | integeralways null | Shares. |
| items[].metrics.collects | integeralways null | Saves. |
| items[].metrics.views | integeralways null | Views or plays. |
| items[].metrics.reposts | integeralways null | Reposts. |
| items[].images | string[] | Image addresses. |
| items[].hashtags | string[]always null | Hashtags, without the #. |
| items[].is_pinned | boolean | Whether the author pinned it. |
nullFields Reddit cannot giveRead null as “Reddit did not give this”, not as zero. These are always null on this call:
author.nameThe author's display name.author.verifiedWhether the author is verified.author.followersThe author's follower count.metrics.sharesShares.metrics.collectsSaves.metrics.viewsViews or plays.metrics.repostsReposts.hashtagsHashtags, without the #.
Compared with the X (Twitter) Search API, this call also gives title but does not give author followers, saves, reposts, views or hashtags.
Every item also has platform, id, ref, approx and type; the response around the items is the same on every call. Response format
Reddit Search API: paging and billing.
5 calls per second per key, 20 after a purchase; going over is not charged. Rate limits
A failed call costs 0 credits and is never retried on its own. Error codes
“Last tested” above is the last day a real call of this interface succeeded. Each call reads from the platform, and fetched_at in the answer is when it was read. The same request sent again with the same key within 5 minutes is a replay (replayed: true): 0 credits, and the answer as first read.
These numbers come from real calls only, worked out once a day, without our own accounts: a customer's same request on one day counts once, by how it last ended; something that does not exist or a wrong parameter is not a failure; an interface with fewer than 20 calls shows none.
Once connected over MCP, these questions use the Reddit Search API.
Search Reddit for posts about "saturn rings".
2 creditssearch {"platform":"reddit","query":"saturn rings"}Search Reddit for posts about "saturn rings", with sort set to latest.
2 creditssearch {"platform":"reddit","query":"saturn rings","sort":"latest"}
Give this to your AI.
Copy it into Claude or ChatGPT.
How to connectUse the SocialToAI MCP server (https://mcp.socialtoai.com/mcp) for this: Search Reddit for posts about "saturn rings".Call the search tool with {"platform":"reddit","query":"saturn rings"}. Needed: query; optional: sort (relevance, latest, popular), published_within (day, week, month, year).For many items pass limit (limit=100 is at most 15 pages) and one call pages for you; each page costs 2 credits and unused pages are not charged.Before you start, work out how many credits it will take in all and ask me; call it only after I agree.What usually comes next, with the ref or username it returns: detail (Detail), comments (Comments).If SocialToAI is not connected yet, tell me how to connect it; never ask me to paste a key into the chat.Answer with a link to every item you used, and tell me how many credits it cost.Paste it into a chat once SocialToAI is connected over MCP. There is no key in it: Claude and ChatGPT sign in, other clients send a key in a header.
These ready-made tools call it when they run.
brand-buzzHow people feel about it on each platform, what comes up most, and the posts behind it
Work scenarios that use it.
brand-monitoringYour AI tells you what people say about a brand: the share of each attitude, what they praise and what they complain about, with the posts behind each point.
product-researchYour AI reads what people say about a product category in threads and posts, and comes back with the complaints and wishes that keep coming up, each with the post it came from.
The same call on other platforms.
All platforms and prices/v1/search{ "platform": "reddit", "query": "saturn rings" }2 creditsper callRead next.
What its own API allows, who can use it and what it costs, with sources.
Swap a subreddit's .rss address for a daily watch's private feed.
what Reddit announced, with sources, and reading Reddit without its API
keep Reddit keyword and brand alerts after RSS ends, with a daily watch
a Reddit keyword or subreddit, daily, 2 credits a run
a brand, daily, across platforms: attitudes and the posts behind them, from 16 credits a run
Let your AI read Reddit.