Social media analytics and brand monitoring with Apify
Quick answer: Apify's social media scrapers enable brand monitoring, competitor analysis, influencer research, and trend tracking across Instagram, TikTok, Twitter/X, Facebook, LinkedIn, and YouTube.
Native platform analytics only show accounts you own. For competitor cadence, unowned mentions, and cross-platform rollups you scrape public posts, comments, and engagement into datasets you own, then analyze in Sheets, a warehouse, or an LLM.
This page covers which Actor to use per platform (verified in the Store, May 2026), a working campaign hashtag-tracking playbook with spike detection, the brand monitoring stack, and the schema you need to normalize TikTok, Instagram, and Reddit into a single table. For a hands-on per-platform scraping walkthrough, see web scraping for social media analytics.
Use cases you can cover
| Use case | What you measure | Typical outputs |
|---|---|---|
| Brand monitoring | Mentions, hashtags, sentiment | Alerts, weekly digest metrics |
| Competitor analysis | Posting frequency, creative themes, engagement | Benchmark decks, KPI tables |
| Influencer research | Audience scale, content fit, comment quality | Shortlists, outreach CSV |
| Trend tracking | Hashtag velocity, emerging topics | Time-series charts, anomaly flags |
Monitoring vs batch scraping
| Monitoring | Batch scraping | |
|---|---|---|
| Cadence | Hourly / few hours | Daily / weekly |
| Goal | Alerts on spikes or crises | Deep dives, modeling, reports |
| Apify pattern | Short scheduled runs + webhooks | Larger one-off dataset exports |
Most stacks use both. For a step-by-step build of scheduled alerts, see social media monitoring automation.
Workflow: scrape → analyze → report
- Scrape: Schedule or trigger platform Actors with keywords, handles, hashtags, or profile URLs (public data only). Use Apify Schedules for recurring pulls.
- Analyze: Export JSON/CSV into Python, BigQuery, or automation tools. Add sentiment and topic tagging with an LLM or classical NLP; detect spikes vs a trailing baseline.
- Report: Push summaries to Looker Studio, Tableau, Power BI, or Google Sheets via Sheets integration, Make, Zapier, or n8n webhooks.
Platform comparison (at a glance)
| Platform | Strength for analytics | Throughput / friction | Primary Apify entry points |
|---|---|---|---|
| Visual brand + UGC | Moderate bot defense | Instagram Post Scraper, Profile, Hashtag, Comments | |
| TikTok | Early trends | Fast-changing UI | TikTok Scraper, Hashtag Scraper |
| X (Twitter) | Newsy mentions | Strong blocking | Tweet / Twitter scrapers (pick current Store leaders) |
| Local brands, groups (public) | Aggressive Meta defenses | Pages, Posts, Groups | |
| B2B thought leadership | Login walls; stay public | LinkedIn scrapers hub | |
| YouTube | Long-form feedback | Generally stable | YouTube Scraper |
| Candid product discourse | Text-heavy, community rules | Reddit scrapers |
Search the Apify Store for the newest Actor names if a platform changes.
Recommended Actors by platform
Instagram
| Goal | Actor |
|---|---|
| Captions + media metadata | Instagram Post Scraper |
| Follower / bio benchmarks | Instagram Profile Scraper |
| Hashtag discovery | Instagram Hashtag Scraper |
| Comment-level sentiment | Instagram Comment Scraper |
Use residential proxies for larger pulls; check each Actor’s README for proxy modes.
TikTok
TikTok is the highest-velocity trend platform; trends often appear here before other networks.
| Goal | Actor |
|---|---|
| Broad video + metadata | TikTok Scraper |
| Hashtag-first campaigns | TikTok Hashtag Scraper |
| Profile-first pulls | TikTok Scraper (browse available Actors on the Store) |
Volume notes: TikTok’s frontend changes often, so confirm the Actor’s last updated date before large jobs.
X (Twitter)
X’s API pricing pushes many teams toward scraping public posts. Use Store search for Twitter / X and favor recently updated Actors with clear proxy guidance. Example: Twitter Scraper Lite for search-oriented runs.
Facebook
| Goal | Actor |
|---|---|
| Page timeline + metadata | Facebook Pages Scraper |
| Post text + reactions | Facebook Posts Scraper |
| Public groups research | Facebook Groups Scraper |
Tutorial: Scrape Facebook. Prefer residential proxies for reliability.
LinkedIn
Use public profile and company signals only; follow best LinkedIn scrapers and your counsel on contractual risk.
YouTube
| Goal | Actor |
|---|---|
| Videos + comments | YouTube Scraper |
| Channel-level discovery | YouTube Channel Scraper (pick current listing) |
Reddit
Community threads for honest product feedback: see best Reddit scrapers. Pro tip: monitor brand strings across multiple subreddits (for example r/productivity, r/entrepreneur) to catch conversations outside your owned community.
Playbook: hashtag campaign tracking with spike detection
Goal: during a TikTok campaign, know within ~4 hours when #yourcampaign volume spikes 2× above baseline so the creative team can ride it with follow-up posts.
Actor: clockworks/tiktok-hashtag-scraper. Input:
{
"hashtags": ["yourcampaign"],
"resultsPerPage": 100,
"shouldDownloadVideos": false,
"shouldDownloadCovers": false
}
Schedule: every 4 hours (0 */4 * * *).
Fields per video: id, createTimeISO, authorMeta.name, text, hashtags[], playCount, diggCount, commentCount, shareCount, webVideoUrl.
n8n pipeline on run-succeeded webhook:
-
Load the run's dataset items.
-
Append to a BigQuery table
social_postswith columns(platform, post_id, hashtag, created_at, collected_at, plays, likes, comments, shares, url). -
Query: count rows for
hashtag = 'yourcampaign' AND created_at >= NOW() - INTERVAL '4 hours'. Compare against the trailing 7-day average for the same 4-hour window. -
If
current >= 2 * baseline AND current > 20(guard against small-N noise), Slack#campaign-yourcampaign::rocket: #yourcampaign spike: 47 new videos in last 4h (baseline: 18).Top post: @handle — 230k playshttps://www.tiktok.com/@handle/video/... -
Weekly: summarize top 20 videos by
playCountwith an LLM ("What's the creative pattern?") and email the brand team.
Cost: clockworks/tiktok-hashtag-scraper is paid-per-event; for one hashtag at 100 results × 6 runs/day expect low single digit dollars per day. Check the Pricing tab before scaling to 10+ hashtags.
The brand monitoring stack
A production setup combines scheduled runs, threshold-based alerts, and escalation paths:
┌─────────────────────────────────────────────────────┐
│ Brand Monitoring Stack │
├──────────────────────────────────────────────────────┤
│ DATA SOURCES │
│ • Instagram (mentions, hashtags, comments) │
│ • TikTok (brand + product hashtags) │
│ • Twitter/X (brand handle mentions) │
│ • Reddit (brand name in relevant subreddits) │
│ • YouTube (comments on brand + competitor videos) │
├──────────────────────────────────────────────────────┤
│ COLLECTION │
│ • Apify scheduled runs: every 4 hours │
│ • Apify Webhook: POST to n8n/Make when run completes│
├──────────────────────────────────────────────────────┤
│ PROCESSING │
│ • Sentiment scoring via LLM (ChatGPT/Claude) │
│ • Volume spike detection (vs. 7-day average) │
│ • Keyword filter for negative terms │
├──────────────────────────────────────────────────────┤
│ ALERTS (thresholds) │
│ • Sentiment drops below baseline → Slack (PR team) │
│ • Volume spike >200% → Slack (Social team) │
│ • Competitor launch detected → Email (Product team) │
│ • Crisis keyword detected → Immediate Slack + email │
└──────────────────────────────────────────────────────┘
Apify + n8n outline: schedule Instagram, TikTok, and Reddit Actors → webhook to n8n → filter brand terms → batch sentiment → Slack on threshold breach.
Integration with analytics tools
| Destination | How |
|---|---|
| Google Sheets | Google Sheets integration |
| BI (Looker, Tableau, Power BI) | CSV/JSON export or warehouse load |
| Warehouse | Apify API → BigQuery / Snowflake |
| Automation | Make, Zapier, n8n |
| LLM summaries | Webhook → batch prompt on new rows |
Multi-platform analytics schema
Normalize data from different platforms into a single schema:
{
"platform": "instagram",
"post_id": "CxXXXXXX",
"author": "@username",
"content": "Post caption text...",
"likes": 1240,
"comments_count": 87,
"collected_at": "2026-03-21T09:00:00Z",
"url": "https://www.instagram.com/p/CxXXXXXX/"
}
Key metrics to normalize: engagement rate, share of voice, sentiment score (consistent prompt/model), and platform-specific virality signals.
Legal and compliance (high level)
Public-data principles and platform Terms of Service still apply. hiQ Labs v. LinkedIn discusses public profile data and CFAA limits; it is not a blanket approval for every network or use case. Collect only public content, avoid logged-in or private areas, and handle personal data under GDPR / CCPA when you process identifiers or bios at scale. Consult qualified counsel for your jurisdiction and program.
Related: Competitor analysis · Market intelligence · Lead generation
Apify scrapers let you collect public posts, comments, and engagement fields from Instagram, TikTok, X, Facebook, LinkedIn, YouTube, Reddit, and more. You can run brand monitoring, competitor benchmarking, influencer research, and trend tracking, then analyze the exported datasets in BI tools, spreadsheets, or LLM workflows.
Schedule or trigger Actors to scrape public data on a cadence that matches your alert needs. Export JSON or CSV, compute sentiment and volume metrics, compare against baselines, and push summaries to dashboards, Slack, or email via webhooks and integrations such as n8n or Make.
Use Instagram Post, Profile, Hashtag, and Comment scrapers for Instagram; Clockworks TikTok Scraper and TikTok Hashtag Scraper for TikTok; Facebook Pages and Posts scrapers for Meta pages; YouTube Scraper for video ecosystems; and Store search for current Twitter/X leaders. For LinkedIn, stay on public data and follow the dedicated LinkedIn scrapers guide.
Download CSV or JSON from the dataset tab, use the Apify API to load a warehouse, or use the Google Sheets, Make, Zapier, or n8n integrations. From there, point Looker Studio, Tableau, or Power BI at your sheet or warehouse table.
Laws and platform rules vary. Focus on publicly visible content, avoid bypassing authentication for private areas, and treat personal data under privacy regulations. Platform Terms of Service may restrict automation even when data is public. Get legal advice for your specific program.
Cost is usage-based: number of platforms, run frequency, result volume, and proxy settings all matter. New accounts include monthly free credits; estimate with small test runs and each Actor’s pricing tab before scaling schedules.
Common mistakes and fixes
Runs succeed but return few posts or empty rows.
Lower concurrency, enable residential proxies where the Actor recommends them, narrow queries, and confirm inputs are public URLs or keywords the platform still exposes without login.
Sentiment scores swing wildly run to run.
Freeze the LLM model and prompt version, batch similar post lengths, and store raw text so you can re-score without re-scraping.
Cross-platform dashboards do not line up.
Normalize to one schema (platform, post_id, author handle, text, engagement fields, collected_at, url) before BI or warehouse loads.



