Shopify Store Leads & Intelligence avatar

Shopify Store Leads & Intelligence

Pricing

from $1.00 / 1,000 store audits

Go to Apify Store
Shopify Store Leads & Intelligence

Shopify Store Leads & Intelligence

Discover Shopify stores by product keyword, then extract public websites, emails, phones, socials, ratings, sample products, technologies, and catalog intelligence. Direct store audits are also supported.

Pricing

from $1.00 / 1,000 store audits

Rating

0.0

(0)

Developer

Thirdwatch

Thirdwatch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Find Shopify stores by product keyword, enrich them with public contact and storefront data, or audit a list of known store URLs. No Shopify API key, login, browser, or merchant access is required.

What this actor does

The actor supports two workflows:

  • Discover store leads: Enter product keywords such as organic coffee or yoga mats. The actor searches Shop's public marketplace, deduplicates matching merchants, and enriches their public storefronts.
  • Audit known stores: Enter Shopify domains or URLs to extract catalog, pricing, collection, theme, contact, and technology data.

Lead rows can include:

  • Store name, recognized website, Shop profile, Shopify ID, and source query.
  • Public email addresses, phone numbers, social profiles, and business address when published.
  • Shop product rating and review totals.
  • Two to ten sample products for lead qualification.
  • Currency, theme, description, and common marketing technologies found on the storefront.

Direct store audits additionally include:

  • Store-level audit summary with store name, description, currency, theme, product/variant/collection counts, vendors, product types, price range, sale rate, and availability.
  • Public contact emails, phone links, social profiles, and common marketing technologies found on the storefront.
  • Product-level results from Shopify's public /products.json endpoint.
  • Variant, SKU, price, compare-at price, inventory availability, image, tag, and publish/update metadata.
  • Optional public collection discovery from /collections.json.

It is built for DTC analysts, ecommerce operators, lead generation teams, agencies, investors, and price-monitoring workflows that need fast Shopify catalog visibility without running a browser.

Why use it

  • No browser: Shop discovery uses Chrome TLS fingerprinting plus server-rendered Apollo data at 256 MB.
  • Search without store URLs: Start with a niche or product keyword instead of a prepared domain list.
  • Works with custom domains: Use brand.com, www.brand.com, brand.myshopify.com, collection URLs, or product URLs.
  • Store audit + product feed: Get one high-level audit row per store plus one row per product.
  • No credentials: Uses only public storefront JSON endpoints.
  • Apify-ready output: Dataset rows are structured for exports, integrations, and API consumption.

Input

FieldRequiredDescription
queriesNoProduct keywords or niches used to discover Shopify store leads.
maxStoresPerQueryNoUnique store leads per query. Default 25, maximum 250.
sampleProductsPerLeadNoProducts embedded in each lead row. Default 3, maximum 10.
storeUrlsNoShopify store homepages, product URLs, collection URLs, or myshopify.com URLs.
storeDomainsNoPlain domains such as allbirds.com or gymshark.com. Combined with storeUrls.
maxProductsPerStoreNoMaximum products to extract per store. Default 100.
includeCollectionsNoFetch /collections.json where available. Default true.
requestDelaySecsNoPolite delay between product pages. Default 0.5.
proxyConfigurationNoResidential proxy for Shop discovery and direct store audits. Lead enrichment requests remain direct to control cost.

Provide at least one keyword, store URL, or store domain. Keyword and direct-audit inputs can be combined in one run.

Example input

{
"queries": ["organic coffee", "mushroom coffee"],
"maxStoresPerQuery": 25,
"sampleProductsPerLead": 3,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Output types

The dataset contains three result types.

Store lead result

One store_lead row is emitted for each unique discovered store. Missing contact fields are returned as empty arrays; the actor does not invent or guess email addresses.

{
"result_type": "store_lead",
"source_query": "organic coffee",
"store_name": "Example Coffee",
"store_domain": "examplecoffee.com",
"website_url": "https://examplecoffee.com",
"shop_url": "https://shop.app/m/examplecoffee",
"contact_emails": ["hello@examplecoffee.com"],
"contact_phones": ["+1 555 010 1234"],
"social_links": ["https://instagram.com/examplecoffee"],
"rating": 4.82,
"total_product_reviews": 3995,
"total_product_ratings": 15081,
"technologies": ["Klaviyo", "Meta Pixel", "Shop Pay"],
"sample_products": [
{
"title": "Organic Whole Bean Coffee",
"price": 24.0,
"currency": "USD",
"url": "https://examplecoffee.com/products/organic-whole-bean"
}
],
"scraped_at": "2026-08-07T12:00:00+00:00"
}

Store audit result

One store_audit row is emitted per input store.

{
"result_type": "store_audit",
"store_domain": "allbirds.com",
"store_url": "https://www.allbirds.com",
"status": "shopify_detected",
"products_found": 100,
"collections_found": 24,
"vendors": ["Allbirds"],
"product_types": ["Accessories", "Shoes"],
"price_min": 12.0,
"price_max": 160.0,
"available_products": 87,
"products_on_sale": 14,
"variants_found": 1260,
"currency": "USD",
"theme_name": "Allbirds",
"contact_emails": ["help@example.com"],
"social_links": ["https://instagram.com/example"],
"technologies": ["Google Analytics", "Klaviyo", "Meta Pixel"],
"sampled_at": "2026-06-03T10:00:00+00:00"
}

Product result

One product_result row is emitted per extracted Shopify product.

{
"result_type": "product_result",
"store_domain": "allbirds.com",
"store_url": "https://www.allbirds.com",
"url": "https://www.allbirds.com/products/mens-wool-runners",
"product_id": 4029431775334,
"handle": "mens-wool-runners",
"title": "Men's Wool Runners",
"vendor": "Allbirds",
"product_type": "Shoes",
"tags": ["mens", "wool"],
"min_price": 110.0,
"max_price": 110.0,
"on_sale": false,
"available": true,
"variant_count": 24,
"variants": [
{"id": 123, "title": "10 / Natural Grey", "sku": "WR-NG-10", "price": "110.00", "available": true}
]
}

Pricing event concept

This actor uses three Pay-Per-Event events:

EventCharged whenWhy
store_leadA unique Shopify store is discovered and enriched.Lead discovery is priced separately from catalog export.
store_auditA Shopify storefront is positively detected and an audit is produced.Invalid, unreachable, and non-Shopify inputs are not charged.
product_resultA product row is extracted from /products.json.Product-level catalog intelligence scales with result volume.

Use cases

  • Competitive product catalog monitoring
  • Shopify brand discovery and enrichment
  • Price and sale tracking
  • DTC lead qualification
  • Investor and market mapping workflows
  • Ecommerce agency audits
  • Collection/category research

Limitations

  • Only public Shopify storefront data is extracted.
  • Email, phone, address, and social coverage depends on what the merchant publishes. Empty arrays are valid results.
  • Shop search is relevance-based. Alternate public sort views expand larger requests, but highly specific keywords can have fewer matching stores than the requested maximum.
  • Some stores disable or restrict /products.json; those stores may return no_public_products_found.
  • Shop discovery uses residential proxy traffic because Shop rate-limits Apify datacenter IPs. Storefront enrichment stays direct, so proxy use remains bounded to the search request.
  • Inventory quantities are not exposed by Shopify's public product JSON; availability is boolean at variant level.
  • This actor does not call private Shopify Admin APIs and does not bypass store protections.

FAQ

Do I need a Shopify API key? No. The actor uses public storefront JSON endpoints.

Does this work on custom domains? Yes. Provide either custom domains or myshopify.com domains.

Does it scrape collections? Yes, when includeCollections is enabled and the store exposes /collections.json.

Is this browser-based? No. It is a pure HTTP actor designed for low cost and speed.

More ecommerce scrapers at thirdwatch.dev.