scrape_followersScrape Followers | Trigger a follower scrape for a profile. Collects the full follower list. Returns a job ID — poll with get_scrape_status. Costs 2 credits. | 2 |
scrape_followingScrape Following | Trigger a following scrape for a profile. Collects who they follow. Returns a job ID — poll with get_scrape_status. Costs 2 credits. | 2 |
scrape_followers_bulkBulk Scrape Followers | Trigger a follower scrape for multiple profiles in a single Apify run. Much more efficient than calling scrape_followers repeatedly — uses 1 API call, 1 DB connection, and 1 Apify run instead of N. Max 50 profiles per request. Returns a single job ID — poll with get_scrape_status. Costs 2 credits + processing. IMPORTANT: TikTok bulk scrapes limited to 10 profiles per request due to rate limiting. | 2 |
scrape_following_bulkBulk Scrape Following | Trigger a following scrape for multiple profiles in a single Apify run. Much more efficient than calling scrape_following repeatedly — uses 1 API call, 1 DB connection, and 1 Apify run instead of N. Max 50 profiles per request. Returns a single job ID — poll with get_scrape_status. Costs 2 credits + processing. IMPORTANT: TikTok bulk scrapes limited to 10 profiles per request due to rate limiting. | 2 |
scrape_locationsScrape Locations | Scrape posts from a specific Instagram location/place. Returns a job ID. Costs 1 credit. | 1 |
scrape_hashtagsScrape Hashtags | Scrape posts from a specific hashtag. Collects recent posts using that hashtag. Returns a job ID. Costs 1 credit. | 1 |
scrape_urlsScrape URLs | Scrape specific Instagram post or reel URLs. Extracts engagement data, comments, and media. Returns a job ID. Costs 1 credit. | 1 |
get_scrape_statusGet Scrape Status | Check the status of a scrape job. Returns progress + results + cost. The `cost` block surfaces `estimated_credits` (locked at trigger time), `actual_credits` (populated by Apify-webhook reconciliation OR YT Data API v3 quota tracker — null while job is still running), and `cost_status` (held | final | refunded | expired | none). Costs 0 credits to call. | Free |
scrape_x_followersScrape X Followers | Trigger an X (Twitter) follower scrape for a profile via apidojo/twitter-user-scraper. Returns a job ID — poll with get_scrape_status. Costs 2 credits + processing. | 2 |
scrape_x_followers_bulkBulk Scrape X Followers | Trigger X follower scrapes for up to 50 profiles in one request. Each profile gets its own search row + queue job — independent retries. Costs 2 credits per profile. | 2 |
scrape_x_followingScrape X Following | Trigger an X (Twitter) following scrape for a profile. Returns a job ID — poll with get_scrape_status. Costs 2 credits + processing. | 2 |
scrape_x_following_bulkBulk Scrape X Following | Trigger X following scrapes for up to 50 profiles in one request. Costs 2 credits per profile. | 2 |
scrape_x_hashtagsScrape X Hashtags | Scrape recent X (Twitter) posts matching one or more hashtags via kaitoeasyapi tweet scraper. Supports advanced filters (media-only, blue-verified, has-engagement) and sort order. Returns a job ID. Costs 1 credit + processing. | 1 |
scrape_youtube_commentersScrape YouTube Commenters | YouTube does not expose subscriber lists — the closest network signal is the set of channels commenting on a creator's videos. Triggers a batched commenter fetch (channels.list + videos.list + per-video commentThreads.list). Hybrid sync+async: executes synchronously within the request (typically 5–30s depending on video_count × comments_per_video) and returns inline summary data — succeeded[] with each video's commentCount, failed[], total_comments, unique_commenters, quota_consumed — alongside a job_id + poll_with for retrospective tracking. No polling needed for completion. Response also surfaces video_count_requested + video_count_available + video_count_clamped so agents can detect when the channel has fewer indexed videos than requested (run scrape_youtube_videos first to index more). Requires the channel to have indexed posts — run scrape_youtube_videos (channel mode) or enhance_profiles first if commenters returns 400 "No videos available". Results are stored in the network graph for use by get_youtube_bridge_creators and get_youtube_channel_summary. Costs 2 credits + YouTube Data API v3 quota usage (quota_consumed returned in response). | 2 |
scrape_youtube_hashtagsScrape YouTube by Keyword | YouTube keyword/hashtag search via streamers/youtube-scraper (Apify-backed, NOT YouTube Data API v3). Each input becomes a search query. Returns a job_id immediately; results land asynchronously through the unified job system. Poll with `list_jobs` or `get_scrape_status` to track progress (typical run: 1–5 min depending on per_hashtag_limit). Costs 1 credit + Apify processing. | 1 |
scrape_youtube_trendingScrape YouTube Trending | Pull the YouTube trending feed via apidojo/youtube-scraper (Apify-backed, NOT YouTube Data API v3). Returns a job_id immediately; results land asynchronously through the unified job system. Poll with `list_jobs` or `get_scrape_status` to track progress (typical run: 1–3 min depending on max_items). Returns the most popular uploads in the requested timeframe. Costs 1 credit + Apify processing. | 1 |
scrape_youtube_videosCollect YouTube Videos (Channel or Single) | Dual-mode YouTube video collection via Data API v3 (NOT Apify). Auto-detects input shape:
• Channel input (`@handle`, `yt:UCxxx`, bare handle, or channel URL) → pulls channels.list + uploads playlist + videos.list pages + playlists. Writes profile (if new) + posts. Mode = "channel".
• Video input (video URL or 11-char video id) → pulls videos.list for that one video. Mode = "video".
Response carries `mode` so the agent sees what happened. Channel mode is the typical "give me a channel's recent videos" workflow — also seeds the channel for subsequent scrape_youtube_commenters runs. Executes synchronously (3–15s for channel mode, <2s for video mode). Returns job_id + poll_with + quota_consumed inline; no polling needed for completion. Costs 2 credits + Data API v3 quota (channel: 1 + ceil(videos/50)×2 + 1 units; video: 1 unit). | 2 |