Tutorial

How to Build Daily Competitor Reports with Groq HTTP and Scavio

Build daily competitor reports using Groq HTTP requests for summarization and Scavio for data collection. No AI agent node required.

An r/AiAutomations thread showed users struggling with AI agent nodes in n8n. The simpler approach: use a plain HTTP request to Groq for summarization instead of an AI agent node. Groq Llama 70B costs $0.59/$0.79 per 1M tokens. This tutorial uses HTTP-only nodes for both data collection and summarization.

Prerequisites

  • Scavio API key
  • Groq API key (free tier available)
  • Python 3.8+ or n8n

Walkthrough

Step 1: Collect competitor SERP data via Scavio

Search for competitors across Google and Reddit.

Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def collect_competitor_data(competitor):
    google = requests.post('https://api.scavio.dev/api/v1/search',
        headers=H, json={'platform': 'google', 'query': f'{competitor} news 2026'}).json()
    reddit = requests.post('https://api.scavio.dev/api/v1/search',
        headers=H, json={'platform': 'reddit', 'query': competitor}).json()
    return {'google': google.get('organic_results', [])[:5],
            'reddit': reddit.get('results', [])[:5]}

Step 2: Summarize with Groq HTTP request

Call Groq REST API directly -- no SDK, no agent node. Llama 70B at $0.59/1M input tokens.

Python
def summarize_with_groq(competitor, data):
    resp = requests.post('https://api.groq.com/openai/v1/chat/completions',
        headers={'Authorization': f'Bearer {os.environ["GROQ_API_KEY"]}',
                 'Content-Type': 'application/json'},
        json={'model': 'llama-3.3-70b-versatile', 'max_tokens': 500,
              'messages': [{'role': 'user',
                  'content': f'Summarize this competitor intelligence for {competitor}. '
                      f'Focus on: new features, pricing changes, user sentiment.\n{data}'}]
        }).json()
    return resp['choices'][0]['message']['content']

Step 3: Format the daily report

Combine summaries into a single report.

Python
def daily_report(competitors):
    report = f'# Competitor Report - {datetime.date.today()}\n\n'
    for c in competitors:
        data = collect_competitor_data(c)
        summary = summarize_with_groq(c, data)
        report += f'## {c}\n{summary}\n\n'
    return report

Step 4: Send via email or Slack

Deliver the report to your team.

Python
import smtplib
from email.mime.text import MIMEText

def send_report(report, to_email):
    msg = MIMEText(report)
    msg['Subject'] = f'Daily Competitor Report - {datetime.date.today()}'
    msg['From'] = 'reports@yourcompany.com'
    msg['To'] = to_email
    with smtplib.SMTP('smtp.gmail.com', 587) as s:
        s.starttls()
        s.login(os.environ['SMTP_USER'], os.environ['SMTP_PASS'])
        s.send_message(msg)

Python Example

Python
# Cost per daily report (3 competitors):
# Scavio: 3 competitors x 2 platforms = 6 queries x $0.005 = $0.03
# Groq: 3 summaries x ~1K tokens = ~$0.002
# Total: ~$0.032/day = ~$1/month for daily competitor reports

JavaScript Example

JavaScript
const scavioRes = await fetch('https://api.scavio.dev/api/v1/search', {
  method: 'POST',
  headers: {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'},
  body: JSON.stringify({platform: 'google', query: `${competitor} news 2026`})
});
const groqRes = await fetch('https://api.groq.com/openai/v1/chat/completions', {
  method: 'POST',
  headers: {'Authorization': `Bearer ${process.env.GROQ_API_KEY}`, 'Content-Type': 'application/json'},
  body: JSON.stringify({model: 'llama-3.3-70b-versatile', max_tokens: 500,
    messages: [{role: 'user', content: `Summarize: ${JSON.stringify(data)}`}]})
});

Expected Output

JSON
Daily competitor intelligence report delivered via email. Uses Groq HTTP request directly (no agent node), Scavio for data. Total cost under $1/month.

Related Tutorials

Frequently Asked Questions

Most developers complete this tutorial in 15 to 30 minutes. You will need a Scavio API key (free tier works) and a working Python or JavaScript environment.

Scavio API key. Groq API key (free tier available). Python 3.8+ or n8n. A Scavio API key gives you 500 free credits per month.

Yes. The free tier includes 500 credits per month, which is more than enough to complete this tutorial and prototype a working solution.

Scavio has a native LangChain package (langchain-scavio), an MCP server, and a plain REST API that works with any HTTP client. This tutorial uses the raw REST API, but you can adapt to your framework of choice.

Start Building

Build daily competitor reports using Groq HTTP requests for summarization and Scavio for data collection. No AI agent node required.