ScavioScavio
ProductPricingDocs
Sign InGet Started
  1. Home
  2. Workflows
  3. Competitor Pricing Weekly Refresh
Workflow

Competitor Pricing Weekly Refresh

Weekly automated refresh of competitor pricing data from live search results. Keep comparison pages and sales collateral current.

Start FreeAPI Docs

Overview

This workflow refreshes competitor pricing data every week by searching Google for each competitor's pricing page and extracting current plan details from search snippets and AI Overviews. The output updates comparison pages, sales collateral, and internal pricing sheets. Each update includes a 'last verified' timestamp for credibility. Flags are raised when pricing appears to have changed significantly.

Trigger

Cron schedule (every Monday at 7:00 AM UTC)

Schedule

Runs every Monday at 7:00 AM UTC

Workflow Steps

1

Load competitor pricing targets

Read the list of competitors and their associated pricing search queries.

2

Search for current pricing

Query Scavio Google for each competitor's pricing page to get current plan and price information.

3

Extract pricing signals

Parse search snippets and AI Overviews for pricing figures, plan names, and feature mentions.

4

Compare against stored pricing

Check extracted pricing against previously stored values and flag significant changes.

5

Update pricing data store

Write updated pricing data with 'last verified' timestamps and change flags.

Python Implementation

Python
import requests
import json
from datetime import datetime
from pathlib import Path

API_KEY = "your_scavio_api_key"

COMPETITORS = [
    {"name": "SerpAPI", "query": "SerpAPI pricing plans 2026"},
    {"name": "Tavily", "query": "Tavily API pricing 2026"},
    {"name": "Brave Search API", "query": "Brave Search API pricing 2026"},
    {"name": "Exa", "query": "Exa search API pricing 2026"},
    {"name": "DataForSEO", "query": "DataForSEO pricing 2026"},
]

def fetch_pricing(competitor: dict) -> dict:
    res = requests.post(
        "https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": API_KEY},
        json={"platform": "google", "query": competitor["query"], "ai_overview": True},
        timeout=15,
    )
    res.raise_for_status()
    data = res.json()
    snippets = [r.get("snippet", "") for r in data.get("organic", [])[:5]]
    return {
        "competitor": competitor["name"],
        "query": competitor["query"],
        "ai_overview": data.get("ai_overview", {}).get("text", "")[:500],
        "pricing_snippets": snippets,
        "verified_at": datetime.utcnow().isoformat(),
    }

def run():
    date = datetime.utcnow().strftime("%Y-%m-%d")
    results = []
    for comp in COMPETITORS:
        pricing = fetch_pricing(comp)
        results.append(pricing)
        print(f"  {pricing['competitor']}: {len(pricing['pricing_snippets'])} snippets found")

    output = {"date": date, "competitors_checked": len(COMPETITORS), "results": results}
    Path(f"pricing_refresh_{date}.json").write_text(json.dumps(output, indent=2))
    print(f"Pricing refresh {date}: {len(COMPETITORS)} competitors updated")

if __name__ == "__main__":
    run()

JavaScript Implementation

JavaScript
const API_KEY = "your_scavio_api_key";

const COMPETITORS = [
  { name: "SerpAPI", query: "SerpAPI pricing 2026" },
  { name: "Tavily", query: "Tavily API pricing 2026" },
  { name: "DataForSEO", query: "DataForSEO pricing 2026" },
];

async function fetchPricing(comp) {
  const res = await fetch("https://api.scavio.dev/api/v1/search", {
    method: "POST",
    headers: { "x-api-key": API_KEY, "content-type": "application/json" },
    body: JSON.stringify({ platform: "google", query: comp.query, ai_overview: true }),
  });
  const data = await res.json();
  return {
    competitor: comp.name,
    snippets: (data.organic ?? []).slice(0, 5).map((r) => r.snippet ?? ""),
    aiOverview: (data.ai_overview?.text ?? "").slice(0, 500),
  };
}

for (const comp of COMPETITORS) {
  const r = await fetchPricing(comp);
  console.log(`${r.competitor}: ${r.snippets.length} pricing snippets`);
}

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

Frequently Asked Questions

This workflow refreshes competitor pricing data every week by searching Google for each competitor's pricing page and extracting current plan details from search snippets and AI Overviews. The output updates comparison pages, sales collateral, and internal pricing sheets. Each update includes a 'last verified' timestamp for credibility. Flags are raised when pricing appears to have changed significantly.

This workflow uses a cron schedule (every monday at 7:00 am utc). Runs every Monday at 7:00 AM UTC.

This workflow uses the following Scavio platforms: google. Each platform is called via the same unified API endpoint.

Yes. Scavio's free tier includes 50 credits on signup with no credit card required. That is enough to test and validate this workflow before scaling it.

Competitor Pricing Weekly Refresh

Weekly automated refresh of competitor pricing data from live search results. Keep comparison pages and sales collateral current.

Get Your API KeyRead the Docs
ScavioScavio

Real-time search API for AI agents. Search every platform, not just Google.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative

Tools

  • JSON Formatter
  • cURL to Code
  • Token Counter
  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy