# Shopify App Store Scraper - Apps, Pricing & Developers (`confidential_gnat/shopify-app-store-scraper`) Actor

Scrapes apps from the Shopify App Store (apps.shopify.com): name, rating, review count, pricing plans, developer contact, categories, languages, integrations and launch date. Search by keyword, category, developer, app URL or app handle. Reviews: see the Shopify App Reviews scraper.

- **URL**: https://apify.com/confidential_gnat/shopify-app-store-scraper.md
- **Developed by:** [ActorFlow](https://apify.com/confidential_gnat) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 1,000 results

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 Scraper - Apps, Pricing & Developers

**Scrape apps from the Shopify App Store (apps.shopify.com)**: app name, rating, review count, rating breakdown, **pricing plans**, developer name, address and support email, categories, languages, integrations, launch date, and screenshots. For merchant reviews, use the companion [Shopify App Reviews scraper](https://apify.com/confidential_gnat/shopify-app-reviews-scraper). Search by keyword, paste a search, category, developer or app URL, press Start, and export the results as JSON, CSV or Excel, or call the scraper as an **API**.

![Shopify App Store scraper cover: an app record with name, rating, reviews count, price, developer and categories from apps.shopify.com as JSON](https://i.postimg.cc/R0J3RYwh/Gemini-Generated-Image-xddm96xddm96xddm.jpg)

**Target website:** [apps.shopify.com](https://apps.shopify.com)

### ✨ Features of this Shopify App Store scraper

- **Shopify app data extraction**: name, tagline, description, key features, rating, reviews count, 1-5 star breakdown, price text, free plan and free trial days, every pricing plan with its price and features, developer details, resource links, categories, languages, "works with" integrations, launch date, Built for Shopify badge, screenshots and demo store.
- **Reviews live in a separate actor**: the [Shopify App Reviews scraper](https://apify.com/confidential_gnat/shopify-app-reviews-scraper) returns one row per merchant review and accepts the app URLs from this actor's dataset (see the enrichment section below).
- **Keyword, category and developer filtering**: search the App Store by keyword, or scrape any category, subcategory or developer page.
- **Pagination support**: follows search and category pages until your item limit is reached.
- **Sponsored results**: paid (Ad) results are skipped by default, or kept and flagged with `isAd`.
- **Monitoring cache**: a cache project name skips apps you already scraped, so scheduled runs return only new ones.
- **Proxy support**: works without a proxy; Apify Proxy can be switched on if you need it.
- **No browser required**: the scraper reads pages over plain HTTP, which makes runs fast and cheap.

### 🚀 How to scrape Shopify App Store apps in 5 steps

1. [Sign up](https://apify.com/sign-up) for a free Apify account — includes **$5 monthly credit**.
2. Open the actor page and click **Try for free**.
3. Fill in the **Input** fields (a keyword, an App Store URL or an app handle is required).
4. Click **Start** and wait for the run to complete.
5. Download results from the **Output** tab in JSON, CSV, or Excel format.

You can also run this actor via the [Apify API](https://docs.apify.com/api/v2) or integrate it directly into your workflows using [Zapier](https://zapier.com/apps/apify), [Make](https://www.make.com/), or [n8n](https://n8n.io/).

### 💰 Pricing

This actor uses **pay-per-result** billing: you pay for each app saved to the dataset.

- New Apify accounts include **$5 of free monthly credit**.
- The scraper does not run a browser, so it costs significantly less to run than browser-based scrapers.
- Proxies are off by default, which keeps runs cheapest.

### 🔧 Input configuration

![Shopify App Store scraper input form with search keywords, App Store URLs, scrape full app details, scrape reviews, cache project name and max apps per search fields marked 1 to 6 (earlier version of the form)](https://i.postimg.cc/rp5Vz2ST/image.png)

> **Note:** the screenshot was taken before an update and the input has changed since. The **Scrape reviews**, **Max reviews per app** and **Reviews since** fields (and the numbered arrow 4) no longer exist: reviews now come from the separate [Shopify App Reviews scraper](https://apify.com/confidential_gnat/shopify-app-reviews-scraper). Use the table below for the current fields.

The numbers in the screenshot mark these fields:

1. **Search keywords** (`keywords`): words to search the App Store for, one search per keyword.
2. **App Store URLs** (`startUrls`): search, category, developer or app URLs.
3. **Scrape full app details** (`scrapeDetails`): opens every app page for pricing plans, developer contact, categories and more.
4. **Scrape reviews**: removed in the update, see the note above.
5. **Cache project name** (`cacheProjectName`): reuse the same name on scheduled runs to get only new apps.
6. **Max apps per search** (`maxItems`): maximum apps saved for each keyword or URL.

| Field | Type | Required | Default | Description |
| ----- | ---- | -------- | ------- | ----------- |
| Search keywords (`keywords`) | array | — | `["reviews"]` (prefill) | Words to search the App Store for. Each keyword is searched separately. |
| App Store URLs (`startUrls`) | array | — | `[]` | Search, category, developer or app URLs (see below). |
| App handles (`appHandles`) | array | — | `[]` | App handles from the app URL, for example `judgeme`. |
| Scrape full app details (`scrapeDetails`) | boolean | — | `true` | Open every app page for pricing plans, developer contact, categories and more. Off = search card fields only. |
| Include sponsored results (`includeAds`) | boolean | — | `false` | Keep paid (Ad) results, flagged with `isAd: true`. |
| Cache project name (`cacheProjectName`) | string | — | — | Same name on every scheduled run = only new apps; cached ones are skipped and not charged. |
| Max apps per search (`maxItems`) | integer | — | `5` | Maximum unique apps saved for each keyword, search, category or developer URL. |
| Proxy configuration (`proxyConfiguration`) | object | — | `{"useApifyProxy": false}` | Works without a proxy. |

**Supported URL types:**

- Search: `https://apps.shopify.com/search?q=reviews`
- Category or subcategory: `https://apps.shopify.com/categories/marketing-and-conversion` (one page of featured apps) or `https://apps.shopify.com/categories/marketing-and-conversion-social-trust-product-reviews/all` (full paginated list)
- Developer: `https://apps.shopify.com/partners/judge-me`
- App: `https://apps.shopify.com/judgeme`
- App reviews page: `https://apps.shopify.com/judgeme/reviews` is read as its app. For the reviews themselves use the Shopify App Reviews scraper.

### 📦 Shopify App Store scraper output data

Each dataset item is one app as JSON with the fields `type`, `id`, `handle`, `url`, `name`, `tagline`, `description`, `descriptionFull`, `features`, `iconUrl`, `rating`, `reviewsCount`, `ratingBreakdown`, `priceText`, `hasFreePlan`, `freeTrialDays`, `pricingPlans`, `developerName`, `developerUrl`, `developerAddress`, `developerEmail`, `privacyPolicyUrl`, `faqUrl`, `documentationUrl`, `tutorialUrl`, `launchedAt`, `categories`, `languages`, `worksWith`, `isBuiltForShopify`, `screenshots`, `demoStoreUrl`, `isAd`, `searchPosition` and `scrapedAt`. Cached runs add `changeType: "new"`. The dataset has 1 view: **Overview**, a compact table of apps with name, rating, reviews count, price, developer and launch date.

**Output at a glance:**

| App | Rating | Reviews | Price | Developer | Launched |
| --- | ------ | ------- | ----- | --------- | -------- |
| [Judge.me Product Reviews App](https://apps.shopify.com/judgeme) | 5.0 | 48,565 | Free plan available | Judge.me | 2015-06-25 |
| [Loox ‑ Product Reviews App](https://apps.shopify.com/loox) | 4.9 | 9,879 | Free plan available | Loox | 2015-10-16 |
| [AG Product Reviews App & UGC](https://apps.shopify.com/air-reviews) | 4.9 | 3,168 | Free | Air Reviews by Avada | 2022-09-30 |
| [REVIEWS.io Product Reviews App](https://apps.shopify.com/reviews-co-uk-product-and-merchant-review-collection) | 4.7 | 772 | Free plan available | Reviews.io | 2014-08-06 |
| [TrustShop: Product Reviews](https://apps.shopify.com/trustshop) | 4.9 | 368 | Free plan available | Trust1.io | 2023-11-15 |

**Sample output (raw JSON):**

```json
{
    "type": "app",
    "id": "air-reviews",
    "handle": "air-reviews",
    "url": "https://apps.shopify.com/air-reviews",
    "name": "AG Product Reviews App & UGC",
    "tagline": "Build your brand from zero? Make it grow with product reviews & testimonials that stand out",
    "description": "Shopify Product Reviews App by AirApps. Air Product reviews provide appealing, customizable reviews widgets, and diverse solutions to collect more reviews.",
    "descriptionFull": "Whether you're a newcomer or a seasoned pro, Air Reviews makes turning trust into sales simple. Get your first reviews in just few orders with automated reviews requests, and rewarding discounts. Highlight your best reviews in: review box, star rating, carousel, testimonials... Build trust and convert visitors into customers with reviews. Drive traffic using right product reviews and UGC by SEO with review-rich snippets. With Air Reviews, you have a trusted partner to build trust and convert!",
    "features": [
        "Flexible widgets → Star rating, Carousel, Testimonial to build trust and convert",
        "Automated requests → Convert orders into reviews, then reviews back to orders"
    ],
    "iconUrl": "https://cdn.shopify.com/app-store/listing_images/d636d73c74c4684a910d23211e0e6ddf/icon/CKrnvPGt_pMDEAE=.png",
    "rating": 4.9,
    "reviewsCount": 3168,
    "ratingBreakdown": { "1": 18, "2": 2, "3": 6, "4": 80, "5": 3062 },
    "priceText": "Free",
    "hasFreePlan": true,
    "freeTrialDays": null,
    "pricingPlans": [],
    "developerName": "Air Reviews by Avada",
    "developerUrl": "https://apps.shopify.com/partners/airapps",
    "developerAddress": "Peace Centre, SG",
    "developerEmail": "win@avada.io",
    "privacyPolicyUrl": "https://help.airreviews.io/terms-and-conditions",
    "faqUrl": "https://help.airreviews.io/",
    "documentationUrl": null,
    "tutorialUrl": null,
    "launchedAt": "2022-09-30",
    "categories": ["Product reviews"],
    "languages": ["English", "Spanish"],
    "worksWith": ["Checkout", "Shopify Flow"],
    "isBuiltForShopify": false,
    "screenshots": [
        "https://cdn.shopify.com/app-store/listing_images/d636d73c74c4684a910d23211e0e6ddf/promotional_image/CLS2xu27_ogDEAE=.png",
        "https://cdn.shopify.com/app-store/listing_images/d636d73c74c4684a910d23211e0e6ddf/desktop_screenshot/CPj1saeJrogDEAE=.png"
    ],
    "demoStoreUrl": "https://air-reviews-demo.myshopify.com",
    "isAd": false,
    "searchPosition": 7,
    "scrapedAt": "2026-10-15T15:14:54.181Z"
}
```

A paid app has plans like `{ "name": "Awesome", "price": "$15/month", "priceAmount": 15, "features": ["AI (replies, summary, translations)", "Coupons & Referrals"] }`.

### 🧩 How to enrich Shopify apps with their reviews (Shopify App Reviews scraper)

This actor returns one row per app. When you also need the merchant reviews of those apps, use the dedicated [Shopify App Reviews scraper](https://apify.com/confidential_gnat/shopify-app-reviews-scraper). It returns one row per review and accepts the app URLs from this actor's dataset.

**No code (Apify Console):**

1. Run this actor for your keyword, category or developer. Open the run's **Output** tab.
2. Export the dataset as CSV or Excel with only the `url` column (one app URL per row), or copy the `url` values.
3. Open the Shopify App Reviews scraper, click **Bulk edit** (or **Text file**) under **Shopify app or reviews URLs** and paste the URLs.
4. Set **Max reviews per app**, optionally filter by stars or date, and click **Start**.
5. Join the two datasets on `handle` (this actor) = `appHandle` (reviews scraper).

**With code (Python):**

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")

apps = client.dataset("<APPS_DATASET_ID>").list_items(fields=["handle", "url"]).items

run = client.actor("confidential_gnat/shopify-app-reviews-scraper").call(run_input={
    "startUrls": [{"url": app["url"]} for app in apps],
    "maxItems": 50,
})

reviews_by_app = {}
for review in client.dataset(run["defaultDatasetId"]).iterate_items():
    reviews_by_app.setdefault(review["appHandle"], []).append(review)

for app in apps:
    app["reviews"] = reviews_by_app.get(app["handle"], [])
```

Each review row has `reviewId`, `rating`, `postedAt`, `body`, `storeName`, `storeCountry`, `usageDuration`, `developerReply`, plus `appHandle`, `appName` and `appUrl` for the join.

### 🐍 How to scrape the Shopify App Store with Python, JavaScript or the API

Run the actor programmatically with the official Apify clients. Replace `<YOUR_API_TOKEN>` with the token from your [Apify Console](https://console.apify.com/account/integrations).

**Python** (`pip install apify-client`):

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")

run = client.actor("confidential_gnat/shopify-app-store-scraper").call(run_input={
    "keywords": ["reviews"],
    "maxItems": 20,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

**JavaScript** (`npm install apify-client`):

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

const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });

const run = await client.actor('confidential_gnat/shopify-app-store-scraper').call({
    keywords: ['reviews'],
    maxItems: 20,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

**cURL** — start a run and wait for the dataset:

```bash
curl -X POST "https://api.apify.com/v2/acts/confidential_gnat~shopify-app-store-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"keywords": ["reviews"], "maxItems": 20}'
```

### 💡 What you can use Shopify App Store data for

- Competitor research: compare ratings, review counts, pricing plans and features of every app in a category.
- Lead generation: build lists of Shopify app developers with their support email, address and website links.
- Review monitoring: pair the app list with the Shopify App Reviews scraper to track new merchant reviews and developer replies for your app or your competitors' apps.
- Pricing intelligence: follow plan prices, free plans and free trial lengths across a niche.
- Market sizing: find gaps in categories with few highly rated apps, and spot newly launched apps.

Shopify app developers, SaaS founders, agencies, investors and e-commerce analysts use this data for product strategy, sales prospecting and market research.

### ⚠️ Limitations & known issues

- **Rate limiting** — The App Store briefly answers bursts with "too many requests". The scraper waits and retries automatically; keep concurrency around 5 for large runs.
- **Top-level category pages** — Pages like `/categories/marketing-and-conversion` show one fixed page of featured apps (about 40). Use a subcategory `/all` URL for the full, paginated list.
- **Free apps** — Apps that are simply "Free" have no pricing plan cards, so `pricingPlans` is empty.
- **No reviews here** — this actor returns apps only. Merchant reviews come from the Shopify App Reviews scraper, which takes this actor's app URLs.

### ❓ Frequently asked questions

#### Can I scrape the Shopify App Store legally?

This actor only collects data that is publicly visible on apps.shopify.com, without any login. Scraping publicly available data is generally considered lawful (see *hiQ Labs v. LinkedIn*), but you are responsible for complying with Shopify's Terms of Service and laws such as GDPR or CCPA, for example when you store reviewer store names or developer emails.

#### What data does the Shopify App Store scraper return?

Every app comes with name, rating, reviews count and price text. With "Scrape full app details" on (default) you also get pricing plans, developer contact, categories, languages, integrations, launch date, screenshots and the rating breakdown. Merchant reviews come from the Shopify App Reviews scraper.

#### How many apps can I scrape from one search?

`maxItems` limits the apps saved for each keyword, search URL, category URL or developer URL. Search and category pages show 24-28 apps per page, and the scraper keeps paging until the limit or the last page.

#### Do I need a proxy to scrape apps.shopify.com?

No. The proxy is off by default and the site works without one. If you run very large jobs and see repeated rate limiting, lower the concurrency or switch on an Apify datacenter proxy.

#### How do I scrape the Shopify App Store with Python?

Use the Python example above: call the actor with your input, then iterate over the items of the run's default dataset.

#### Can I run this Shopify App Store scraper on a schedule?

Yes, with Apify Schedules. Set a cache project name and use the same one on every run: apps already scraped are skipped, not charged and do not count towards Max apps per search, so each run returns only new apps.

#### What output formats are supported?

JSON, CSV, Excel, XML and RSS, either from the **Output** tab or through the Apify API.

#### Why are some sponsored apps missing from my search results?

Search and category pages mix paid (Ad) results into the list. They are skipped by default so positions match organic ranking; switch on "Include sponsored results" to keep them with `isAd: true`.

### 🔗 Relevant actors for Shopify App Store data

| Scraper | Description |
| ------- | ----------- |
| [⭐ Shopify App Reviews Scraper](https://apify.com/confidential_gnat/shopify-app-reviews-scraper) | One row per merchant review of any Shopify app, with star, date, store and developer reply filters. |
| [📱 Google Play Store Reviews Scraper](https://apify.com/confidential_gnat/google-play-reviews-scraper) | Google Play app reviews with text, star rating and developer reply. |

### 🔗 Other actors you may find useful

| Scraper | Description |
| ------- | ----------- |
| [📅 Facebook Events Scraper](https://apify.com/confidential_gnat/facebook-events-scraper) | Public Facebook events by keyword, location and date, without logging in. |
| [📈 Kalshi Markets Scraper](https://apify.com/confidential_gnat/kalshi-markets-scraper) | Kalshi prediction markets: yes/no prices, implied probability and volume. |
| [💼 Dice Jobs Scraper](https://apify.com/confidential_gnat/dice-jobs-scraper) | Tech job listings from Dice by keyword or URL: company, salary and location. |
| [🚗 Copart Search Scraper](https://apify.com/confidential_gnat/copart-search-scraper) | Copart auction lots: damage, odometer, current bid and location. |
| [🥾 AllTrails Scraper](https://apify.com/confidential_gnat/alltrails-scraper) | Hiking, biking and running trails by park, city, state or coordinates. |

### 💬 Support & contact

If you encounter any issues or have questions, please [open an issue](https://apify.com/confidential_gnat/shopify-app-store-scraper/issues/open) or reach out via the [Apify Community Forum](https://community.apify.com/).

You can also find more of our actors on the [Actor Flow](https://apify.com/confidential_gnat) page.

# Actor input Schema

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

Words to search the Shopify App Store for, for example reviews or upsell. Each keyword is searched separately.

## `startUrls` (type: `array`):

Search URLs (https://apps.shopify.com/search?q=reviews), category URLs (https://apps.shopify.com/categories/marketing-and-conversion-social-trust-product-reviews/all), developer URLs (https://apps.shopify.com/partners/judge-me)) or app URLs (https://apps.shopify.com/judgeme).

## `appHandles` (type: `array`):

App handles from the app URL, for example judgeme for https://apps.shopify.com/judgeme.

## `scrapeDetails` (type: `boolean`):

Open every app page to get the description, pricing plans, developer contact, categories, languages, integrations, launch date and screenshots. Turn off for faster runs with the search card only (name, rating, reviews count, price text, tagline).

## `includeAds` (type: `boolean`):

Keep paid (Ad) results from search and category pages. They are flagged with isAd: true.

## `cacheProjectName` (type: `string`):

Use the same name on each scheduled run to get only new apps. Apps already scraped under this name are skipped and not charged, and they do not count towards Max apps per search. Each record gets changeType: new.

## `maxItems` (type: `integer`):

Maximum unique apps saved for each keyword, search URL, category URL or developer URL.

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

This website works without a proxy. Enable Apify Proxy only if you get blocked.

## Actor input object example

```json
{
  "keywords": [
    "reviews"
  ],
  "startUrls": [],
  "appHandles": [],
  "scrapeDetails": true,
  "includeAds": false,
  "maxItems": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "keywords": [
        "reviews"
    ],
    "maxItems": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("confidential_gnat/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 = {
    "keywords": ["reviews"],
    "maxItems": 5,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("confidential_gnat/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 '{
  "keywords": [
    "reviews"
  ],
  "maxItems": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call confidential_gnat/shopify-app-store-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,confidential_gnat/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/jyGU51Yrh1TAyUyta/builds/xLQ74ZjnawohlKWIU/openapi.json
