Skip to main content
GET
Reddit Search Media
Search public image, gallery and video posts with query. Each request examines up to 25 native candidates, filters to media and then applies since / until. Related results may appear because query semantics belong to Reddit’s live index. NSFW content is excluded by the upstream search option. sort accepts relevance (default), new, top, or comment_count. timeframe accepts all (default), day, week, month, or year; it has no effect with sort=new. Dates accept YYYY-MM-DD or ISO timestamps with a timezone. Date-only bounds are inclusive UTC days. Unknown publication dates are excluded when a bound is set. Follow next_cursor with the same query and filters. A filtered page can be empty and still have a cursor. Date filtering never stops the search walk because relevance results are not chronological. The adapter stops after 40 pages, exposes stopped_at=page_limit, and does not claim a complete Reddit archive. A null cursor with listing_status=unknown also does not certify exhaustive coverage. total is the returned page count, not an estimated global match count. Each item contains {post, computed}. Gallery media_urls contain actual image URLs; a gallery landing page is never reported as an image. Native videos expose a direct fallback file and, when available, ext.video_hls_url / video_dash_url. The fallback file may omit a separate audio track. Signed media URLs may expire. Post and author enrichment supplies avatars, upvote ratio and flair, and can be cached for one hour. Missing or failed enrichment sets ext.enrichment_status=partial, adds warning codes, and leaves unavailable fields null. Partial responses are not cached as complete API results. Reddit’s net score is ext.score; engagement.likes stays null. Unknown verification, shares, deletion state and computed metrics are not inferred. A fresh nonempty response costs 1 credit, including disclosed partial enrichment. Empty filtered pages, cached responses and idempotent replays cost zero. Invalid inputs and failed search requests are also uncharged. Use X-Max-Credits: 1 and a 60-second client timeout; the shared upstream deadline is 47 seconds.
This adapter combines Redditapis public media search and ScrapeBadger public enrichment. It is constrained by approved trial/existing-credit verification allowances. A successful query does not establish sustained production capacity or exhaustive search coverage.

Authorizations

x-api-key
string
header
required

Headers

Cache-Control
string
Idempotency-Key
string
X-Max-Credits
integer

Optional nonnegative integer cap on the maximum request hold. A live request whose hold exceeds this cap returns 422 CREDIT_BUDGET_EXCEEDED before spending. Metered holds use the requested limit; cache hits and successful idempotent replays cost zero.

Required range: x >= 0

Query Parameters

query
string
required
sort
enum<string>
Available options:
relevance,
new,
top,
comment_count
timeframe
enum<string>
Available options:
all,
day,
week,
month,
year
cursor
string
since
string
until
string

Response

Search one public non-NSFW Reddit media window, with up to 25 source candidates per page. Native query matching may include related results. sort=new ignores timeframe. Date bounds filter each window without stopping unordered pagination; query-bound opaque cursors stop at 40 pages. Gallery URLs are actual images, while video files and optional audio playlists come from validated post enrichment. Failed post/avatar enrichment yields explicit partial status and null unknown fields, never an invented media URL. Reddit net score stays ext.score, not likes. Source enrichment can be cached for one hour. A nonempty fresh result costs one credit; empty filtered windows, cache hits and replays are free. Finite Redditapis and ScrapeBadger allowances do not establish sustained production capacity.

success
boolean
required
platform
string
required
endpoint
string
required
credits_used
integer
required
Required range: x >= 0
credits_remaining
integer | null
required
request_id
string
required
cached
boolean
required
data
object
required

The selected operation determines the resource fields in this object. Source data can omit a metric or report it as null.