import { tavily } from "@tavily/core"; import { writeFileSync } from "fs"; const client = tavily({ apiKey: process.env.TAVILY_API_KEY }); const queries = [ { name: "trending_hooks", query: "trending social media hooks productivity apps 2026 viral opening lines scroll-stopping techniques instagram tiktok", options: { topic: "news", days: 7, maxResults: 10 } }, { name: "competitor_ads", query: "productivity app ad campaigns 2026 Notion Todoist TickTick Any.do advertising strategy messaging", options: { topic: "news", days: 7, maxResults: 10, searchDepth: "advanced" } }, { name: "viral_formats", query: "viral content formats instagram reels tiktok 2026 trending templates transitions app promotion", options: { topic: "news", days: 7, maxResults: 10, searchDepth: "advanced" } }, { name: "audience_pain_points", query: "productivity app complaints wishlist 2026 professionals time management frustrations reddit reviews", options: { topic: "news", days: 7, maxResults: 10 } }, { name: "seasonal_timely", query: "upcoming events March April 2026 productivity awareness days professional development seasonal marketing moments", options: { topic: "news", days: 14, maxResults: 10 } } ]; async function runSearches() { const results = {}; for (const q of queries) { console.log(`Searching: ${q.name}...`); try { const res = await client.search(q.query, q.options); results[q.name] = res.results || []; console.log(` → ${results[q.name].length} results`); } catch (err) { console.error(` → Error: ${err.message}`); results[q.name] = []; } } writeFileSync( "/Users/treyt/Desktop/code/claude_marketing/pipeline/outputs/test_campaign_e2e_20260323/raw_search_results.json", JSON.stringify(results, null, 2) ); console.log("Done. Raw results saved."); } runSearches();