# Shopify App Reviews & B2B Churn Email Leads Scraper (`church_of_loujess/shopify-app-reviews-leads-scraper`) Actor

Extract Shopify App Store reviews filtered by star rating (e.g. 1-2 star churn leads on Klaviyo, Gorgias, Recharge, Yotpo) and automatically resolve merchant domains, verified store emails, phones, and social profiles. Zero proxies needed.

- **URL**: https://apify.com/church_of_loujess/shopify-app-reviews-leads-scraper.md
- **Developed by:** [H H](https://apify.com/church_of_loujess) (community)
- **Categories:** E-commerce, Lead generation, MCP servers
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $15.00 / 1,000 enriched shopify merchant review & churn contact leads

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Shopify App Store Reviews & Competitor Churn Email Leads Scraper

Extract 1-star and 2-star competitor reviews from `apps.shopify.com` (Klaviyo, Gorgias, Recharge, Yotpo, Omnisend, Printful & any Shopify app) and automatically resolve live merchant storefronts, verified founder/store emails, phones, and social links.

***

### High-ROI B2B, Agency & AI Workflows

- **Competitor Churn Sniping for E-Commerce SaaS:** Find active Shopify brands who *just* left a 1-star review complaining about Klaviyo pricing, Gorgias support, or Recharge bugs — complete with their exact complaint text and verified store email.
- **Shopify Retention, CRO & Email Marketing Agencies:** Pitch Klaviyo/email/CRO retainers to verified Shopify Plus & DTC brands actively struggling with their marketing apps.
- **Product & GTM Competitive Intelligence:** Categorize thousands of competitor app reviews by country, merchant app tenure (`"Over 2 years using the app"`), star rating, and churn triggers.
- **Country-Aware Storefront Resolver:** Automatically matches merchant brand names & countries (`US`, `UK`, `AU`, `CA`, etc.) to verified `Shopify.theme` / `cdn.shopify.com` domains with zero search-engine CAPTCHAs.

### Architecture & Cost Advantage (`256MB` Zero-Proxy Engine)

- **Zero Residential Proxy Markup:** Engineered with lightweight TLS/session requests so you do not need expensive residential proxy add-ons just to test or scale runs.
- **Ultra-Low `256MB` Compute Footprint:** Runs cleanly inside a `256MB` container (`16x` less platform memory overhead than `4GB` headless-browser scrapers) with incremental dataset streaming and graceful timeout protection.
- **Pay-Per-Event Transparency:** You only pay a tiny startup fee plus each structured dataset result delivered — with automatic volume discounts up to **60%–70% off** on Bronze, Silver, Gold, Platinum, and Diamond Apify plans.

***

### Input Parameters

| Parameter | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `apps` | `array` | `["klaviyo-email-marketing"]` | List of Shopify App Store URLs or app slugs (e.g. \['klaviyo-email-marketing', 'https://apps.shopify.com/gorgias', 'yotpo-social-reviews']). |
| `starRatings` | `array` | `[1, 2]` | Star ratings to include (1 to 5). Use \[1, 2] to target unhappy merchants ready to switch tools, or \[1, 2, 3, 4, 5] for all reviews. |
| `sortBy` | `string` | `"newest"` | Sort reviews by newest first ('newest') or relevance ('relevance'). |
| `maxReviewsPerApp` | `integer` | `15` | Maximum number of merchant reviews to extract per Shopify app. |
| `resolveMerchantContacts` | `boolean` | `true` | Automatically discovers each reviewing merchant's live storefront URL and crawls /pages/contact & /contact for verified business emails, phone numbers, and social profiles. |
| `onlyWithEmail` | `boolean` | `false` | When enabled, filters output to merchants where at least one deliverable contact email was resolved. |
| `proxyConfiguration` | `object` | `{"useApifyProxy": false}` | Optional proxy settings. Works out-of-the-box with direct connections at 256MB. |

***

### Sample Output Dataset Item

```json
{
  "appSlug": "klaviyo-email-marketing",
  "merchantName": "Dr Gus Nutrition",
  "merchantCountry": "United Kingdom",
  "rating": 1,
  "reviewDate": "October 28, 2026",
  "timeUsedApp": "Over 2 years using the app",
  "reviewBody": "Pricing doubled automatically and support only replies with bots. Moving our list elsewhere.",
  "churnSignals": [
    "pricing_hike",
    "support_frustration",
    "active_switch_intent"
  ],
  "resolvedStoreUrl": "https://drgusnutrition.co.uk",
  "verifiedShopifyStore": true,
  "emails": [
    "paul@drgusnutrition.co.uk"
  ],
  "phones": [],
  "instagramUrl": "https://www.instagram.com/drgusnutrition"
}
```

***

### Use as an AI Agent Tool (Claude Desktop, Cursor, Windsurf & MCP)

Every Actor in our suite works out-of-the-box with the **Apify Model Context Protocol (MCP) Server** so Claude Desktop, Cursor, Windsurf, or custom OpenAI/LangGraph agents can invoke `church_of_loujess/shopify-app-reviews-leads-scraper` directly during a conversation:

```json
{
  "mcpServers": {
    "apify-b2b-intelligence": {
      "url": "https://mcp.apify.com/?actors=church_of_loujess/shopify-app-reviews-leads-scraper",
      "headers": {
        "Authorization": "Bearer <YOUR_APIFY_API_TOKEN>"
      }
    }
  }
}
```

### API Quickstart (Python, Node.js & cURL)

#### Python (`apify-client`)

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_API_TOKEN>")
run = client.actor("church_of_loujess/shopify-app-reviews-leads-scraper").call(run_input={
  "apps": [
    "klaviyo-email-marketing",
    "gorgias"
  ],
  "starRatings": [
    1,
    2
  ],
  "sortBy": "newest",
  "maxReviewsPerApp": 10,
  "resolveMerchantContacts": true,
  "onlyWithEmail": false
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

#### Node.js / TypeScript (`apify-client`)

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: '<YOUR_APIFY_API_TOKEN>' });
const run = await client.actor('church_of_loujess/shopify-app-reviews-leads-scraper').call({
  "apps": [
    "klaviyo-email-marketing",
    "gorgias"
  ],
  "starRatings": [
    1,
    2
  ],
  "sortBy": "newest",
  "maxReviewsPerApp": 10,
  "resolveMerchantContacts": true,
  "onlyWithEmail": false
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

#### n8n, Make.com & Clay Enrichment Setup

1. **Clay:** Add an *Apify — Run Actor* enrichment column -> select `church_of_loujess/shopify-app-reviews-leads-scraper` -> map your row's keyword, handle, or URL -> map returned emails/metrics into downstream cold-email columns (Instantly, Smartlead, Lemlist).
2. **n8n / Make.com:** Trigger on a schedule (daily/weekly) -> call `https://api.apify.com/v2/acts/church_of_loujess~shopify-app-reviews-leads-scraper/run-sync-get-dataset-items?token=<TOKEN>` -> route verified leads directly to HubSpot, Slack, Google Sheets, or Airtable.

### Frequently Asked Questions (FAQ)

#### Do I need to configure proxies or cookies?

No. `church_of_loujess/shopify-app-reviews-leads-scraper` works out-of-the-box with **zero cookies, zero login credentials, and zero residential proxies required**.

#### Can I export results to CSV, Excel, JSON, or Parquet?

Yes. Every run writes clean, flattened fields plus rich nested metadata to your default Apify Dataset, supporting one-click export to **CSV, XLSX, JSON, JSONL, XML, or RSS** as well as direct webhook delivery.

#### What happens on large batch runs near the timeout limit?

All Actors in our portfolio stream results incrementally (`pushData`) and monitor `APIFY_TIMEOUT_AT` so completed leads are preserved cleanly without losing partial progress.

***

### Explore Our B2B Lead Generation & Social Intelligence Suite

Chain this Actor with our other **zero-proxy, 256MB-optimized Apify Actors** inside **n8n, Make.com, Clay, LangChain, or Claude/Cursor MCP**:

| Actor | Best For | Store Link |
| :--- | :--- | :--- |
| **TikTok Search Scraper (Fast)** | Keywords, hashtags, spoken transcripts & creator discovery | [Open in Apify Store](https://apify.com/church_of_loujess/tiktok-search-scraper) |
| **TikTok Profile & Bio Email Scraper** | Bulk `@username` stats, bio emails, posts & ASR subtitles | [Open in Apify Store](https://apify.com/church_of_loujess/tiktok-profile-scraper) |
| **TikTok Viral Hook & Outlier Cloner** | Exact first-3s spoken hooks, WPM pace & outlier ratios | [Open in Apify Store](https://apify.com/church_of_loujess/tiktok-viral-hook-script-scraper) |
| **Linktree & Bio-Link B2B Email Finder** | Creator, coach & agency emails, Calendly links & storefronts | [Open in Apify Store](https://apify.com/church_of_loujess/linktree-bio-email-leads-scraper) |
| **Shopify App Reviews & Churn Leads** | 1-2 star competitor churn reviews -> resolved store emails | [Open in Apify Store](https://apify.com/church_of_loujess/shopify-app-reviews-leads-scraper) |
| **Substack Newsletter & Sponsor Finder** | Niche newsletter authors, subscriber scale & sponsor emails | [Open in Apify Store](https://apify.com/church_of_loujess/substack-newsletter-leads-scraper) |
| **Show HN & Product Hunt Founder Leads** | Newly launched tech startups, domains & founder emails | [Open in Apify Store](https://apify.com/church_of_loujess/hackernews-producthunt-leads-scraper) |
| **GitHub Verified Developer & CTO Leads** | Stargazers, contributors & commit-verified B2B emails | [Open in Apify Store](https://apify.com/church_of_loujess/github-email-leads-scraper) |
| **Reddit Fast Buyer-Intent Scraper** | Subreddits, buyer-intent search & nested comment trees | [Open in Apify Store](https://apify.com/church_of_loujess/reddit-scraper-fast) |
| **YouTube Channel Sponsorship Leads** | Creator business emails, social handles & external links | [Open in Apify Store](https://apify.com/church_of_loujess/youtube-channel-email-leads-scraper) |
| **Telegram Public Channel Scraper** | Crypto, OSINT & community feeds + extracted links/emails | [Open in Apify Store](https://apify.com/church_of_loujess/telegram-scraper) |
| **Website Contact Email & Phone Crawler** | Bulk domain contact page email, phone & social extraction | [Open in Apify Store](https://apify.com/church_of_loujess/website-email-phone-finder) |

# Actor input Schema

## `apps` (type: `array`):

List of Shopify App Store URLs or app slugs (e.g. \['klaviyo-email-marketing', 'https://apps.shopify.com/gorgias', 'yotpo-social-reviews']).

## `starRatings` (type: `array`):

Star ratings to include (1 to 5). Use \[1, 2] to target unhappy merchants ready to switch tools, or \[1, 2, 3, 4, 5] for all reviews.

## `sortBy` (type: `string`):

Sort reviews by newest first ('newest') or relevance ('relevance').

## `maxReviewsPerApp` (type: `integer`):

Maximum number of merchant reviews to extract per Shopify app.

## `resolveMerchantContacts` (type: `boolean`):

Automatically discovers each reviewing merchant's live storefront URL and crawls /pages/contact & /contact for verified business emails, phone numbers, and social profiles.

## `onlyWithEmail` (type: `boolean`):

When enabled, filters output to merchants where at least one deliverable contact email was resolved.

## `proxyConfiguration` (type: `object`):

Optional proxy settings. Works out-of-the-box with direct connections at 256MB.

## Actor input object example

```json
{
  "apps": [
    "klaviyo-email-marketing"
  ],
  "starRatings": [
    1,
    2
  ],
  "sortBy": "newest",
  "maxReviewsPerApp": 10,
  "resolveMerchantContacts": true,
  "onlyWithEmail": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "apps": [
        "klaviyo-email-marketing"
    ],
    "starRatings": [
        1,
        2
    ],
    "maxReviewsPerApp": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("church_of_loujess/shopify-app-reviews-leads-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "apps": ["klaviyo-email-marketing"],
    "starRatings": [
        1,
        2,
    ],
    "maxReviewsPerApp": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("church_of_loujess/shopify-app-reviews-leads-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "apps": [
    "klaviyo-email-marketing"
  ],
  "starRatings": [
    1,
    2
  ],
  "maxReviewsPerApp": 10
}' |
apify call church_of_loujess/shopify-app-reviews-leads-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,church_of_loujess/shopify-app-reviews-leads-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/QF9CRA4GacNO8rqGD/builds/1N0M0bRoE2OHOlqYW/openapi.json
