Skip to content
scrapeatlas.Dashboard

Global search

Try in Playground

Search public posts or comments across all of Reddit with ranking, a publication window, optional exact matching, trimmed records and after continuation.

GET/v1/reddit/searchx-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
9
querystringrequiredquery

Required.

min 1 chars · max 500 chars

Exampleplanning
filterenumdefault: "posts"query

posts (default) or comments. Comment search covers every community.

one of: posts, comments · default: "posts"

Exampleposts
sortenumdefault: "relevance"query

Optional.

one of: relevance, new, top, comment_count · default: "relevance"

Examplerelevance
timeframeenumdefault: "all"query

all (default), hour, day, week, month or year.

one of: all, hour, day, week, month, year · default: "all"

Exampleall
sincenumber | stringquery

Earliest publication time to include, as ISO 8601 (2026-09-27T09:00:00Z) or Unix seconds. With sort=new, pagination ends once results are older than since.

untilnumber | stringquery

Publication time to stop before, as ISO 8601 or Unix seconds; must be later than since.

afterstringquery

Optional.

max 5000 chars

trimboolean | enumdefault: falsequery

Optional.

default: false

Examplefalse
exact_matchboolean | enumdefault: falsequery

true keeps only results whose own text contains every query word or "quoted phrase" as a whole word (case- and accent-insensitive; A OR B and -word are honoured); defaults to false.

default: false

Response fields
47
requestIdstring

Always included.

order is relevance, newest_first for sort=new or ranked. Inspect complete and reasons on every response.

coverage.completeboolean

Always included.

coverage.reasonsstring[]

Always included.

coverage.orderenumoptional

Optional.

one of: newest_first, oldest_first, ranked, relevance, source_order

Optional.

coverage.window.sincestringoptional

Optional.

coverage.window.untilstringoptional

Optional.

Always included.

accounting.httpRequestsinteger

Always included.

≥ 0

accounting.proxyBytesnumber

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

accounting.pageLoadsinteger

Always included.

≥ 0

accounting.challengeCountinteger

Always included.

≥ 0

accounting.rssRequestsinteger

Always included.

≥ 0

accounting.proxySessionIdstring

Always included.

successboolean

Always included.

statusenum

success, partial, challenged or failed. error contains a sanitized machine-readable reason on failure.

one of: success, partial

Always included.

up to 100 items

posts.idstring

Always included.

posts.titlestring

Always included.

posts.permalinkstring

Always included.

posts.namestringoptional

Optional.

posts.authorstringnullableoptional

Optional.

posts.author_fullnamestringnullableoptional

Optional.

posts.subredditstringnullableoptional

Optional.

posts.subreddit_idstringnullableoptional

Optional.

posts.selftextstringnullableoptional

Optional.

posts.selftext_htmlstringnullableoptional

Optional.

posts.scorenumbernullableoptional

Optional.

posts.upsnumbernullableoptional

Optional.

posts.downsnumbernullableoptional

Optional.

posts.upvote_rationumbernullableoptional

Optional.

posts.num_commentsnumbernullableoptional

Optional.

posts.creatednumbernullableoptional

Optional.

posts.created_utcnumbernullableoptional

Optional.

posts.created_at_isostringnullable

Always included.

posts.urlstringnullableoptional

Optional.

posts.is_videobooleannullableoptional

Optional.

posts.over_18booleannullableoptional

Optional.

posts.archivedbooleannullableoptional

Optional.

posts.lockedbooleannullableoptional

Optional.

posts.spoilerbooleannullableoptional

Optional.

posts.link_flair_textstringnullableoptional

Optional.

posts.total_awards_receivednumbernullableoptional

Optional.

posts.subreddit_subscribersnumbernullableoptional

Optional.

afterstringnullable

Always included.

HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.

Error codes
6
HTTPfailure.codeMeaning
400invalid_requestThe request failed validation.
401invalid_requestThe internal service secret is invalid.
503upstream_error breaker_openProxy unavailable or thread retrieval temporarily paused.
502upstream_errorRetrieval failed.
504timeoutThe deadline expired; available results are retained.
200partial challengedInspect status and failure even when HTTP succeeds.