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 (Actors re-verified against the live Apify API, September 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. If social listening is only part of what you need, the broader Apify use cases hub covers lead generation, price monitoring, and RAG ingestion alongside it.
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 charges $0.003 per video on the Free plan and $0.002 on Starter (Bronze discount tier). At 100 results × 6 runs/day = 600 videos/day, that's $1.80/day on Free or $1.20/day on Starter (api.apify.com/v2/acts/clockworks~tiktok-hashtag-scraper, checked 2026-09-10). Check the Actor's Pricing tab before scaling to 10+ hashtags — the add-on events for video download and transcription cost far more per unit than the base result.
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. 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.
Cost ballpark
These Actors are priced pay-per-event, not a flat monthly rental, so total spend depends entirely on how many hashtags, profiles, or posts you pull and how often. The rate itself also drops as you move up plans: Apify's Store discount tier tracks your plan (Free = no discount, Starter = Bronze, Scale = Silver, Business = Gold).
| Actor (primary charge event) | Free (no discount) | Starter (Bronze) | Scale (Silver) | Business (Gold) |
|---|---|---|---|---|
| Instagram Post Scraper — per post | $1.70/1,000 | $1.50/1,000 | $1.30/1,000 | $1.00/1,000 |
| Instagram Hashtag Scraper — per result | $2.60/1,000 | $2.30/1,000 | $2.10/1,000 | $1.90/1,000 |
| TikTok Scraper — per result | $3.70/1,000 | $3.00/1,000 | $2.30/1,000 | $1.70/1,000 |
| TikTok Hashtag Scraper — per video | $3.00/1,000 | $2.00/1,000 | $1.50/1,000 | $1.00/1,000 |
| Facebook Posts Scraper — per post | $5.00/1,000 | $4.00/1,000 | $2.50/1,000 | $2.00/1,000 |
| YouTube Scraper — per video | $4.00/1,000 | $3.00/1,000 | $2.60/1,000 | $2.40/1,000 |
| Twitter Scraper Lite — per dataset item (small batch) + $0.016/query | $0.40/1,000 | $0.40/1,000 | $0.40/1,000 | $0.40/1,000 |
Twitter Scraper Lite's per-item rate does not change by plan; only the platform-native Actors above do. Each plan's included usage covers these charges first: $5 on Free, $19 on Starter, $199 on Scale, $999 on Business. Rates checked 2026-09-10 via api.apify.com/v2/acts/<user>~<actor> — always confirm the current number on the Actor's own Pricing tab before you schedule a recurring run, since event pricing changes.
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.
Pay-per-event rates run roughly $0.40 to $5 per 1,000 results depending on the platform and your plan's Store discount tier (Free, Starter/Bronze, Scale/Silver, Business/Gold). See the Cost ballpark table above for per-Actor rates, or run a small test batch and check the Actor's Pricing tab before scaling a schedule.
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.