# Shopify App Store Scraper & App Intelligence (`steadywren/shopify-app-store-scraper`) Actor

Shopify App Store scraper: reviews of any Shopify app at $0.10 per 1,000, plus an optional app report ($0.002 each): review velocity and rating trends, rating by country, new-merchant churn signal, developer reply rate, complaint spikes, category ranks, plan and listing changes with alerts.

- **URL**: https://apify.com/steadywren/shopify-app-store-scraper.md
- **Developed by:** [Steadywren](https://apify.com/steadywren) (community)
- **Categories:** E-commerce, Developer tools, SEO tools
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.10 / 1,000 reviews

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 Scraper & App Intelligence

Shopify App Store scraper for your app and your competitors: export **Shopify app reviews** (rating, text, store country, developer reply) **and an app report for each app** - **review velocity** and rating trends, **rating by store country**, a **new-merchant churn signal**, **how fast the developer answers** and which bad reviews are still unanswered, **complaint spikes**, **category ranks**, and **plan, price and listing changes** between runs with alerts. Reviews cost **$0.10 per 1,000**; each app report costs **$0.002** and can be switched off.

![Shopify App Store Scraper & App Intelligence - example output](https://steadywren.com/assets/screens/shopify-app-store-scraper.png)

### Why this Actor

One run gives you the reviews, the listing data and the analysis of both:

- **Review trends**: reviews in the last 7 and 30 days and the change against the 30 days before, rating per week, rating by store country, and how stores in their first month rate the app compared with long-time users.
- **Developer reply analytics**: reply rate, median reply time and the 1-2 star reviews still waiting for an answer.
- **Change tracking with alerts**: new reviews per day, rating change, added / removed / repriced plans, the Built for Shopify badge, listing changes (name, tagline, description, screenshots, languages, integrations) and category rank moves since your last run.
- **Every extra can be switched off**: turn the analytics off and you get a plain, fast review scraper - and no app report charge.

### What you get

- **Reviews**: rating, text, date, store name and country, how long the store has used the app ("Almost 4 years using the app" and in days), the developer's reply with its date, and a link to the review. All reviews of an app are available (Klaviyo: 3,400+).
- **Filters**: star ratings, date range, keywords, store countries, answered / unanswered by the developer, sort by newest or relevance.
- **App report** (one per app, in its own **App reports** table in the Output tab): rating and share of each star, review count, developer, launch date, categories, languages, integrations ("Works with"), every pricing plan with its price, period, extra charges and a USD price, the cheapest paid plan, Built for Shopify, tagline and "More apps like this" - plus the analytics below.
- **Review trends** (`reviewTrends`): `reviewsLast7Days`, `reviewsLast30Days`, `reviewsPrevious30Days`, `velocityChange`, `weeklyRating`, `ratingByCountry` (top 10 countries with 3+ reviews), `newMerchants` vs `establishedMerchants` (stores using the app for under / over 30 days: reviews, average rating, share of 1-2 star reviews).
- **Developer replies** (`developerReplies`): `replyRate`, `negativeReplyRate` (1-2 stars), `medianReplyHours`, and `unansweredNegative`: up to 5 newest 1-2 star reviews of the last 90 days without a reply.
- **Complaint topics and spikes** (`complaintTopics`): every review tagged with `crash`, `bugs`, `login`, `billing`, `ads`, `performance`, `ui` or `feature_request` (English, German, French, Spanish, Ukrainian); top complaints with their share; `complaintSpikes` when a topic jumps in the last 7 days.
- **Category ranks** (`categoryRanks`): the organic position of the app in each of its categories (paid "Ad" placements are skipped), searched in the first `categoryPages` pages (about 24 apps per page).
- **Changes between runs** (`trackChanges`): see "Why this Actor", and `alerts` such as `rating_drop`, `pricing_changed`, `built_for_shopify_lost`, `listing_changed:tagline,languages`, `rank_drop:<category>`, `rank_lost:<category>`, `complaint_spike:billing`.
- **Similar apps** (`compareSimilarApps`, off by default): an app report for the apps Shopify lists under "More apps like this". These reports are made one by one with a short pause; if Shopify rate-limits their review pages, the report still comes with the listing data and `reviewsUnavailable: true`.
- **Competitor comparison**: all apps of a run side by side in the `COMPARISON` record (Output tab) when the run has 2 or more apps.

The analytics read the newest 500 reviews of each app (`analysisDepth`). They are not output and not charged.

### Example: app report

```json
{
    "type": "app",
    "appHandle": "klaviyo-email-marketing",
    "appName": "Klaviyo: Email Marketing & SMS",
    "developer": "Klaviyo",
    "storeRating": 4.7,
    "reviewCount": 3429,
    "ratingHistogram": { "1": 0.08, "2": 0.01, "3": 0.01, "4": 0.02, "5": 0.88 },
    "builtForShopify": false,
    "launchedAt": "2012-09-20T00:00:00.000Z",
    "categories": [{ "name": "Email marketing", "handle": "marketing-and-conversion-marketing-email-marketing" }],
    "languages": ["English", "French", "Spanish", "German", "Portuguese (Brazil)", "Korean", "Italian", "Polish", "Swedish", "Dutch", "Japanese"],
    "worksWith": ["Checkout", "Customer accounts", "Shopify Flow", "Shopify Admin", "Aftership", "Gorgias", "Meta Advertising", "Recharge", "TikTok Advertising", "Typeform"],
    "pricingPlans": [
        { "name": "Free", "priceText": "Free to install", "price": 0, "currency": null, "priceUsd": 0, "period": null, "note": "Email marketing built into Shopify Admin — no separate account needed." },
        { "name": "SMS", "priceText": "$15/month", "price": 15, "currency": "USD", "priceUsd": 15, "period": "month", "note": "Up to 1250 SMS/MMS credits. Includes carrier fees. Upgrade as you grow." }
    ],
    "hasFreePlan": true,
    "lowestPaidPriceUsd": 15,
    "tagline": "Build email marketing, SMS, and WhatsApp campaigns powered by AI to grow ecommerce sales.",
    "isSimilarApp": false,
    "similarApps": ["shopify-messaging", "omnisend", "mailchimp"],
    "reviewsUnavailable": false,
    "reviewsAnalyzed": 500,
    "recentRating": 4.83,
    "trends": {
        "reviewsLast7Days": 18,
        "reviewsLast30Days": 85,
        "reviewsPrevious30Days": 92,
        "velocityChange": -0.08,
        "weeklyRating": [{ "weekStart": "2026-10-26T21:29:01.632Z", "reviews": 18, "avgRating": 4.78 }],
        "ratingByCountry": [{ "country": "United States", "reviews": 218, "avgRating": 4.88 }, { "country": "Germany", "reviews": 20, "avgRating": 4.4 }],
        "newMerchants": { "reviews": 95, "avgRating": 4.83, "negativeShare": 0.04 },
        "establishedMerchants": { "reviews": 402, "avgRating": 4.83, "negativeShare": 0.04 }
    },
    "replies": {
        "replyRate": 0.92,
        "negativeReplyRate": 0.85,
        "medianReplyHours": 48,
        "unansweredNegative": [{ "reviewId": "2379658", "rating": 1, "text": null, "date": "2026-09-30T00:00:00.000Z", "storeCountry": "Canada" }]
    },
    "topComplaints": [{ "topic": "billing", "share": 0.02 }, { "topic": "bugs", "share": 0.01 }],
    "complaintSpikes": [],
    "categoryRanks": [
        { "category": "marketing-and-conversion-marketing-email-marketing", "name": "Email marketing", "rank": 2, "checked": true }
    ],
    "changes": { "daysSincePrevious": 1, "newReviews": 3, "newReviewsPerDay": 3, "storeRatingChange": 0, "listingChanged": [], "pricingChanged": null, "builtForShopifyChanged": null, "rankChanges": {} },
    "alerts": []
}
```

Reading it: Klaviyo got 85 reviews in the last 30 days (8% fewer than the 30 days before), answers 92% of reviews (median reply time two days), ranks #2 in Email marketing, and German stores rate it lower (4.4) than US stores (4.88). (Real run, shortened; prices shown in USD and the `changes` numbers are illustrative - `changes` is filled from the second run on.)

### Example: review

```json
{
    "type": "review",
    "reviewId": "2415688",
    "appHandle": "klaviyo-email-marketing",
    "appName": "Klaviyo: Email Marketing & SMS",
    "url": "https://apps.shopify.com/reviews/2415688",
    "rating": 5,
    "text": "The Composer makes everything so much easier.",
    "date": "2026-11-02T00:00:00.000Z",
    "storeName": "AGR5V",
    "storeCountry": "Australia",
    "usageText": "6 months using the app",
    "usageDays": 180,
    "replyText": "We are so glad that the Composer tool has beneficial to your workflow!",
    "replyDate": "2026-11-02T00:00:00.000Z",
    "topics": [],
    "isNew": true,
    "scrapedAt": "2026-11-02T21:29:01.632Z"
}
```

### How much does it cost?

**$0.10 per 1,000 reviews** and **$2 per 1,000 app reports** (one report per app; none when every analytics option is off), plus a small Actor start fee charged by Apify. Platform compute is included. Example: your app + 3 competitors with 100 reviews each costs about $0.05 per run.

### Use cases

- **Release and support monitoring**: schedule daily with your app and *Only new reviews*; act on `alerts` and work through `unansweredNegative`.
- **Onboarding and churn**: watch `newMerchants.negativeShare` - bad reviews in the first month point at setup, billing or onboarding problems.
- **Competitor research**: add competitors (or turn on *Compare similar apps*) and follow their review velocity, ratings by country, plans and prices, and category ranks.
- **Market and pricing research**: compare plans in USD across a category; get `pricing_changed` alerts when a competitor reprices.

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `apps` | array | Klaviyo | Shopify App Store URLs or app handles (e.g. `klaviyo-email-marketing`). |
| `maxReviewsPerApp` | integer | 100 | Reviews to output per app (0 = reports only), up to 5,000. |
| `sort` | string | `newest` | `newest` or `relevant`. |
| `stars` | array | all | Only these star ratings. |
| `dateFrom`, `dateTo` | date | - | Only reviews written in this range (inclusive). |
| `keywords` | array | - | Only reviews mentioning any of these words. |
| `countries` | array | - | Only reviews from stores in these countries (e.g. `United States`). |
| `replyFilter` | string | `any` | `withReply` or `withoutReply`. |
| `includeReviews` | boolean | `true` | Output one result per review. |
| `reviewTrends` | boolean | `true` | Review velocity, weekly rating, rating by country, new vs established merchants. |
| `developerReplies` | boolean | `true` | Reply rate, reply time, unanswered negative reviews. |
| `complaintTopics` | boolean | `true` | Topics on reviews, top complaints, spikes. |
| `categoryRanks` | boolean | `true` | Organic position in each of the app's categories. |
| `categoryPages` | integer | 3 | Category pages searched for the rank (about 24 apps each). |
| `trackChanges` | boolean | `true` | Remember each app between runs (key-value store `shopify-app-store-history` in your account) for changes and alerts. |
| `onlyNew` | boolean | `false` | Output only reviews earlier runs have not returned. |
| `compareSimilarApps` | boolean | `false` | Add reports for "More apps like this" (charged per report). |
| `similarAppsCount` | integer | 3 | Similar apps per app. |
| `analysisDepth` | integer | 500 | Newest reviews read per app for the analytics (not charged). |
| `proxyConfiguration` | object | off | Not needed usually. |

When every analytics option is off, the Actor is a plain review scraper: no app reports, no category pages.

With an empty input the Actor returns the 100 newest Klaviyo reviews and one app report (21-31 seconds in our test runs).

### Monitor daily

1. Console -> **Schedules** -> create a schedule for this Actor (or for a saved task with your apps) and let it run daily.
2. Turn on *Only new reviews*: each run outputs only reviews earlier runs did not return (`isNew: true`).
3. Keep *Track changes* on: the app reports then show new reviews per day, rating, plan, listing and rank changes since the last run and `alerts` such as `rating_drop`, `pricing_changed`, `built_for_shopify_lost`, `rank_drop:<category>` and `complaint_spike:<topic>`.
4. Actor -> **Integrations**: send every finished run to Slack, email, Google Sheets or your own webhook.

### FAQ

**Where are the app reports?** In their own table, so reviews and reports both have clean columns: run page -> Output tab -> **App reports** (or Storage -> Dataset -> `reports`). Reviews stay in the main dataset, which the Export button and the default API endpoint return. Via API: `GET /v2/actor-runs/<runId>` -> `storageIds.datasets.reports` gives the dataset id, then `/v2/datasets/<id>/items`.

**Why are some counts in `trends` empty (`null`)?** A count is given only when the analyzed reviews reach past the start of its period (7, 30 or 60 days), or when they are all reviews of the app; otherwise it would be cut off. For apps with many reviews 500 reviews can cover just a few weeks - raise `analysisDepth` (up to 3,000, not charged). The same holds for `complaintSpikes`, which needs 5 weeks of reviews.

**Why is `medianReplyHours` a multiple of 24?** Shopify shows review and reply dates without a time, so reply time is counted in whole days: 0 = the same day, 24 = the next day.

**Why is `storeRating` empty for some apps?** New apps without reviews have no rating yet (`storeRating: null`, `reviewCount: null`); the report is still made.

**Why are plan prices in another currency?** Shopify shows prices in the visitor's local currency. On Apify's servers that is USD; when it is not, `priceUsd` converts the price with the exchange rate Shopify prints on the page.

**Why do some reviews have no text?** Shopify allows star-only reviews, and many reviews (35-48% in our test run of two apps) have only a rating; they count in every rating but have `text: null`.

**Why is `usageText` empty for some reviews?** Shopify does not show the "… using the app" line for every store; then `usageText` and `usageDays` are `null`. Under one day, `usageDays` is a fraction of a day rounded to one decimal (8 hours = 0.3; about an hour or less = 0).

**What is a "new merchant"?** A store that wrote its review in its first 30 days with the app, from Shopify's "… using the app" line. Bad reviews there usually point at installation, onboarding or billing problems.

**How is the category rank counted?** In the order Shopify lists apps in the category ("All" view), skipping paid "Ad" placements. Apps beyond `categoryPages` pages get `rank: null`; with change tracking, falling out of those pages raises `rank_lost`. A category that could not be read in a run has `checked: false` and keeps its last known rank (no alert).

**Is the history shared between my runs?** Yes - all runs and tasks of your account use the key-value store `shopify-app-store-history`, one record per app. A manual run marks reviews as seen for a scheduled *Only new reviews* task too. Turn *Track changes* off for one-off runs, or delete the store to start over.

**How are topics found?** By keywords and phrases in English, German, French, Spanish and Ukrainian. Every review is tagged with its topics at any rating; `topComplaints` and `complaintSpikes` count only reviews of 3 stars or less (and `feature_request` at any rating).

**Why does an app report have `reviewsUnavailable: true`?** Shopify rate-limited (or failed) the app's review pages even after several retries. The report keeps the listing data (rating, review count, plans, categories, ranks, changes); the review analytics (`recentRating`, `trends`, `replies`, `topComplaints`, `complaintSpikes`) are `null` and no reviews are output for that app. Try fewer similar apps (`similarAppsCount`) or turn on a proxy.

**Is it legal?** The Actor reads only public Shopify App Store pages - no login, no search pages (Shopify's robots.txt disallows them). Store names are the merchants' business names. Check Shopify's terms for your use case.

**Something broke?** Open an issue on the Actor page - we answer within 12 hours.

### More from Steadywren

- [Google Play Reviews Scraper](https://apify.com/steadywren/google-play-reviews-scraper) - Play Store reviews of Android apps with release health, developer reply rate and installs per day.
- [App Store Reviews Scraper](https://apify.com/steadywren/apple-app-store-reviews-scraper) - iOS app reviews in any country with release health, competitor releases and subscription prices.

**Who builds this?** [Steadywren](https://steadywren.com) - small tools, steady results. More products and custom builds on [steadywren.com](https://steadywren.com).

### Technical details

- Sources: the public app page (embedded app data, plans, details, "More apps like this"), review pages (10 reviews per page) and category listings. Plain HTTP, no browser, no proxy by default.
- Retries: network errors, 5xx and 403 are retried with backoff; 429 (rate limit) waits longer (5 s, 10 s, 20 s... up to 60 s, or Shopify's `Retry-After`); an app that does not exist is skipped with a warning.
- Every run stores a `RUN_SUMMARY` record and fails when no app is found, when requests failed and nothing was delivered, when apps with 100+ reviews delivered none, or when the key report fields (`appName`, `storeRating`, `pricingPlans`) are empty in most results. No new reviews, or no reviews matching the filters, is a successful run.

# Actor input Schema

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

Shopify App Store URLs or app handles (e.g. klaviyo-email-marketing). Add your competitors to get a side-by-side comparison.

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

Reviews to output per app (you pay per review). 0 = reports only.

## `sort` (type: `string`):

Order in which Shopify returns reviews.

## `stars` (type: `array`):

Only reviews with these ratings. Leave empty for all.

## `dateFrom` (type: `string`):

Only reviews written on or after this day (YYYY-MM-DD).

## `dateTo` (type: `string`):

Only reviews written on or before this day (YYYY-MM-DD).

## `keywords` (type: `array`):

Only reviews that mention any of these words (case-insensitive).

## `countries` (type: `array`):

Only reviews from stores in these countries, as Shopify shows them (e.g. United States, Germany).

## `replyFilter` (type: `string`):

Keep reviews by whether the developer answered.

## `includeReviews` (type: `boolean`):

One result per review: rating, text, date, store name and country, how long the store has used the app, developer reply. Turn off to get only the app reports.

## `reviewTrends` (type: `boolean`):

Reviews in the last 7 / 30 days and the change against the 30 days before, rating per week, rating by store country, and new vs established merchants (stores using the app for under 30 days: the onboarding and churn signal).

## `developerReplies` (type: `boolean`):

Share of reviews the developer answers (also for 1-2 star reviews), median reply time, and the negative reviews still without a reply.

## `complaintTopics` (type: `boolean`):

Complaint topics (crashes, bugs, login, billing, ads, performance, design, feature requests) with their share, and complaint spikes in the last 7 days.

## `categoryRanks` (type: `boolean`):

Organic position of the app in each of its categories (ads skipped).

## `categoryPages` (type: `integer`):

Pages of each category listing (about 24 apps per page) searched for the rank.

## `trackChanges` (type: `boolean`):

Remember each app in a key-value store "shopify-app-store-history" in your account: new reviews per day, rating change, plan and price changes, Built for Shopify badge, listing changes (name, tagline, description, screenshots, languages, integrations), rank moves and alerts. Run on a schedule.

## `onlyNew` (type: `boolean`):

Output only reviews that earlier runs did not return (turns on change tracking). Good for daily schedules.

## `compareSimilarApps` (type: `boolean`):

Also make a report for the apps Shopify lists under "More apps like this" (no reviews are output for them; each report is charged).

## `similarAppsCount` (type: `integer`):

How many similar apps to add for each app.

## `analysisDepth` (type: `integer`):

Newest reviews read per app for the analytics. They are not output and not charged; more gives longer trends but takes longer (10 reviews per page).

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

Not needed usually. Use Apify Proxy if Shopify starts blocking requests.

## Actor input object example

```json
{
  "apps": [
    "https://apps.shopify.com/klaviyo-email-marketing"
  ],
  "maxReviewsPerApp": 100,
  "sort": "newest",
  "replyFilter": "any",
  "includeReviews": true,
  "reviewTrends": true,
  "developerReplies": true,
  "complaintTopics": true,
  "categoryRanks": true,
  "categoryPages": 3,
  "trackChanges": true,
  "onlyNew": false,
  "compareSimilarApps": false,
  "similarAppsCount": 3,
  "analysisDepth": 500,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

One item per review (type "review") as JSON. Add ?format=csv or ?format=xlsx for other formats.

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

One item per app report (type "app") with the analytics, in its own dataset. Add ?format=csv or ?format=xlsx for other formats.

## `comparison` (type: `string`):

All apps of the run side by side: store vs recent rating, reviews per month and per day, cheapest paid plan, Built for Shopify, reply rate and time, top complaint, category ranks, alerts. Made when the run has 2+ apps.

## `runSummary` (type: `string`):

Results, retries and failed requests per error category, and why the run failed if it did.

# 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": [
        "https://apps.shopify.com/klaviyo-email-marketing"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("steadywren/shopify-app-store-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": ["https://apps.shopify.com/klaviyo-email-marketing"],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("steadywren/shopify-app-store-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": [
    "https://apps.shopify.com/klaviyo-email-marketing"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call steadywren/shopify-app-store-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,steadywren/shopify-app-store-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/X9aJo6ajsX5ECWrG6/builds/IeXpWxdq75Hxwc0wD/openapi.json
