Reddit

The Reddit source collects posts from Reddit as part of a Data Stream.


📘

Datastreamer selects from available providers automatically based on your Job configuration. You do not need to manage provider accounts or credentials to use this source.

API data_source: reddit_auto

Configuring a Job

The query type decides how a Reddit Job searches: across the whole platform, from one account, or inside one community. Each Job uses one query type, set in query.query_type (the Query Type field on the Portal's New Job form), with query.platform set to reddit. To cover more than one, create a Job for each.

  • Search by topic. keyword finds posts that mention your terms anywhere on Reddit.
  • Follow an account. user collects posts from one account.
  • Follow a community. subreddit collects posts from one subreddit.
  • Search inside a community. keywordsr runs a keyword search inside one subreddit; usersr collects one user's posts inside one subreddit.
  • Full control. advanced takes a Lucene query, so you can combine terms and search specific fields. See Advanced Search Query.

Query types

Query Type (Portal)query_typeFieldsNotes
Posts by keywordkeywordqueryKeyword to search for across Reddit.
Posts by useruserqueryThe Reddit user without the u/ prefix. Example: spez.
Posts by sub-redditsubredditsubredditThe subreddit name without the r/ prefix. Example: technology.
Posts by keyword/sub-redditkeywordsrquery, subredditKeyword search within one subreddit.
Posts by user/sub-redditusersrquery, subredditPosts by one user within one subreddit. query is the username without u/.
Advanced Search QueryadvancedqueryLucene query over unified schema fields. See Advanced Search Query.

The query object for each type:

{"platform": "reddit", "query_type": "keyword", "query": "electric vehicles"}
{"platform": "reddit", "query_type": "user", "query": "spez"}
{"platform": "reddit", "query_type": "subreddit", "subreddit": "technology"}
{"platform": "reddit", "query_type": "keywordsr", "query": "charging", "subreddit": "technology"}
{"platform": "reddit", "query_type": "usersr", "query": "spez", "subreddit": "technology"}
{"platform": "reddit", "query_type": "advanced", "query": "(charging OR battery) AND NOT tesla"}

Job options

FieldDescription
query.prioritizationfreshness favors newer documents; coverage favors collecting a greater volume. See Freshness or Coverage.
job_typeonetime runs once over a date range; periodic runs on a schedule.
query_from, query_toOne-time Jobs only. Start and end of the date range, in ISO 8601 format. Both are required.
max_documentsOptional. Maximum documents to return. This is a soft limit: because pipelines are asynchronous, a few more documents may be returned.
label, tagsOptional. A label for grouping Jobs, and tags for filtering.

Advanced Search Query

The advanced query type takes a Lucene query in query.query. You can search any field in the Datastreamer unified schema; a term without a field searches content.body.

{ "platform": "reddit", "query_type": "advanced", "query": "(\"electric vehicle\" OR ev) AND content.hashtags:charging" }

Do not put dates in the query. Set the date range with query_from and query_to on the Job instead.

See the Schema Reference for field names.

Example Job request

curl --request POST \
  --url 'https://api.platform.datastreamer.io/api/pipelines/{PIPELINE_ID}/components/{COMPONENT_ID}/jobs?ready=true' \
  --header 'apikey: <your-api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
  "job_name": "reddit-example",
  "component_name": "reddit-auto",
  "query": {
    "platform": "reddit",
    "query_type": "keywordsr",
    "query": "charging",
    "subreddit": "technology",
    "prioritization": "coverage"
  },
  "data_source": "reddit_auto",
  "job_type": "onetime",
  "query_from": "2026-10-01T00:00:00Z",
  "query_to": "2026-10-02T00:00:00Z",
  "max_documents": 1000
}'

Refer to the Job creation documentation for full configuration details: Creating Jobs

API Reference: Create a Job


What is Collected

Each document returned from the Reddit source represents a post. Fields are mapped to the Datastreamer unified schema and include content text, author metadata, engagement metrics (upvotes, comments, awards), post date, and subreddit information.

Platform-specific fields are available under the reddit and subreddit schema namespaces. See the Schema Reference for field details.


Troubleshooting

Job fails or returns no data

  • Check that the subreddit or keyword query is valid
  • Verify the date range contains data
  • Review Job logs for specific errors

Unexpectedly high document counts

  • Scope the query to specific subreddits rather than all of Reddit
  • Set a document limit on the Job
  • Review the DVU pricing page

Provider switch noted in Job logs

  • This is expected behavior. If a provider is unavailable, the Job is routed to an alternative automatically. No action is required.

Related



Did this page help you?