Install
openclaw skills install dataify-reddit-postsSubmit Dataify Reddit Post Information Builder tasks for three Reddit post collection modes. Use when the user wants the Reddit post information collection tool, collect Reddit posts, scrape Reddit posts, crawl Reddit post data, collect Reddit posts by post URL, collect Reddit posts by keyword, collect Reddit posts by subreddit URL, create Dataify reddit_posts_by-url, reddit_posts_by-keywords, or reddit_posts_by-subredditurl tasks, or asks in Chinese with meanings like "Reddit 帖子采集", "Reddit 帖子抓取", "Reddit帖子信息采集", "Reddit帖子信息抓取", "Reddit帖子URL采集", "Reddit关键词采集", "Reddit subreddit url采集", or similar Reddit post noun plus collection/scraping action wording. Also use when receiving task_id/status, configuring DATAIFY_API_TOKEN, or troubleshooting this Dataify Builder request.
openclaw skills install 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 a successful submission, give the user the task_id, the returned or inferred status, and tell them to visit https://dataify.com/dashboard/ to view results.
Use DATAIFY_API_TOKEN as the long-term saved token name.
DATAIFY_API_TOKEN is already saved locally in the environment.DATAIFY_API_TOKEN is saved locally, use it without asking the user to re-enter the token.https://dataify.com/login to get one.https://dataify.com/dashboard/.DATAIFY_API_TOKEN is saved, ask whether they want to save it locally as DATAIFY_API_TOKEN for future use.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.DATAIFY_API_TOKEN.DATAIFY_API_TOKEN.spider_id.data.task_id from the Builder response and read data.status or status when present.https://dataify.com/dashboard/ to view or manage results.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.
Use this section only when the user chooses url.
| Field | Required | Default | Location | Notes |
|---|---|---|---|---|
url | Yes | https://www.reddit.com/r/battlefield2042/comments/1cmqs1d/official_update_on_the_next_battlefield_game/ | spider_parameters | Reddit post URL. |
file_name | No | {{TasksID}} | Builder form field | Use the default when the user does not change it. |
Then ask: "Do you want to change any of these values before I submit the task?"
Also ask: "Do you want to collect multiple Reddit post URL groups? If yes, provide multiple url values."
Post URL mode handling:
url is required. If the user does not provide it, use the default https://www.reddit.com/r/battlefield2042/comments/1cmqs1d/official_update_on_the_next_battlefield_game/ only after showing it in the parameter confirmation table.url.url cannot be empty.url must start with https://www.reddit.com/.spider_id=reddit_posts_by-url.spider_parameters as a JSON string containing one or more objects like:[{"url":"https://www.reddit.com/r/battlefield2042/comments/1cmqs1d/official_update_on_the_next_battlefield_game/"}]
Use this section only when the user chooses keywords.
| Field | Required | Default | Location | Notes |
|---|---|---|---|---|
keyword | Yes | datascience | spider_parameters | Reddit post search keyword. |
num_of_posts | No | 10 | spider_parameters | Maximum number of posts to collect. Must be an integer greater than or equal to 0. |
file_name | No | {{TasksID}} | Builder form field | Use the default when the user does not change it. |
Then ask: "Do you want to change any of these values before I submit the task?"
Also ask: "Do you want to collect multiple Reddit keyword groups? If yes, provide multiple groups with keyword and num_of_posts."
Keyword mode handling:
keyword is required. If the user does not provide it, use the default datascience only after showing it in the parameter confirmation table.keyword.keyword cannot be empty.num_of_posts must be an integer greater than or equal to 0.spider_id=reddit_posts_by-keywords.spider_parameters as a JSON string containing one or more objects like:[{"keyword":"datascience","num_of_posts":"10"}]
Use this section only when the user chooses subredditurl.
| Field | Required | Default | Location | Notes |
|---|---|---|---|---|
url | Yes | https://www.reddit.com/r/battlefield2042 | spider_parameters | Subreddit URL. |
sort_by | No | Hot | spider_parameters | Post sort option. |
num_of_posts | No | 10 | spider_parameters | Maximum number of posts to collect. Must be an integer greater than or equal to 0. |
sort_by_time | No | Now | spider_parameters | Time sort option. Time fields do not take effect with Hot and New. |
file_name | No | {{TasksID}} | Builder form field | Use the default when the user does not change it. |
Dropdown options for sort_by:
| Label | Value |
|---|---|
| Hot | Hot |
| Top | Top |
| New | New |
| Rising | Rising |
Dropdown options for sort_by_time:
| Label | Value |
|---|---|
| Now | Now |
| Today | Today |
| This Week | This Week |
| This Month | This Month |
| This Year | This Year |
| All Time | All Time |
Then ask: "Do you want to change any of these values before I submit the task?"
Also ask: "Do you want to collect multiple Reddit subreddit URL groups? If yes, provide multiple groups with url, sort_by, num_of_posts, and sort_by_time."
Subreddit URL mode handling:
url is required. If the user does not provide it, use the default https://www.reddit.com/r/battlefield2042 only after showing it in the parameter confirmation table.url.url cannot be empty.url must start with https://www.reddit.com/.sort_by must be one of Hot, Top, New, or Rising.sort_by_time must be one of Now, Today, This Week, This Month, This Year, or All Time.num_of_posts must be an integer greater than or equal to 0.Hot and New; keep the submitted value if the user provides it.spider_id=reddit_posts_by-subredditurl.spider_parameters as a JSON string containing one or more objects like:[{"url":"https://www.reddit.com/r/battlefield2042","sort_by":"Rising","num_of_posts":"10","sort_by_time":"Now"}]
file_name defaults to {{TasksID}}.file_name, submit the user-provided value.file_name cannot be empty.file_name as a Builder form field.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" --api-token "YOUR_DATAIFY_API_TOKEN" --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, dashboard_url, and message.
Missing Dataify API TOKEN means no explicit token was passed and DATAIFY_API_TOKEN is not saved locally. Tell the user they need to provide their Dataify API TOKEN, ask whether they want to save it as DATAIFY_API_TOKEN, or tell them they can register or log in at https://dataify.com/login to get one. If they already have a token, tell them it is in the top-right area of https://dataify.com/dashboard/.
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.https://dataify.com/dashboard/ after successful task creation.