Skip to main content
Use POST /web/scrape with formats.parse: true and parseParams: {"type": "prebuilt", "parser": "reddit-search"}. Read the result in parsed.data, with parsed.type: "reddit-search". See the Quickstart for authentication and SDK setup. Don’t send custom rules with this parser. For CSS selectors and rules, use the Custom parser.

Request

Use a Reddit search URL with a q query:
  • reddit.com/search?q={query} searches all of Reddit.
  • reddit.com/r/{subreddit}/search?q={query} searches one subreddit.
www, old, new, np, m, and sh subdomains of reddit.com are accepted. The URL’s query parameters choose what is returned: The optional parseParams.limit caps the number of results, from 1 to 1,000, with a default of 100. Results keep the order Reddit returns them in.

Output

When parsed.success is true, parsed.data has one of three shapes, depending on type:
posts use the Reddit post shape. subreddit is the subreddit searched, or null for a site-wide search. has_more is true when Reddit has results beyond those returned.

Community fields

name is the subreddit name without r/. description is the short public description, and sidebar is the longer sidebar text. type is Reddit’s subreddit type, such as public or restricted. Dates are ISO 8601.

Account fields

The Reddit user parser returns the same account shape for a single profile.

Errors and request options

URLs that aren’t Reddit search URLs, or that have no q, fail with INPUT_VALIDATION_ERROR. Reddit blocks and refusals fail with WEBSITE_ACCESS_ERROR. If later result pages can’t be read in time, the results already read are returned with has_more: true. Check parsed.success before reading parsed.data. A failed parse has data: null and can coexist with successful outputs. See timeouts and errors. This parser reads public Reddit data without logging in, separately from the rendered page. Content filters and browser actions do not change its results. Browser profiles are unsupported. Caching, timeouts, and zero data retention still apply.