# Shopify App Store Intelligence: Rivals and Reviews (`precious_bathmat/shopify-app-intelligence`) Actor

Pick a Shopify app category and see who leads it, who is actually growing, what they charge, and what merchants complain about in their one and two star reviews. Built for app developers and agencies. No API key, no login.

- **URL**: https://apify.com/precious\_bathmat/shopify-app-intelligence.md
- **Developed by:** [Mariam Ahmed](https://apify.com/precious_bathmat) (community)
- **Categories:** E-commerce, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 app analyseds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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 Intelligence: Rivals and Reviews

Pick a Shopify app category and find out **who leads it, who is actually growing, what they charge, and what merchants complain about** — read from the public App Store listings.

No API key, no login, no proxy.

### What does this do?

Every app in the Shopify App Store shows a star rating, and nearly all of them show 4.8 or better. That number tells you almost nothing: it cannot tell a category leader coasting on eight years of reviews from a newcomer pulling ahead this month, and it certainly will not tell you what the unhappy merchants are unhappy about.

This Actor reads a category, then for each app reads its listing **and its reviews twice**: the recent stream, for how fast it is growing, and the one and two star reviews specifically, for what is going wrong.

```mermaid
flowchart LR
    A[Category or search] --> B[App listings]
    B --> C[Rating, price tiers,<br/>launch date, developer]
    B --> D[Recent reviews<br/>growth rate]
    B --> E[1-2 star reviews<br/>complaint themes]
    C & D & E --> F[Ranked: who leads,<br/>who moves, what hurts]
```

### Who is it for?

| You are | You use it to |
|---|---|
| **A Shopify app developer** | See what rivals charge, and read the complaints they have not fixed |
| **Thinking of building an app** | Find a category where the leaders are disliked for something specific |
| **An agency choosing apps for clients** | Pick on evidence rather than on a 4.9 everyone has |
| **An investor looking at ecommerce tooling** | See which apps are gaining reviews fastest right now |

### What data do you get?

One row per app:

| Field | What it is |
|---|---|
| `name`, `developer`, `launched`, `url` | Who makes it and since when |
| `rating`, `ratingCount` | The public star rating and how many reviews it rests on |
| `freePlan`, `priceTiers`, `lowestPaidPrice`, `highestPrice` | Every monthly price on the listing |
| `position`, `whyPosition` | Leader, challenger, established or niche **within the set analysed** |
| `momentum`, `whyMomentum` | How fast it is gaining reviews against its rivals |
| `reviewsPerMonthRecent` / `Lifetime` | The recent rate, and the all-time average |
| `reviewRateVsOwnHistory` | Recent rate ÷ lifetime rate, as a number |
| `recentUnhappySharePercent` | Share of the recent stream that was 1-2 stars |
| `complaints`, `praise` | Themes, each with a count and a real quote |
| `starsOfReviewsRead`, `reviewsRead`, `negativeReviewsRead` | Exactly what the numbers were computed from |

### Example: product review apps, September 2026

| App | Position | Momentum | Reviews | Complaints found |
|---|---|---|---|---|
| **Judge.me** | leader | **fastest growing** (54/mo) | 47,262 | Bugs (2), Hard to set up (1), Missing features (1) |
| Loox | challenger | average (7/mo) | 9,648 | — |
| AG Product Reviews | established | average (9/mo) | 3,160 | **Bugs (3)**, Missing features (1), Uninstall leftovers (1) |
| Ali Reviews | established | average | — | **Uninstall leftovers (3)**, Bugs (2), Pricing (1) |
| Junip | established | below average (5/mo) | 1,155 | Support slow (1), Bugs (1) |

Judge.me has forty-seven thousand reviews *and* is still collecting them faster than anyone else in the category. That is the fact a 5.0 star rating hides, and it is the one that should decide whether you enter this category at all.

### How the numbers are made, and what they are not

- **Install counts are not public.** Review volume is the only available proxy for scale, and review velocity for growth. That is said on every row rather than dressed up as "installs".
- **Momentum is measured against rivals, not against the app's own past.** An earlier version compared each app to its own lifetime average and graded **all eight apps in a category "stalled"** — mature apps accumulate their lifetime average during the years the whole store was growing. A measure where everybody loses tells a competitor nothing, so the benchmark is now the median recent rate of the set.
- **Position is relative to the apps analysed**, never a claim about the whole Store. "Leader" means most reviewed *in this run*.
- **Themes are keyword matching, not comprehension.** Each theme counts reviews containing known phrases and quotes one of them, so every number can be checked against a real sentence. It is described that way in the output itself.
- **The complaints are fetched deliberately.** A five star app's recent pages contain almost no unhappy merchants — the first version of this Actor found no complaint themes at all. The one and two star reviews are now requested directly, which is why complaints appear even for apps rated 5.0.
- **`recentUnhappySharePercent` is about the recent stream only.** It sits next to `negativeReviewsRead`, which comes from the filtered pass and will usually be a much larger number. They measure different things on purpose.

### Popular category reports

Ready-made runs you can open and start, or copy as a starting point:

- [Best Shopify Apps, Ranked by Real Reviews](https://apify.com/precious_bathmat/shopify-app-intelligence/examples/best-shopify-apps-by-category)
- [Shopify Product Review Apps Compared](https://apify.com/precious_bathmat/shopify-app-intelligence/examples/shopify-product-review-apps)
- [Shopify Email Marketing Apps Compared](https://apify.com/precious_bathmat/shopify-app-intelligence/examples/shopify-email-marketing-apps)
- [Shopify SEO Apps Compared](https://apify.com/precious_bathmat/shopify-app-intelligence/examples/shopify-seo-apps)
- [Shopify Upsell and Bundle Apps Compared](https://apify.com/precious_bathmat/shopify-app-intelligence/examples/shopify-upsell-apps)
- [Shopify Dropshipping Apps Compared](https://apify.com/precious_bathmat/shopify-app-intelligence/examples/shopify-dropshipping-apps)
- [Shopify Shipping Apps Compared](https://apify.com/precious_bathmat/shopify-app-intelligence/examples/shopify-shipping-apps)
- [Shopify Store Design and Page Builder Apps](https://apify.com/precious_bathmat/shopify-app-intelligence/examples/shopify-store-design-apps)
- [What Merchants Complain About in Shopify Apps](https://apify.com/precious_bathmat/shopify-app-intelligence/examples/shopify-app-complaints)
- [Fastest Growing Shopify Apps](https://apify.com/precious_bathmat/shopify-app-intelligence/examples/fastest-growing-shopify-apps)
- [Shopify App Pricing Comparison](https://apify.com/precious_bathmat/shopify-app-intelligence/examples/shopify-app-pricing-comparison)
- [Shopify App Competitor Research](https://apify.com/precious_bathmat/shopify-app-intelligence/examples/shopify-app-competitor-research)
- [Shopify Store Management Apps Compared](https://apify.com/precious_bathmat/shopify-app-intelligence/examples/shopify-store-management-apps)
- [Shopify Sales Channel and Marketplace Apps](https://apify.com/precious_bathmat/shopify-app-intelligence/examples/shopify-sales-channel-apps)
- [Shopify Currency and Translation Apps](https://apify.com/precious_bathmat/shopify-app-intelligence/examples/shopify-currency-translation-apps)

### Pricing

**$0.01 per app analysed** and **$0.002 per page of reviews read**. A run with reviews switched off is only charged the first.

Twenty apps with three pages of reviews each costs about **$0.30**. The same twenty apps without reviews costs $0.20.

### Input

| Setting | What it does |
|---|---|
| **App category** | Which App Store category to analyse, from the main ones and the popular subcategories |
| **Specific apps** | Optional. App names from their store URL, or full links. Overrides the category |
| **Search term** | Optional. Analyse whatever a search returns, for example "abandoned cart" |
| **Maximum apps** | How many to analyse, most reviewed first |
| **Read reviews** | Off gives a plain, cheaper ranking with prices and ratings only |
| **Review pages per app** | About 10 reviews per page; three is enough for the rate and the common complaints |
| **Minimum total reviews** | Skip brand new apps with nothing to read |

### Integrations

Runs on a schedule and connects to Google Sheets, Slack, Zapier, Make or your own code through the Apify API. Run it monthly against your category and the complaint themes become a backlog of things your rivals have not fixed.

# Actor input Schema

## `category` (type: `string`):

Which App Store category to analyse. Ignored if you list specific apps or give a search term.

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

Optional. App names from their store URL, for example "judgeme" or "loox". A full apps.shopify.com link works too. Overrides the category.

## `search` (type: `string`):

Optional. Analyse the apps returned for a search, for example "abandoned cart". Overrides the category.

## `maxApps` (type: `integer`):

How many apps to analyse. Each costs $0.01, plus $0.002 per page of reviews read.

## `readReviews` (type: `boolean`):

Read recent reviews to work out growth, the share of unhappy merchants, and what they complain about. Turn off for a plain, cheaper ranking.

## `reviewPages` (type: `integer`):

Each page holds about 10 reviews. Three pages is enough to see the recent rate and the common complaints.

## `minReviews` (type: `integer`):

Skip apps with fewer reviews than this. Useful for ignoring brand new apps.

## Actor input object example

```json
{
  "category": "marketing-and-conversion",
  "apps": [],
  "search": "",
  "maxApps": 20,
  "readReviews": true,
  "reviewPages": 3,
  "minReviews": 0
}
```

# Actor output Schema

## `apps` (type: `string`):

Every app analysed, most reviewed first.

## `summary` (type: `string`):

What was found and what could not be read.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("precious_bathmat/shopify-app-intelligence").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("precious_bathmat/shopify-app-intelligence").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 '{}' |
apify call precious_bathmat/shopify-app-intelligence --silent --output-dataset

```

## MCP server setup

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

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/jhzw6QyiutjcxfP1z/builds/Ge5pWkLvVFqWbMdVh/openapi.json
