Ecommerce Website Data
The All-in-One Skill for ecommerce intelligence.
Powered by EcCompass AI — one of the world's largest DTC databases — this skill delivers free, live data on 10M+ stores with 100+ analytics fields.
What You Can Do
Search Stores — "Find Shopify stores selling pet food with 10k+ Instagram followers"
Domain Analytics — "Show me ooni.com's GMV trend and tech stack"
Lead Contacts — "Get decision-maker emails for this brand"
Data Coverage
| Metric | Value | | :--- | :--- | | Total domains | 10,000,000+ | | Countries | 200+ | | Platforms | Shopify, WooCommerce, Wix, Squarespace, BigCommerce and more | | GMV data | Monthly GMV from 2023 to Date | | Social media | Instagram, TikTok, Twitter/X, YouTube, Facebook, Pinterest | | Lead Contacts | Verified LinkedIn profiles and business emails | | Update frequency | Monthly |
Usage Notes
Data freshness — Store data is live and updated monthly, not a static snapshot.
GMV accuracy — Revenue figures are estimates based on traffic and industry benchmarks, not actual financial records.
Contact verification — All emails and LinkedIn profiles have been verified.
Scope
Can do — Store discovery, single-store analytics, competitor lookup, tech stack detection, contact extraction
Cannot do — Access store backend, guarantee exact GMV, provide real-time inventory or pricing, execute outreach campaigns.
Setup
100% Free. One-minute setup.
Quickest Way — Just Tell OpenClaw
Paste this to your OpenClaw agent and it will install the skill and configure the token for you:
Install this skill: https://clawhub.ai/roger52027/ecommerce-website-data My APEX_TOKEN is: your_token_here
Get your free token at eccompass.ai → Dashboard → API Access → Create Token.
Manual Install via OpenClaw CLI
openclaw skills install roger52027/ecommerce-website-data
Then configure the token (choose one):
Option A — OpenClaw config (persistent):
Add to ~/.openclaw/openclaw.json:
{
"skills": {
"entries": {
"ecommerce-website-data": {
"enabled": true,
"env": {
"APEX_TOKEN": "your_token_here"
}
}
}
}
}
Option B — Shell environment variable:
export APEX_TOKEN="your_token_here"
Quick Start
IMPORTANT: Always use the Python script for API calls. It has the correct base URL and authentication built in.
# Search by keyword
python3 {baseDir}/scripts/query.py search "pet food"
# Search with filters
python3 {baseDir}/scripts/query.py search "coffee" --country CN --platform shopify
# Filter only (no keyword)
python3 {baseDir}/scripts/query.py search --country US --platform shopify --min-gmv 1000000
# Search with range filters and sorting
python3 {baseDir}/scripts/query.py search "fashion" --min-instagram 10000 --sort gmvLast12month
# Find stores that have a TikTok page
python3 {baseDir}/scripts/query.py search --platform shopline --exists tiktokUrl
# Find stores with both email and TikTok presence
python3 {baseDir}/scripts/query.py search --country US --exists tiktokUrl,emails
# Get full analytics for a domain
python3 {baseDir}/scripts/query.py domain ooni.com
# Export as JSON
python3 {baseDir}/scripts/query.py domain ooni.com --json
# Get historical GMV and traffic data
python3 {baseDir}/scripts/query.py historical ooni.com
# Get installed apps/plugins
python3 {baseDir}/scripts/query.py apps ooni.com
# Get LinkedIn contacts
python3 {baseDir}/scripts/query.py contacts ooni.com
API Base URL
https://api.eccompass.ai
CRITICAL: All API paths start with /public/api/v1/. The /public prefix is mandatory — without it, you will get an authentication error. Never omit /public from the path.
API Endpoints
1. Search — POST https://api.eccompass.ai/public/api/v1/search
Full URL: https://api.eccompass.ai/public/api/v1/search (POST, Content-Type: application/json)
Authentication: APEX_TOKEN header (NOT Authorization header).
curl -X POST https://api.eccompass.ai/public/api/v1/search \
-H "APEX_TOKEN: $APEX_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"keyword": "coffee",
"filters": { "countryCode4": "CN", "platform": "shopify" },
"ranges": { "gmvLast12month": { "min": 100000 } },
"sortField": "gmvLast12month",
"sortOrder": "desc",
"page": 1,
"size": 20
}'
All body fields are optional.
Exists filter: Use "exists": ["tiktokUrl", "emails"] to require that specific fields are present and not empty. This is the correct way to express "has a TikTok page" or "has contact email". Common exists fields: tiktokUrl, instagramUrl, facebookUrl, youtubeUrl, twitterUrl, linkedinUrl, emails, phones.
Keyword search covers: domain, title, description, tags, categories, platform name, merchant name, technologies, and installed apps. So "klaviyo" in keyword will match stores using the Klaviyo app. You do NOT need to know exact values — just put the search term in the keyword field.
Filters are case-insensitive and support both single values and arrays (OR logic). Any field listed below can be used as a filter, range, or exists condition.
// Single value
{"filters": {"platform": "shopify"}}
// Array = OR logic: matches Europe OR Africa
{"filters": {"region": ["Europe", "Africa"]}}
// Combine keyword + multi-value filter
{"keyword": "energy drink", "filters": {"region": ["Europe", "Africa"]}}
// App/plugin filter
{"filters": {"countryCode4": "US", "installedApps": "klaviyo"}}
Complete Field Reference
Geography (Keyword, for filters):
countryCode4, countryCode, countryCode2, countryCode3, city, state, region, subregion, zip, streetAddress, latitude, longitude, companyLocation(Text)
Platform & Store (Keyword, for filters):
platform, plan, status, platformDomain, lastPlatform, lastPlan, lastPlatformChanged, lastPlanChanged, created, languageCode, currency, salesChannels
Content (Text, for filters — partial match):
description, title, merchantName, categories, tags, tagsV5, metaDescription, metaKeywords, features
Products (Keyword/Text for filters):
averageProductPrice(Keyword), avgPriceFormatted(Keyword), categoriesV1(Keyword), tagsFirst(Keyword)
Tech Stack (Text, for filters — partial match):
technologies, installedApps, theme, themeVendor, themeSpend, themeVersion(Keyword)
Contact (Text, best with exists):
emails, phones, contactPageUrl
Social URLs (for exists — check presence):
tiktokUrl, instagramUrl, facebookUrl, youtubeUrl, twitterUrl, linkedinUrl, pinterestUrl, linkedinAccount(Keyword)
Revenue (Long, for ranges — all in USD):
gmvLast12month, gmv2023, gmv2024, gmv2025, gmv2026, estimatedMonthlySales, estimatedSalesYearly
Traffic (Long/Integer, for ranges):
estimatedVisits, estimatedPageViews, alexaRank, rank, platformRank, rankPercentile(Float), platformRankPercentile(Float)
Products numeric (Integer/Long, for ranges):
productCount, avgPriceUsd, maxPrice, minPrice, variantCount, productImages, productsSold, vendorCount
Employees (Integer, for ranges):
employeeCount, monthlyAppSpend
Social Followers (Integer, for ranges):
instagramFollowers, instagramFollowers30d, instagramFollowers90d, tiktokFollowers, tiktokFollowers30d, tiktokFollowers90d, twitterFollowers, twitterFollowers30d, twitterFollowers90d, youtubeFollowers, youtubeFollowers30d, youtubeFollowers90d, facebookFollowers, facebookFollowers30d, facebookFollowers90d, facebookLikes, pinterestFollowers(Long), pinterestFollowers30d(Long), pinterestFollowers90d(Long)
Growth (Double, for ranges):
growth
Tip for the agent:
- Platform names (Shopify, Shopline, WooCommerce, etc.) → prefer
keywordoverfilters.platform(fuzzy match) - Plugins/apps (Klaviyo, Yotpo, etc.) → use
keywordorfilters.installedApps/filters.technologies - Multiple regions/countries (e.g. "Europe or Africa") → array in filters:
{"region": ["Europe", "Africa"]} - "Has TikTok" / "Has Email Address" → use
exists:{"exists": ["tiktokUrl"]}or{"exists": ["emails"]} - Monthly GMV → use
estimatedMonthlySalesrange directly, orgmvLast12month(annual)
2. Domain Analytics — GET https://api.eccompass.ai/public/api/v1/domain/{domain}
Full URL: https://api.eccompass.ai/public/api/v1/domain/{domain} (GET)
curl -H "APEX_TOKEN: $APEX_TOKEN" https://api.eccompass.ai/public/api/v1/domain/ooni.com
Returns 100+ fields of complete analytics for a single domain.
3. Historical Data — GET https://api.eccompass.ai/public/api/v1/historical/{domain}
curl -H "APEX_TOKEN: $APEX_TOKEN" https://api.eccompass.ai/public/api/v1/historical/ooni.com
Returns monthly GMV, UV, PV, and average price data from 2023 onwards. Use when the user asks for revenue trends, traffic history, or month-over-month performance.
4. Installed Apps — GET https://api.eccompass.ai/public/api/v1/installed-apps/{domain}
curl -H "APEX_TOKEN: $APEX_TOKEN" https://api.eccompass.ai/public/api/v1/installed-apps/ooni.com
Returns the list of apps/plugins installed on a store with details: name, rating, install count, vendor info, pricing plans. Use when the user asks "what apps does X use" or "which plugins are installed".
5. LinkedIn Contacts — GET https://api.eccompass.ai/public/api/v1/contacts/{domain}
curl -H "APEX_TOKEN: $APEX_TOKEN" https://api.eccompass.ai/public/api/v1/contacts/ooni.com
Returns verified LinkedIn contacts for a domain's company: name, position, email, LinkedIn profile URL. Use for lead generation, decision-maker lookup, or outreach.
Requirements
- Python 3.6+
- Network access to
api.eccompass.ai APEX_TOKENenvironment variable (get yours at eccompass.ai)
Documentation
- AI Instructions — How the agent uses this skill
- API Schema — Full response format and field definitions
- Usage Examples — Real-world scenarios with sample output
License
Proprietary — EcCompass AI
Support
For questions, issues, or feature requests, visit https://eccompass.ai.
Scan to contact