# Shopify App Store Pricing Export (`lovely_sequoia/shopify-app-pricing-export`) Actor

Export Shopify App Store pricing plans, trials and stated usage charges to JSON and CSV. Compare up to 10 app URLs per run; $0.02 per verified app, usage included.

- **URL**: https://apify.com/lovely\_sequoia/shopify-app-pricing-export.md
- **Developed by:** [Kris Jensen](https://apify.com/lovely_sequoia) (community)
- **Categories:** E-commerce, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$20.00 / 1,000 verified app pricing reports

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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Shopify App Store Pricing Export

Compare published Shopify App Store pricing for a shortlist of apps in JSON and CSV. Submit 1–10 public app listing URLs to export plan prices, billing intervals, free-plan labels, trials and stated additional charges.

### Price

**$0.02 per verified, delivered app report, including platform usage.** There is no startup fee or per-plan fee. One app with three plans costs $0.02; ten successfully reported apps cost $0.20. Invalid or unverified pages are not charged. Duplicate URLs produce one report.

This beta is scheduled to end on **September 19, 2026 at 04:41 UTC** (September 18 at 9:41 p.m. Pacific). New runs stop after that time unless the availability notice is updated. There is no subscription or automatic renewal.

### Inspect the output before running

[View a complete three-app sample](https://gist.github.com/krisco65/5178e34dc11ba9ca68a32bc8cdcb9975), including nine plan rows, source evidence and matching input. Download the [sample CSV](https://gist.githubusercontent.com/krisco65/5178e34dc11ba9ca68a32bc8cdcb9975/raw/e44dc39b72851b3b19cf7d6c0b24640b4dec7a39/sample-pricing.csv) or [sample JSON](https://gist.githubusercontent.com/krisco65/5178e34dc11ba9ca68a32bc8cdcb9975/raw/cdf0c3a9fc47173e3dfc903fd6b56c25204b16b5/sample-report.json). These are historical public listing snapshots retrieved September 5, 2026 at approximately 03:33 UTC and reparsed locally. They are not a fresh quote or a customer-paid run.

Inspect `additionalChargesText` and `monetaryTermsText` together with the base `amount`: per-location charges, contact tiers or SMS rates can materially change a total. The exporter preserves source statements and does not calculate a personalized bill.

### Run an export

1. Enter exact listing URLs in `appUrls`, then start the Actor.
2. Open the completed run's default dataset to view one record per verified app.
3. Open the run's default key-value store to download **OUTPUT** for the complete JSON result and **PRICING.csv** for one row per plan. OUTPUT also contains any failures.

```json
{
  "appUrls": [
    "https://apps.shopify.com/loox",
    "https://apps.shopify.com/judgeme"
  ]
}
```

Use `https://apps.shopify.com/<app-slug>` URLs without query strings, fragments or login credentials. Search pages, category pages and private merchant pages are unsupported. A redirected listing is identified by its final URL and published app name.

### What the report contains

Each app report includes its name, source URL and retrieval timestamp, followed by its pricing plans. Plan fields include:

- `amount`, `currency`, `interval` and explicitly displayed alternative billing options.
- `kind`, distinguishing a free plan from **free to install**, which may still incur charges.
- `freeTrialDays` and `additionalChargesText` where stated in the pricing section.
- `usageLimitsText`, containing narrowly recognized quantitative limits such as “Up to 500 orders.”
- Short source evidence for the extracted pricing facts.

The app-level `billingStatement` and `externalBilling` fields preserve stated billing context. CSV includes the plan fields; JSON also includes the app-level context and failures.

For example, this shortened excerpt comes from the public [Loox listing](https://apps.shopify.com/loox), retrieved September 5, 2026 at 01:44 UTC:

```json
{
  "name": "Convert",
  "kind": "recurring",
  "amount": "49.99",
  "currency": "USD",
  "interval": "month",
  "freeTrialDays": 14,
  "additionalChargesText": "300 orders included in base price + $50 per additional 300 orders"
}
```

At the same retrieval, Loox's Beginner plan was labeled free with “Up to 500 orders,” and Unlimited was $299.99/month with a 14-day trial. These are historical examples, not a promise of current prices.

### Limits and failures

This is a snapshot of the public listing's pricing section, not a personalized cost quote or a complete inventory of contractual terms. Currency is recorded only when explicitly stated. `usageLimitsText` extracts a narrow set of quantitative phrases; it can omit limits expressed differently. Other marketing features are omitted. Check the linked source before buying an app.

A null field or empty list means a value was not stated or detected, not that a trial, usage limit or additional charge does not exist. “Verified” means the supported pricing layout was recognized; it does not independently verify the app vendor's claims.

Inaccessible pages and unrecognized pricing layouts appear in OUTPUT's `failures` with an unverified status and reason. Other valid apps in the batch can still produce reports. The exporter respects robots.txt and does not bypass access restrictions. It does not collect merchant records, contact details, personal IP addresses, reviews or media, and it requires no Shopify login.

Exports are on demand; this Actor does not monitor later price changes or send alerts. For an extraction problem, use the Actor's Issues tab with the public listing URL and run ID. Do not include merchant credentials or private customer data.

Documentation revised September 5, 2026.

#### Pricing qualifiers in feature lines

`monetaryTermsText` retains detected per-unit prices and narrow pricing qualifiers stated inside plan features, such as a per-location charge or an SMS add-on rate. `usageLimitsText` preserves detected numeric limits. These are source statements, not calculated totals; an empty array does not guarantee that no other limits or fees apply.

# Actor input Schema

## `appUrls` (type: `array`):

1–10 exact https://apps.shopify.com/app-slug URLs, without query strings or fragments. Duplicate URLs produce one report.

## Actor input object example

```json
{
  "appUrls": [
    "https://apps.shopify.com/loox"
  ]
}
```

# Actor output Schema

## `reports` (type: `string`):

One dataset record per verified app, including its pricing plans and source context.

## `json` (type: `string`):

Complete report bundle with verified reports and unverified failures.

## `csv` (type: `string`):

Spreadsheet-safe CSV with one row per pricing plan.

# 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 = {
    "appUrls": [
        "https://apps.shopify.com/loox"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("lovely_sequoia/shopify-app-pricing-export").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 = { "appUrls": ["https://apps.shopify.com/loox"] }

# Run the Actor and wait for it to finish
run = client.actor("lovely_sequoia/shopify-app-pricing-export").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 '{
  "appUrls": [
    "https://apps.shopify.com/loox"
  ]
}' |
apify call lovely_sequoia/shopify-app-pricing-export --silent --output-dataset

```

## MCP server setup

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

```

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/GcS1ruExKHe6TWQ12/builds/ZE0WDtZvyxFFs0OAL/openapi.json
