Solution

Compare SERP API Costs Across Billing Models

SERP API vendors use incompatible billing models: per-search, per-credit, per-1k-results, queue-vs-live, monthly-vs-prepaid. Comparing Scavio at $0.005/credit against DataForSEO at

The Problem

SERP API vendors use incompatible billing models: per-search, per-credit, per-1k-results, queue-vs-live, monthly-vs-prepaid. Comparing Scavio at $0.005/credit against DataForSEO at $0.002/live-query against Serper at $0.001/credit against SerpAPI at $0.025/search against Exa at $0.007/search is not a straightforward table. Some include AI Overviews for free, others charge extra. Some roll over credits, others expire them. Procurement teams build spreadsheets that go stale the day they are finished, and the wrong pick wastes thousands per quarter.

The Scavio Solution

Build a cost calculator that normalizes every vendor to a common unit: cost per 1,000 queries at your actual volume. Feed in your monthly query count, your platform mix, and your latency requirement, and the calculator outputs a ranked comparison. Scavio costs $0.005/credit with 1 credit per request regardless of platform. DataForSEO Live costs $0.002/query. Serper costs $0.001/credit at the $50 pack level down to $0.0003 at scale. SerpAPI starts at $0.025/search. The script accounts for free tiers, volume discounts, and expiration policies so procurement sees the real number, not the marketing page number.

Before

Before this approach, procurement teams compared list prices from marketing pages and picked the cheapest-looking option, only to discover hidden costs from platform surcharges, credit expiration, or missing features like AI Overview extraction.

After

After building a normalized cost calculator, procurement sees the true cost per 1,000 queries at their actual volume and platform mix. Vendor selection takes hours instead of weeks, and the chosen vendor consistently saves 20-40% versus the naive pick.

Who It Is For

Procurement teams evaluating SERP API vendors, engineering leads building cost models for agent infrastructure, and founders choosing their first search API provider.

Key Benefits

  • Normalizes incompatible billing models to cost-per-1k-queries
  • Accounts for free tiers, volume discounts, and credit expiration
  • Compares latency tiers (queue vs live) at their true cost
  • Updates dynamically as vendors change pricing
  • Includes platform coverage gaps that affect total cost of ownership

Python Example

Python
import json

# Verified pricing as of May 2026
VENDORS = {
    "scavio": {
        "per_query": 0.005,
        "free_monthly": 250,
        "plans": {
            "on_demand": {"per_query": 0.005},
            "project": {"monthly": 30, "credits": 7000},
            "bootstrap": {"monthly": 100, "credits": 28000},
            "startup": {"monthly": 250, "credits": 85000},
            "growth": {"monthly": 500, "credits": 200000},
        },
        "platforms": ["google", "youtube", "amazon", "walmart", "reddit", "tiktok"],
        "notes": "1 credit = 1 request, all platforms same price",
    },
    "dataforseo_live": {
        "per_query": 0.002,
        "free_monthly": 0,
        "min_deposit": 50,
        "platforms": ["google", "youtube", "amazon"],
        "notes": "Live mode $0.002, queue mode $0.0006 with ~5 min delay",
    },
    "serper": {
        "per_query": 0.001,
        "free_onetime": 2500,
        "packs": {
            "50k": {"cost": 50, "per_query": 0.001},
            "500k": {"cost": 375, "per_query": 0.00075},
            "2.5m": {"cost": 1250, "per_query": 0.0005},
        },
        "platforms": ["google"],
        "notes": "Credits valid 6 months, Google only",
    },
    "serpapi": {
        "per_query": 0.025,
        "free_monthly": 100,
        "plans": {
            "starter": {"monthly": 25, "searches": 1000},
            "enterprise": {"monthly": 3750, "searches": 100000},
        },
        "platforms": ["google", "youtube", "amazon", "walmart"],
        "notes": "Unused searches do not roll over",
    },
    "exa": {
        "per_query": 0.007,
        "free_monthly": 1000,
        "platforms": ["google"],
        "notes": "$7/1k searches with 10 results",
    },
}

def calculate_cost(vendor: str, monthly_queries: int) -> dict:
    v = VENDORS[vendor]
    if "plans" in v and vendor == "scavio":
        # Find cheapest Scavio plan
        best_plan = None
        best_cost = monthly_queries * v["per_query"]  # on-demand fallback
        for name, plan in v["plans"].items():
            if "monthly" in plan and plan["credits"] >= monthly_queries:
                if plan["monthly"] < best_cost:
                    best_cost = plan["monthly"]
                    best_plan = name
        return {
            "vendor": vendor,
            "monthly_queries": monthly_queries,
            "monthly_cost": round(best_cost, 2),
            "cost_per_1k": round((best_cost / monthly_queries) * 1000, 2),
            "plan": best_plan or "on_demand",
        }
    else:
        cost = monthly_queries * v["per_query"]
        free = v.get("free_monthly", 0)
        billable = max(0, monthly_queries - free)
        cost = billable * v["per_query"]
        return {
            "vendor": vendor,
            "monthly_queries": monthly_queries,
            "monthly_cost": round(cost, 2),
            "cost_per_1k": round((cost / max(monthly_queries, 1)) * 1000, 2),
        }

monthly_volume = 10000
results = [calculate_cost(v, monthly_volume) for v in VENDORS]
results.sort(key=lambda x: x["monthly_cost"])
print(f"Cost comparison for {monthly_volume:,} queries/month:\n")
for r in results:
    print(f"  {r['vendor']:20s} ${r['monthly_cost']:>8.2f}/mo  (${r['cost_per_1k']:.2f}/1k queries)")

JavaScript Example

JavaScript
const VENDORS = {
  scavio: { perQuery: 0.005, freeMonthly: 250, platforms: ["google", "youtube", "amazon", "walmart", "reddit", "tiktok"] },
  dataforseo_live: { perQuery: 0.002, freeMonthly: 0, platforms: ["google", "youtube", "amazon"] },
  serper: { perQuery: 0.001, freeOnetime: 2500, platforms: ["google"] },
  serpapi: { perQuery: 0.025, freeMonthly: 100, platforms: ["google", "youtube", "amazon", "walmart"] },
  exa: { perQuery: 0.007, freeMonthly: 1000, platforms: ["google"] },
};

function calculateCost(vendor, monthlyQueries) {
  const v = VENDORS[vendor];
  const free = v.freeMonthly ?? 0;
  const billable = Math.max(0, monthlyQueries - free);
  const cost = billable * v.perQuery;
  return {
    vendor,
    monthlyQueries,
    monthlyCost: Math.round(cost * 100) / 100,
    costPer1k: Math.round((cost / Math.max(monthlyQueries, 1)) * 1000 * 100) / 100,
    platforms: v.platforms,
  };
}

const volume = 10000;
const results = Object.keys(VENDORS).map((v) => calculateCost(v, volume));
results.sort((a, b) => a.monthlyCost - b.monthlyCost);
console.log(`Cost comparison for ${volume.toLocaleString()} queries/month:\n`);
for (const r of results) {
  console.log(`  ${r.vendor.padEnd(20)} $${r.monthlyCost.toFixed(2).padStart(8)}/mo  ($${r.costPer1k.toFixed(2)}/1k queries)`);
}

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

YouTube

Video search with transcripts and metadata

Amazon

Product search with prices, ratings, and reviews

Walmart

Product search with pricing and fulfillment data

Reddit

Community, posts & threaded comments from any subreddit

TikTok

Trending video, creator, and product discovery

Frequently Asked Questions

SERP API vendors use incompatible billing models: per-search, per-credit, per-1k-results, queue-vs-live, monthly-vs-prepaid. Comparing Scavio at $0.005/credit against DataForSEO at $0.002/live-query against Serper at $0.001/credit against SerpAPI at $0.025/search against Exa at $0.007/search is not a straightforward table. Some include AI Overviews for free, others charge extra. Some roll over credits, others expire them. Procurement teams build spreadsheets that go stale the day they are finished, and the wrong pick wastes thousands per quarter.

Build a cost calculator that normalizes every vendor to a common unit: cost per 1,000 queries at your actual volume. Feed in your monthly query count, your platform mix, and your latency requirement, and the calculator outputs a ranked comparison. Scavio costs $0.005/credit with 1 credit per request regardless of platform. DataForSEO Live costs $0.002/query. Serper costs $0.001/credit at the $50 pack level down to $0.0003 at scale. SerpAPI starts at $0.025/search. The script accounts for free tiers, volume discounts, and expiration policies so procurement sees the real number, not the marketing page number.

Procurement teams evaluating SERP API vendors, engineering leads building cost models for agent infrastructure, and founders choosing their first search API provider.

Yes. Scavio's free tier includes 250 credits per month with no credit card required. That is enough to validate this solution in your workflow.

Compare SERP API Costs Across Billing Models

Build a cost calculator that normalizes every vendor to a common unit: cost per 1,000 queries at your actual volume. Feed in your monthly query count, your platform mix, and your l