Install
openclaw skills install @dataify-server/dataify-reddit-postsCollect Reddit Posts data and return results
openclaw skills install @dataify-server/dataify-reddit-postsSubmit Reddit post information collection jobs through Dataify Builder. This skill is a guided wrapper for three collection modes:
| Mode | Collector ID | Use For |
|---|---|---|
| Post URL | reddit_posts_by-url | Collecting one or more Reddit posts by post URL. |
| Keyword | reddit_posts_by-keywords | Collecting Reddit posts by search keyword. |
| Subreddit URL | reddit_posts_by-subredditurl | Collecting Reddit posts from a subreddit URL with sort and time options. |
After submission, continue monitoring the returned task_id and return the final result by default.
Input: a subreddit keyword.
python3 scripts/submit_dataify_reddit_posts.py --mode keywords --keyword "datascience" --num-of-posts 10
The command waits up to 10 minutes and prints the final JSON result. Add --no-wait only for submission-only behavior.
If DATAIFY_API_TOKEN is missing, log in or register at https://dashboard.dataify.com/login?utm_source=skill. New accounts receive 50 free credits.
Use DATAIFY_API_TOKEN as the long-term saved token name.
DATAIFY_API_TOKEN is saved locally, use it without asking the user to re-enter the token.API TOKEN in user-facing instructions. Prefer the environment variable name DATAIFY_API_TOKEN for saved local use.PowerShell examples for saving the token for the current session:
$env:DATAIFY_API_TOKEN = "YOUR_DATAIFY_API_TOKEN"
For a persistent user-level variable on Windows:
[Environment]::SetEnvironmentVariable("DATAIFY_API_TOKEN", "YOUR_DATAIFY_API_TOKEN", "User")
url, keywords, or subredditurl.Label and Value columns.spider_id.data.task_id from the Builder response and read data.status or status when present.When the user invokes this skill, first show this Markdown table and ask them to choose one mode:
| Label | Value |
|---|---|
| Collect Reddit posts by post URL | url |
| Collect Reddit posts by keyword | keywords |
| Collect Reddit posts by subreddit URL | subredditurl |
Ask: "Which collection mode do you want to use: url, keywords, or subredditurl?"
Do not submit a Builder request until the mode is clear.
file_name defaults to {{TasksID}}.file_name, submit the user-provided value.file_name cannot be empty.file_name as a Builder form field.For detailed mode schemas and advanced fields, read references/modes-and-parameters.md only when needed.
Use form fields rather than hand-built URL-encoded strings.
https://scraperapi.dataify.com/builder?platform=1POSTBearer DATAIFY_API_TOKENapplication/x-www-form-urlencodedspider_name=reddit.comspider_errors=truespider_id=reddit_posts_by-urlspider_id=reddit_posts_by-keywordsspider_id=reddit_posts_by-subredditurlfile_name={{TasksID}}spider_parameters must be a JSON string array.For stable execution, prefer scripts/submit_dataify_reddit_posts.py with Python 3.6 or newer instead of rewriting the Builder flow.
Post URL mode:
python3 ".\scripts\submit_dataify_reddit_posts.py" --mode url --url "https://www.reddit.com/r/battlefield2042/comments/1cmqs1d/official_update_on_the_next_battlefield_game/"
Keyword mode:
python3 ".\scripts\submit_dataify_reddit_posts.py" --mode keywords --keyword "datascience" --num-of-posts "10"
Subreddit URL mode:
python3 ".\scripts\submit_dataify_reddit_posts.py" --mode subredditurl --url "https://www.reddit.com/r/battlefield2042" --sort-by "Rising" --num-of-posts "10" --sort-by-time "Now"
To override the saved environment token or file name:
python3 ".\scripts\submit_dataify_reddit_posts.py" --mode keywords --keyword "datascience" --file-name "{{TasksID}}"
To submit multiple post URL groups:
python3 ".\scripts\submit_dataify_reddit_posts.py" --mode url --params-json '[{"url":"https://www.reddit.com/r/battlefield2042/comments/1cmqs1d/official_update_on_the_next_battlefield_game/"},{"url":"https://www.reddit.com/r/battlefield2042/comments/1cmqs1d/official_update_on_the_next_battlefield_game/"}]'
To submit multiple keyword groups:
python3 ".\scripts\submit_dataify_reddit_posts.py" --mode keywords --params-json '[{"keyword":"datascience","num_of_posts":"10"},{"keyword":"machinelearning","num_of_posts":"10"}]'
To submit multiple subreddit URL groups:
python3 ".\scripts\submit_dataify_reddit_posts.py" --mode subredditurl --params-json '[{"url":"https://www.reddit.com/r/battlefield2042","sort_by":"Rising","num_of_posts":"10","sort_by_time":"Now"},{"url":"https://www.reddit.com/r/battlefield2042","sort_by":"Rising","num_of_posts":"10","sort_by_time":"Now"}]'
The script prints a JSON summary with mode, spider_id, task_id, status, parameters, file_name and message.
Unsupported mode means the mode must be url, keywords, or subredditurl.
url cannot be empty means the Reddit URL is missing.
url must start with https://www.reddit.com/ means the URL is outside the allowed Reddit domain.
keyword cannot be empty means the Reddit keyword is missing.
num_of_posts must be an integer greater than or equal to 0 means the post count is invalid.
sort_by must be one of Hot, Top, New, Rising means the subreddit sort option is invalid.
sort_by_time must be one of Now, Today, This Week, This Month, This Year, All Time means the subreddit time option is invalid.
File name cannot be empty means no usable file_name was provided.
Necessary parameters is empty! usually means the Builder request was not submitted as form fields, spider_parameters was not a JSON string array, or the selected mode's object is missing required fields.
Missing task_id usually means the authorization header, token, spider_name, selected spider_id, or spider_parameters is wrong.
file_name inside spider_parameters.https://www.reddit.com/.API TOKEN and DATAIFY_API_TOKEN when referring to authentication.The default deliverable is the collected result, not only a task_id.
task_id.$dataify-task-operations and monitor the same task ID.
--timeout 1800 for media downloads or clearly high-volume, multi-page, or multi-input collections.--no-wait behavior.export for macOS/Linux shells, $env: for Windows PowerShell, or set for Windows Command Prompt). Show other platforms or persistent setup only when detection is ambiguous or the user asks.DATAIFY_API_TOKEN is present; never print its value. If verification succeeds, continue the original task without asking the user to repeat it..env unless the execution path explicitly loads it, and ensure .env is ignored by version control.