The Problem
Google is deprecating web-wide Programmable Search Engine (CSE) queries by January 2027. Applications and LLM integrations that depend on CSE for web search will break. CSE also returns limited structured data compared to modern SERP APIs.
The Scavio Solution
Replace CSE calls with Scavio's structured search API. The migration requires changing one endpoint URL and parsing the new JSON format. Scavio returns AI Overviews, Knowledge Graph, People Also Ask, and organic results that CSE never provided.
Before
Application calls Google CSE API for web search. Returns basic title, link, snippet. No AI Overview, no Knowledge Graph, no PAA. Service will stop working by January 2027.
After
Application calls Scavio search API. Returns structured SERP features including AI Overview, Knowledge Graph, PAA, plus organic results. No deprecation risk.
Who It Is For
Developers with applications built on Google CSE who need to migrate before the January 2027 deprecation deadline.
Key Benefits
- Drop-in replacement before CSE deprecation
- Structured SERP features CSE never provided
- AI Overview extraction for LLM grounding
- No domain restriction requirement
- 250 free queries/month for testing migration
Python Example
import requests, os
API_KEY = os.environ["SCAVIO_API_KEY"]
# BEFORE: Google CSE (deprecated by Jan 2027)
# def cse_search(query):
# resp = requests.get(
# "https://www.googleapis.com/customsearch/v1",
# params={"key": CSE_KEY, "cx": CSE_ID, "q": query}
# )
# return resp.json().get("items", [])
# AFTER: Scavio structured search
def search(query: str) -> dict:
"""Drop-in CSE replacement with structured SERP features."""
resp = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY, "Content-Type": "application/json"},
json={"query": query, "country_code": "us"},
timeout=10,
)
data = resp.json()
return {
"organic": data.get("organic_results", []),
"ai_overview": data.get("ai_overview"),
"knowledge_graph": data.get("knowledge_graph"),
"people_also_ask": data.get("related_questions", []),
}
# Same query, richer results
results = search("python web frameworks 2026")
print(f"Organic: {len(results['organic'])}")
print(f"AI Overview: {'Yes' if results['ai_overview'] else 'No'}")
print(f"Knowledge Graph: {'Yes' if results['knowledge_graph'] else 'No'}")
print(f"PAA: {len(results['people_also_ask'])}")JavaScript Example
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
// BEFORE: Google CSE (deprecated by Jan 2027)
// const cseSearch = (q) => fetch('https://www.googleapis.com/customsearch/v1?key='+CSE_KEY+'&cx='+CSE_ID+'&q='+q).then(r=>r.json());
// AFTER: Scavio
async function search(query) {
const r = await fetch('https://api.scavio.dev/api/v1/search', {method:'POST', headers:H, body:JSON.stringify({query, country_code:'us'})});
const d = await r.json();
return {organic:d.organic_results||[], ai_overview:d.ai_overview, kg:d.knowledge_graph, paa:d.related_questions||[]};
}
const r = await search('python web frameworks 2026');
console.log('Organic:'+r.organic.length+' AIO:'+(r.ai_overview?'Yes':'No')+' KG:'+(r.kg?'Yes':'No')+' PAA:'+r.paa.length);Platforms Used
Web search with knowledge graph, PAA, and AI overviews