Automotive Brand Social Media Analytics: Track Car Companies & Dealerships
The car industry spends more on advertising than almost any other sector. But the conversation about cars happens on social media — not in showrooms. New model leaks on Twitter, review videos on TikTok, ownership experiences on Reddit. That's where purchase decisions are influenced.
Here's how to track automotive brands, measure launch buzz, and find the creators who actually move car buyers.
Compare Car Brands Across Platforms
const API_KEY = process.env.SOCIAVAULT_API_KEY;
const BASE = 'https://api.sociavault.com/v1/scrape';
const headers = { 'X-API-Key': API_KEY };
async function compareCarBrands(brands) {
const results = [];
for (const brand of brands) {
const entry = { name: brand.name, reach: 0, platforms: {} };
// Instagram
if (brand.instagram) {
const res = await fetch(
`${BASE}/instagram/profile?username=${encodeURIComponent(brand.instagram)}`,
{ headers }
);
const data = (await res.json()).data;
if (data) {
entry.platforms.instagram = data.follower_count || 0;
entry.reach += data.follower_count || 0;
}
await new Promise(r => setTimeout(r, 1500));
}
// TikTok
if (brand.tiktok) {
const res = await fetch(
`${BASE}/tiktok/profile?username=${encodeURIComponent(brand.tiktok)}`,
{ headers }
);
const data = (await res.json()).data;
if (data) {
entry.platforms.tiktok = data.stats?.followerCount || 0;
entry.reach += data.stats?.followerCount || 0;
}
await new Promise(r => setTimeout(r, 1500));
}
// YouTube
if (brand.youtube) {
const res = await fetch(
`${BASE}/youtube/channel?channelId=${encodeURIComponent(brand.youtube)}`,
{ headers }
);
const data = (await res.json()).data;
if (data) {
entry.platforms.youtube = Number(data.statistics?.subscriberCount || 0);
entry.reach += Number(data.statistics?.subscriberCount || 0);
}
await new Promise(r => setTimeout(r, 1500));
}
results.push(entry);
}
results.sort((a, b) => b.reach - a.reach);
console.log('\nAutomotive Brand Social Media Comparison:');
console.log('═'.repeat(70));
results.forEach((r, i) => {
console.log(`\n ${i + 1}. ${r.name} — ${r.reach.toLocaleString()} total reach`);
for (const [p, f] of Object.entries(r.platforms)) {
console.log(` ${p.padEnd(12)} ${f.toLocaleString()}`);
}
});
return results;
}
compareCarBrands([
{ name: 'Tesla', instagram: 'teslamotors', tiktok: 'tesla', youtube: 'UC5WjFrtBdufl6CZojX3D8dQ' },
{ name: 'BMW', instagram: 'bmw', tiktok: 'bmw', youtube: 'UC0MFnpSMGecvRNs-UGvstig' },
{ name: 'Mercedes', instagram: 'mercedesbenz', tiktok: 'mercedesbenz', youtube: 'UCJGPLEMkSLiGwWjAounfwmw' },
{ name: 'Toyota', instagram: 'toyota', tiktok: 'toyota', youtube: 'UCpMfaxGqNPLGBIY4-cUqWag' },
{ name: 'Porsche', instagram: 'porsche', tiktok: 'porsche', youtube: 'UC_BaxRhNREI_V0DVXjXDALA' },
]);
Track Vehicle Launch Buzz
Monitor social reaction when a new model drops:
async function trackLaunchBuzz(vehicleName) {
// Twitter reaction
const twRes = await fetch(
`${BASE}/twitter/search?query=${encodeURIComponent(vehicleName)}`,
{ headers }
);
const tweets = (await twRes.json()).data || [];
// Reddit discussion
const rdRes = await fetch(
`${BASE}/reddit/search?query=${encodeURIComponent(vehicleName)}`,
{ headers }
);
const posts = (await rdRes.json()).data || [];
// TikTok content
const tkRes = await fetch(
`${BASE}/tiktok/search?query=${encodeURIComponent(vehicleName)}`,
{ headers }
);
const videos = (await tkRes.json()).data || [];
// Sentiment
const posWords = ['beautiful', 'amazing', 'love', 'incredible', 'want', 'need', 'stunning', 'finally'];
const negWords = ['ugly', 'disappointing', 'overpriced', 'hate', 'terrible', 'cheap', 'downgrade'];
let positive = 0;
let negative = 0;
const allText = [
...tweets.map(t => t.legacy?.full_text || t.text || ''),
...posts.map(p => `${p.title || ''} ${p.selftext || ''}`),
...videos.map(v => v.desc || '')
];
for (const text of allText) {
const lower = text.toLowerCase();
if (posWords.some(w => lower.includes(w))) positive++;
if (negWords.some(w => lower.includes(w))) negative++;
}
const tiktokViews = videos.reduce((s, v) => s + (v.stats?.playCount || 0), 0);
console.log(`\nLaunch Buzz: ${vehicleName}`);
console.log('═'.repeat(50));
console.log(` Twitter posts: ${tweets.length}`);
console.log(` Reddit discussions: ${posts.length}`);
console.log(` TikTok videos: ${videos.length}`);
console.log(` TikTok total views: ${tiktokViews.toLocaleString()}`);
console.log(` Positive signals: ${positive}`);
console.log(` Negative signals: ${negative}`);
console.log(` Sentiment: ${positive > negative * 1.5 ? '🟢 Positive' : positive > negative ? '🟡 Mixed-Positive' : '🔴 Negative'}`);
return { tweets: tweets.length, posts: posts.length, videos: videos.length, tiktokViews, positive, negative };
}
trackLaunchBuzz('2026 BMW M3');
Find Auto Influencers
Discover car reviewers and auto content creators:
async function findAutoInfluencers(niches) {
const creators = [];
for (const niche of niches) {
const res = await fetch(
`${BASE}/tiktok/search?query=${encodeURIComponent(niche)}`,
{ headers }
);
const videos = (await res.json()).data || [];
const seen = new Set();
for (const video of videos) {
const username = video.author?.uniqueId;
if (!username || seen.has(username)) continue;
seen.add(username);
creators.push({
username,
niche,
followers: video.author?.stats?.followerCount || video.authorStats?.followerCount || 0,
likes: video.stats?.diggCount || 0,
views: video.stats?.playCount || 0
});
}
await new Promise(r => setTimeout(r, 1500));
}
// Deduplicate and sort
const unique = {};
for (const c of creators) {
if (!unique[c.username] || c.followers > unique[c.username].followers) {
unique[c.username] = c;
}
}
const sorted = Object.values(unique).sort((a, b) => b.followers - a.followers);
console.log('\nAuto Influencers Found:');
console.log('─'.repeat(50));
sorted.slice(0, 20).forEach((c, i) => {
console.log(` ${i + 1}. @${c.username} (${c.niche})`);
console.log(` Followers: ${c.followers.toLocaleString()}`);
});
return sorted;
}
findAutoInfluencers([
'car review', 'new car 2026', 'car detailing',
'electric vehicle', 'car modification', 'supercar',
'daily driver', 'car buying tips'
]);
Ownership Sentiment by Brand
What do actual owners say across Reddit and Twitter:
import os
import time
import requests
API_KEY = os.environ["SOCIAVAULT_API_KEY"]
BASE = "https://api.sociavault.com/v1/scrape"
HEADERS = {"X-API-Key": API_KEY}
def ownership_sentiment(brands):
"""Analyze what real owners say about their cars"""
results = {}
for brand in brands:
queries = [f"my {brand} experience", f"{brand} owner review", f"{brand} reliability"]
pos_words = {"love", "reliable", "amazing", "best", "great", "smooth", "perfect", "recommend"}
neg_words = {"issue", "problem", "broken", "repair", "dealer", "lemon", "recall", "expensive"}
positive = 0
negative = 0
issues = []
for query in queries:
r = requests.get(f"{BASE}/reddit/search", headers=HEADERS, params={"query": query})
for post in r.json().get("data", []):
text = f"{post.get('title', '')} {post.get('selftext', '')}".lower()
words = set(text.split())
p = len(words & pos_words)
n = len(words & neg_words)
if p > n: positive += 1
elif n > p:
negative += 1
issues.append(post.get("title", "")[:80])
time.sleep(1)
total = positive + negative
score = (positive / max(total, 1) * 100) if total > 0 else 50
results[brand] = {
"positive": positive,
"negative": negative,
"score": round(score),
"top_issues": issues[:3]
}
# Print report
print("\nOwnership Sentiment by Brand:")
print("=" * 50)
for brand, data in sorted(results.items(), key=lambda x: x[1]["score"], reverse=True):
emoji = "🟢" if data["score"] > 70 else "🟡" if data["score"] > 40 else "🔴"
print(f"\n {emoji} {brand}: {data['score']}% positive")
print(f" Positive: {data['positive']} | Negative: {data['negative']}")
if data["top_issues"]:
print(f" Common issues:")
for issue in data["top_issues"]:
print(f" - {issue}")
return results
ownership_sentiment(["Tesla", "Toyota", "BMW", "Honda", "Ford", "Hyundai"])
Auto Content Benchmarks
| Content Type | Best Platform | Typical Engagement |
|---|---|---|
| Walkaround/reveal videos | TikTok, YouTube | Very High — especially new models |
| 0-60 / performance tests | YouTube Shorts, TikTok | High — shareable format |
| Owner reviews (honest) | Reddit, YouTube | High — trusted more than pro reviews |
| Detailing/restoration | TikTok, Instagram | High — satisfying visual content |
| Price breakdowns | TikTok, YouTube | Medium-High — practical, shareable |
| Comparison videos | YouTube | Medium — long-form dominates |
| Dealership experiences | Reddit, TikTok | Variable — complaints go viral |
Get Started
Sign up free — start tracking automotive brands and vehicle launch buzz.
Related Reading
Found this helpful?
Share it with others who might benefit
Ready to Try SociaVault?
Start extracting social media data with our powerful API. No credit card required.