ScavioScavio
ProductPricingDocs
Sign InGet Started
  1. Home
  2. Tutorials
  3. How to Validate a Product Idea with SERP Data
Tutorial

How to Validate a Product Idea with SERP Data

Use SERP analysis to validate product ideas before building. Check search demand, competitor landscape, and content gaps with structured API data.

Get Free API KeyAPI Docs

Validating a product idea before writing code saves months of wasted effort. SERP data reveals whether people are searching for your solution, who already serves the market, and what gaps exist in current offerings. By analyzing search results for your target keywords, you can estimate demand, assess competition quality, and find underserved niches. This tutorial shows how to build a product validation pipeline using SERP data from the Scavio API. You will check search volume proxies, analyze competitor positioning, and identify content gaps that signal unmet demand.

Prerequisites

  • Python 3.8+ installed
  • requests library installed
  • A Scavio API key from scavio.dev
  • A product idea with 3-5 target keywords

Walkthrough

Step 1: Define validation keywords

Set up the keywords that represent your product idea and the problems it solves.

Python
import os, requests

API_KEY = os.environ["SCAVIO_API_KEY"]

# Product idea: AI-powered invoice parser
VALIDATION_KEYWORDS = [
    "ai invoice parser",
    "automated invoice data extraction",
    "invoice OCR API",
    "extract data from invoices automatically",
]

Step 2: Analyze search landscape

Query each keyword and assess the competitive landscape.

Python
def analyze_keyword(keyword):
    resp = requests.post("https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": API_KEY},
        json={"platform": "google", "query": keyword})
    data = resp.json()
    results = data.get("organic_results", [])[:10]
    return {
        "keyword": keyword,
        "result_count": len(results),
        "has_ads": bool(data.get("ads")),
        "has_aio": bool(data.get("ai_overview")),
        "paa_count": len(data.get("people_also_ask", [])),
        "top_domains": list(set(r.get("link","").split("/")[2] for r in results[:5] if r.get("link"))),
    }

Step 3: Score market signals

Aggregate signals across keywords to build a validation score.

Python
def validate(keywords):
    signals = [analyze_keyword(kw) for kw in keywords]
    score = 0
    for s in signals:
        if s["has_ads"]: score += 20  # Ads = commercial intent
        if s["paa_count"] > 3: score += 10  # Questions = demand
        if len(s["top_domains"]) < 4: score += 15  # Low competition
        if s["has_aio"]: score += 5  # Google sees authority content
    score = min(score, 100)
    return {"score": score, "signals": signals,
            "verdict": "strong" if score >= 60 else "moderate" if score >= 30 else "weak"}

Step 4: Generate validation report

Produce a readable report summarizing the validation findings.

Python
import json

result = validate(VALIDATION_KEYWORDS)
print(f"Validation Score: {result['score']}/100 ({result['verdict']})")
for s in result["signals"]:
    print(f"\n{s['keyword']}:")
    print(f"  Ads: {'yes' if s['has_ads'] else 'no'} | PAA: {s['paa_count']} | AIO: {'yes' if s['has_aio'] else 'no'}")
    print(f"  Competitors: {', '.join(s['top_domains'][:3])}")

with open("validation_report.json", "w") as f:
    json.dump(result, f, indent=2)

Python Example

Python
import os, requests
API_KEY = os.environ["SCAVIO_API_KEY"]
def validate(kw):
    resp = requests.post("https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": API_KEY},
        json={"platform": "google", "query": kw})
    d = resp.json()
    return {"keyword": kw, "ads": bool(d.get("ads")),
            "paa": len(d.get("people_also_ask",[])),
            "competitors": len(d.get("organic_results",[]))}

for kw in ["ai invoice parser", "invoice ocr api"]:
    print(validate(kw))

JavaScript Example

JavaScript
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
async function validate(kw) {
  const r = await fetch("https://api.scavio.dev/api/v1/search", {
    method: "POST", headers: H,
    body: JSON.stringify({platform: "google", query: kw})
  });
  const d = await r.json();
  return {keyword: kw, ads: !!(d.ads), paa: (d.people_also_ask||[]).length,
    competitors: (d.organic_results||[]).length};
}
validate("ai invoice parser").then(console.log);

Expected Output

JSON
A product validation report with a scored assessment of search demand, competitive landscape, and content gaps for each target keyword.

Related Tutorials

  • How to Validate a Product Idea with SERP Data
  • How to Validate a SaaS Idea in 30 Minutes

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.

Python 3.8+ installed. requests library installed. A Scavio API key from scavio.dev. A product idea with 3-5 target keywords. A Scavio API key gives you 50 free credits on signup.

Yes. The free tier includes 50 credits on signup, 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.

Related Resources

Best Of

Best SERP Tools for Product Validation in 2026

Read more
Best Of

Best Raw SERP Data APIs for Custom Dashboards (2026)

Read more
Use Case

Validate Product Ideas with SERP Market Analysis

Read more
Glossary

Search API Provider Landscape (2026)

Read more
Workflow

Product Validation via Search Workflow

Read more
Glossary

SERP Product Validation

Read more

Start Building

Use SERP analysis to validate product ideas before building. Check search demand, competitor landscape, and content gaps with structured API data.

Get Free 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