apify-bluesky-scraper
v1.0.0Scrape Bluesky social posts via AT Protocol. Use when user asks to search Bluesky, find Bluesky posts, monitor Bluesky discussions, or extract Bluesky data. Requires APIFY_TOKEN environment variable.
Installation
Please help me install the skill `apify-bluesky-scraper` from SkillHub official store.
npx skills add MarcinDudekDev/apify-bluesky-scraper
Bluesky Scraper
Scrape Bluesky posts using an Apify Actor via the REST API.
Actor ID
WAJfBnZBYR9mJrk5d
Prerequisites
APIFY_TOKENenvironment variable must be setcurlandjqmust be available
Workflow
Step 1: Confirm search parameters with user
Ask what they want to search for. Supported input fields:
- searchTerms (array of strings) - keywords to search
- maxResults (integer) - max posts to return (default: 50)
- sortBy (string) - "relevance" or "latest"
Step 2: Run the Actor (synchronous)
RESULT=$(curl -s -X POST "https://api.apify.com/v2/acts/WAJfBnZBYR9mJrk5d/run-sync-get-dataset-items?token=$APIFY_TOKEN"
-H "Content-Type: application/json"
-d '{"searchTerms": ["SEARCH_TERM"], "maxResults": 50, "sortBy": "relevance"}')
echo "$RESULT" | jq '.'
For larger jobs (async):
RUN_ID=$(curl -s -X POST "https://api.apify.com/v2/acts/WAJfBnZBYR9mJrk5d/runs?token=$APIFY_TOKEN"
-H "Content-Type: application/json"
-d '{"searchTerms": ["TERM"], "maxResults": 50}' | jq -r '.data.id')
Step 3: Poll and fetch (if async)
STATUS=$(curl -s "https://api.apify.com/v2/actor-runs/$RUN_ID?token=$APIFY_TOKEN" | jq -r '.data.status')
# Poll every 5s until SUCCEEDED or FAILED
curl -s "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN" | jq '.'
Step 4: Present results
Summarize: total posts, top by engagement, common themes. Offer JSON/CSV export.
Error Handling
- If APIFY_TOKEN not set:
export APIFY_TOKEN=your_token - If run FAILS:
curl -s "https://api.apify.com/v2/actor-runs/$RUN_ID/log?token=$APIFY_TOKEN" - Rate limited (429): wait 60s, retry