The Problem
Quick-service restaurant franchise operators, suppliers, and consultants need data about specific locations: ratings, review counts, competitive density, and operating status. This data exists in Google local results but collecting it manually across hundreds of locations is impractical. Commercial restaurant databases charge $500-2,000/month for similar data.
The Scavio Solution
Query Scavio Google for '[restaurant brand] [city/zip]' to get local pack data including ratings, review counts, addresses, and competitive context. Batch queries across hundreds of locations at $0.005/query build a comprehensive operator intelligence database for a fraction of commercial database pricing.
Before
Before search API enrichment, the franchise consultant manually searched Google for each of 200 locations, spending 3 days compiling data into a spreadsheet. Data was stale by the time the report was delivered.
After
After building the search API pipeline, 200 locations are enriched in under 5 minutes for $1.00. Reports are generated the same day the data is pulled. Monthly refreshes keep data current at $1/month.
Who It Is For
Franchise development teams evaluating territories. QSR suppliers targeting specific operator segments. Franchise consultants building territory reports for clients.
Key Benefits
- 200 QSR locations enriched for $1.00 via Scavio
- Ratings, review counts, and competitive density per location
- Monthly refreshes at negligible cost keep data current
- Identifies underperforming locations (low ratings) for operational review
- Spots expansion opportunities (competitor gaps) by zip code
Python Example
import requests
import json
API_KEY = "your_scavio_api_key"
def enrich_locations(brand: str, zip_codes: list[str]) -> list[dict]:
results = []
for zip_code in zip_codes:
res = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": f"{brand} {zip_code}"},
timeout=15,
)
res.raise_for_status()
data = res.json()
for r in data.get("organic", [])[:5]:
results.append({
"brand": brand,
"zip": zip_code,
"name": r.get("title", ""),
"snippet": r.get("snippet", ""),
"link": r.get("link", ""),
})
return results
locations = enrich_locations("Subway", ["75001", "75002", "75003", "75004", "75005"])
print(f"Found {len(locations)} locations across 5 zip codes")
for loc in locations[:5]:
print(f" {loc['zip']}: {loc['name'][:60]}")JavaScript Example
const API_KEY = "your_scavio_api_key";
async function enrichLocations(brand, zipCodes) {
const results = [];
for (const zip of zipCodes) {
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: `${brand} ${zip}` }),
});
const data = await res.json();
for (const r of (data.organic ?? []).slice(0, 5)) {
results.push({ brand, zip, name: r.title ?? "", link: r.link ?? "" });
}
}
return results;
}
const locs = await enrichLocations("Subway", ["75001", "75002", "75003"]);
console.log(`Found ${locs.length} locations`);Platforms Used
Web search with knowledge graph, PAA, and AI overviews