API reference · Reddit
reddit/subreddit-posts
Integrate this model through SandBase's unified API, with production-ready schemas and examples.
Production endpoint
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
POST
https://api.sandbase.ai/v1/api/reddit/subreddit-postsModel ID
reddit/subreddit-posts01
Input Schema
7 parameters · 1 required · 6 optional
| Parameter | Type | Required | Description |
|---|---|---|---|
subreddit | string | Required | Subreddit name without the leading r/ (e.g. "golang"). |
sort | string | Optional | Listing sort order. · Options: hot, new, top · Default: "hot" hotnewtop |
after | string | Optional | Legacy pagination alias. Prefer `cursor`; omit both fields for the first page. |
limit | integer | Optional | Page size to ask for (up to 100). Some sources honor it; others always return their whole page of about 25 posts. A page is never trimmed after the call, so pass nextCursor back as cursor to continue exactly where this response ended. · Min: 1 · Max: 100 · Default: 25 |
cursor | string | Optional | Opaque pagination cursor from a previous response's `nextCursor`; omit for the first page. |
timeframe | string | Optional | Time window, applied when sort is "top" (e.g. "year" for the year's top posts). Ignored for hot/new. Omit to default to the current day for top. · Options: all, year, month, week, day, hour allyearmonthweekdayhour |
requireFields | string[] | Optional | Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `isArchived` or `selftext`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. A named field can still be absent on a post that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge. On a paginated walk it applies to the first page only; later pages stay with the source that page chose, at the price it was quoted. |
02
Output Schema
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the generation task |
status | string | Task status: pending, running, completed, failed, timeout |
model | string | Model used for the generation |
outputs | array | Array of output items |
outputs[].url | string | URL of the generated artifact |
outputs[].content_type | string | MIME type (e.g. image/png, video/mp4) |
error | object | null | Error details if failed, null on success |
error.type | string | Machine-readable error type code |
error.message | string | Human-readable error description |
03
Code Examples
Ready-to-run snippets
const apiKey = process.env.SANDBASE_API_KEY;
const response = await fetch("https://api.sandbase.ai/v1/api/reddit/subreddit-posts", {
method: "POST",
headers: {
Authorization: `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"sort": "hot",
"limit": 5,
"subreddit": "programming"
}),
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());