SignalShelf · Developer documentation

Reddit · search

Search public Reddit posts. GET /api/v1/reddit/search accepts your x-api-key header. This endpoint returns live public data; demo mode is unavailable.

Request parameters

Uses the official OAuth Data API for public post search. Search fields and result coverage follow Reddit’s source API, not an unrestricted index. Returns allowlisted public post fields and source pagination. Requires Reddit’s written commercial-use agreement before real source calls; data is not persistently cached.

ParameterTypeRequiredDescription
querystringYesNon-empty public post search query.
filterstringNoOnly posts or all; other reference filters are unsupported.
sortstringNoReddit search sort order. Allowed: relevance, hot, top, new, comments. Default: relevance.
timeframestringNoRestricts Reddit top/search results to this time range when supported by the selected sort. Allowed: hour, day, week, month, year, all. Default: day.
afterstringNoReddit listing `after` fullname returned by the previous page.
trimbooleanNoAccepted for compatibility; output uses a fixed public-field allowlist.
freshnessstringNo24h (default), 1h, 7d, or live. Accepted cache hits are free; live forces refresh except simultaneous requests may share newly fetched data.

Code examples

Set SIGNALSHELF_BASE_URL and SIGNALSHELF_API_KEY on your server.

REQUEST EXAMPLE
curl "$SIGNALSHELF_BASE_URL/api/v1/reddit/search?query=query" \
  -H "x-api-key: $SIGNALSHELF_API_KEY"

Response and pagination

The response contains data and meta. data includes platform, resource, sample:false, provider, and the public source payload. Lists return data.items; individual resources return data.data.

Author feeds include data.next_cursor. Return it unchanged in cursor for the next page. Feed entries can include reposts. Single-post lookups resolve the handle to a DID first. Deleted or moderated posts may be unavailable.

meta includes event_id, mode, cache, credits_charged, fetched_at, age_seconds, and duration_ms. A fresh successful result costs one credit; accepted cached results and failures cost zero.

Availability and failures

Implementation is not a continuous availability guarantee. Source rate limits, retention, deleted content, restrictions, and regional availability apply. This is an independent SignalShelf contract, not a drop-in competitor response format.

400: invalid parameters. 401: missing/revoked key. 402: insufficient credits. 404: missing public resource. 429: SignalShelf throttle. 502/503: upstream failure or rate limit, with credit restored.

Explore the API in your workspace. Sample results and accepted cache hits cost zero credits. Open the playground →