ScavioScavio
ProductPricingDocs
Sign InGet Started
  1. Home
  2. Tutorials
  3. How to Enrich Cold Email Targets for E-Commerce
Tutorial

How to Enrich Cold Email Targets for E-Commerce

Enrich e-commerce lead lists with store data, tech stack signals, and traffic estimates via search API. $0.005/lead.

Get Free API KeyAPI Docs

Cold email to e-commerce stores works better with enriched data. Instead of blasting generic messages, this pipeline takes a list of store domains and enriches each with product count estimates, tech stack signals, and competitive positioning. Each enrichment query costs $0.005.

Prerequisites

  • Python 3.8+
  • requests library
  • A Scavio API key from scavio.dev
  • A list of e-commerce domains to enrich

Walkthrough

Step 1: Enrich e-commerce domains with search data

Search for each domain to find store details, reviews, and market positioning.

Python
import os, requests, json, csv
from datetime import datetime

API_KEY = os.environ['SCAVIO_API_KEY']
SH = {'x-api-key': API_KEY, 'Content-Type': 'application/json'}

TARGET_DOMAINS = [
    'allbirds.com',
    'brooklinen.com',
    'chubbiesshorts.com',
]

def enrich_ecommerce(domain):
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': f'site:{domain}', 'country_code': 'us'}, timeout=10).json()
    organic = data.get('organic_results', [])
    # Basic enrichment
    enriched = {
        'domain': domain,
        'indexed_pages': len(organic),
        'title': organic[0].get('title', '') if organic else '',
        'description': organic[0].get('snippet', '')[:120] if organic else '',
        'product_pages': sum(1 for r in organic if any(w in r.get('link', '').lower() for w in ['/product', '/shop', '/collection'])),
        'has_blog': any('/blog' in r.get('link', '').lower() for r in organic),
    }
    # Tech stack signals from snippets
    all_text = ' '.join(r.get('snippet', '') for r in organic).lower()
    if 'shopify' in all_text: enriched['platform'] = 'Shopify'
    elif 'woocommerce' in all_text: enriched['platform'] = 'WooCommerce'
    elif 'bigcommerce' in all_text: enriched['platform'] = 'BigCommerce'
    else: enriched['platform'] = 'Unknown'
    return enriched

for domain in TARGET_DOMAINS:
    info = enrich_ecommerce(domain)
    print(f'  {domain:25} | Pages: {info["indexed_pages"]} | Products: {info["product_pages"]} | Blog: {info["has_blog"]}')
    print(f'    Platform: {info["platform"]} | {info["title"][:45]}')
print(f'\nCost: ${len(TARGET_DOMAINS) * 0.005:.3f}')

Step 2: Add competitive context

Find how each store ranks for key terms and who their competitors are.

Python
def competitive_context(domain):
    # Search for brand mentions
    brand = domain.split('.')[0]
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': f'{brand} review', 'country_code': 'us'}, timeout=10).json()
    organic = data.get('organic_results', [])
    review_mentions = sum(1 for r in organic if domain in r.get('link', '').lower())
    competitor_domains = set()
    for r in organic:
        link = r.get('link', '')
        if domain not in link and any(ext in link for ext in ['.com', '.co']):
            comp_domain = link.split('//')[1].split('/')[0] if '//' in link else ''
            if comp_domain and 'google' not in comp_domain and 'youtube' not in comp_domain:
                competitor_domains.add(comp_domain)
    return {
        'brand_review_presence': review_mentions,
        'competitor_domains': list(competitor_domains)[:5],
        'total_review_results': len(organic),
    }

print(f'\n=== Competitive Context ===')
for domain in TARGET_DOMAINS:
    ctx = competitive_context(domain)
    print(f'  {domain:25} | Reviews: {ctx["brand_review_presence"]}/{ctx["total_review_results"]}')
    if ctx['competitor_domains']:
        print(f'    Competitors: {", ".join(ctx["competitor_domains"][:3])}')
print(f'\nAdditional cost: ${len(TARGET_DOMAINS) * 0.005:.3f}')

Step 3: Export enriched list for cold email

Generate the enriched CSV ready for cold email campaigns.

Python
def build_outreach_list(domains):
    leads = []
    for domain in domains:
        info = enrich_ecommerce(domain)
        ctx = competitive_context(domain)
        leads.append({**info, **ctx})
    # Export
    filename = f'ecommerce_leads_{datetime.now().strftime("%Y%m%d")}.csv'
    with open(filename, 'w', newline='') as f:
        fields = ['domain', 'title', 'platform', 'indexed_pages', 'product_pages', 'has_blog', 'brand_review_presence']
        writer = csv.DictWriter(f, fieldnames=fields)
        writer.writeheader()
        for lead in leads:
            writer.writerow({k: lead.get(k, '') for k in fields})
    print(f'\n=== E-Commerce Enrichment Summary ===')
    print(f'  Domains enriched: {len(leads)}')
    print(f'  Shopify stores: {sum(1 for l in leads if l["platform"] == "Shopify")}')
    print(f'  With blog: {sum(1 for l in leads if l["has_blog"])}')
    print(f'  Exported to: {filename}')
    print(f'\n  Cost: ${len(domains) * 2 * 0.005:.3f} (2 queries per domain)')
    print(f'  For 100 domains: ${100 * 2 * 0.005:.2f}')
    print(f'  vs. Clearbit enrichment: $0.20-1.00/lead')

build_outreach_list(TARGET_DOMAINS)

Python Example

Python
import os, requests
SH = {'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'}

def enrich(domain):
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': f'site:{domain}', 'country_code': 'us'}, timeout=10).json()
    results = data.get('organic_results', [])
    print(f'{domain}: {len(results)} indexed pages')

enrich('allbirds.com')
print('Cost: $0.005')

JavaScript Example

JavaScript
const SH = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
const data = await fetch('https://api.scavio.dev/api/v1/search', {
  method: 'POST', headers: SH,
  body: JSON.stringify({ query: 'site:allbirds.com', country_code: 'us' })
}).then(r => r.json());
console.log(`Indexed pages: ${(data.organic_results || []).length}`);

Expected Output

JSON
  allbirds.com              | Pages: 10 | Products: 4 | Blog: True
    Platform: Shopify | Allbirds: Sustainable Shoes and Clothing
  brooklinen.com             | Pages: 10 | Products: 5 | Blog: True
    Platform: Shopify | Brooklinen: Luxury Bedding and Towels
  chubbiesshorts.com         | Pages: 8  | Products: 3 | Blog: False
    Platform: Shopify | Chubbies: The Shorts Company

Cost: $0.015

=== E-Commerce Enrichment Summary ===
  Domains enriched: 3
  Shopify stores: 3
  With blog: 2
  Cost: $0.030 (2 queries per domain)
  For 100 domains: $1.00
  vs. Clearbit enrichment: $0.20-1.00/lead

Related Tutorials

  • How to Build Local SMB Discovery Without Apollo
  • How to Build QSR Operator List Pipeline
  • How to Build Franchise Operator Enrichment Pipeline

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+. requests library. A Scavio API key from scavio.dev. A list of e-commerce domains to enrich. 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 Lead Enrichment APIs for Cold Outreach in 2026

Read more
Best Of

Best Cold Email Data Enrichment for E-commerce (2026)

Read more
Use Case

Cold Email E-commerce Data Enrichment

Read more
Glossary

Lead Enrichment via Search API

Read more
Solution

Enrich Sales Leads with Search Data Instead of Apollo

Read more
Use Case

n8n Search Enrichment Workflow

Read more

Start Building

Enrich e-commerce lead lists with store data, tech stack signals, and traffic estimates via search API. $0.005/lead.

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