# Google Play Scraper API – Apps, Reviews & Search, No Login (`k-data-lab/google-play-scraper`) Actor

Google Play Store reviews API and app scraper, no login. Android app reviews by app ID, link, keyword or developer: stars, text, date, app version, developer reply; filter by stars, date, keyword, version. App rating, installs, price. $0.06/1K reviews, 1,000 free monthly.

- **URL**: https://apify.com/k-data-lab/google-play-scraper.md
- **Developed by:** [K-Data Lab](https://apify.com/k-data-lab) (community)
- **Categories:** Developer tools, SEO tools, AI
- **Features:** Limited permissions
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.04 / 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.
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

## Google Play Reviews Scraper API & App Data – $0.06/1K, No Login

**A Google Play Store reviews API and app scraper: paste an Android app ID, a Play Store link, a keyword or a developer, click Start, and get the app's store data and its reviews as a table.** This actor reads the public **Google Play Store** the way a logged-out visitor sees it:
rating, star histogram, **exact install count**, price, version, last update, developer, screenshots, and reviews
with stars, text, date, the app version the reviewer used, and **the developer's reply**.

- ✅ **No login, no API key, no Google account.** Paste `com.whatsapp` and run.
- 🆓 **First run is free**: the default input (`com.whatsapp`, 20 reviews) costs nothing. Click Start to see real Android app reviews in seconds.
- 💰 **100 apps and 1,000 reviews free every month**, then **$0.06 per 1,000 reviews** and **$0.50 per 1,000 apps**
- 🔔 **Built for monitoring**: "only reviews since 1 day", "only 1★ and 2★ reviews", newest first. Schedule it daily.
- 🎯 **Only the reviews you need**: filter by keyword (`crash`, `refund`) or app version (`10.151`). You pay only for matches.
- 🔌 **Use it as an API**: one HTTP call returns JSON, CSV or Excel. Works with n8n, Make, Zapier and AI agents (MCP).

Example rows (real data, US store, 2026-10-28):

| type | appId | score | realInstalls | version | text | replyText |
|---|---|---|---|---|---|---|
| app | com.whatsapp | 4.62 | 12,445,173,964 | 2.26.41.77 | | |
| review | com.revolut.revolut | 1 | | 10.151 | "…keeps you logged out for several days…" | "Hi. We take security and data privacy very seriously…" |

> Independent tool by K-Data Lab. Not affiliated with, endorsed or sponsored by Google. It reads only public
> Google Play pages (play.google.com) without logging in, and returns only what Google shows there.

#### 🔍 What does Google Play Scraper do?

- **App details by app ID or link**: `com.spotify.music` or `https://play.google.com/store/apps/details?id=com.spotify.music`
- **Reviews of any app**: newest, most relevant or by rating; filter by stars, keyword or app version; only reviews since a date; thousands per app
- **Keyword search**: the apps Google shows for a search term (up to 30), with their **rank**. Use it to track ASO keyword positions.
- **Developer catalogue**: all apps of a developer by name (`Spotify AB`), numeric ID or developer link
- **Any country and language**: `country` = us, gb, de, jp, kr, in, br …; `language` = en, de, ja, ko, pt-BR …
- **Developer replies**: the reply text and date come with every review, so you can measure response rate and response time

#### 💡 Why choose this actor?

- 💰 **Lower price**: reviews at $0.06 per 1,000 and full app records at $0.50 per 1,000. No per-app "review query" fee, and 100 apps + 1,000 reviews free every month.
- 🧩 **One actor for apps, reviews, search and developers.** You don't need a separate reviews actor.
- 📈 **Exact installs** (`realInstalls`, e.g. 12,445,173,964), not only the "10B+" bracket, plus the full 1★–5★ histogram
- 🔔 **Monitoring built in**: `reviewsSince: "1 day"` returns only new reviews, so a daily schedule costs cents
- ⚡ **Fast and light**: plain HTTP, 256 MB, 200 reviews per request (3,000 reviews in about 9 seconds in our tests)
- 🎯 **Keyword and version filters**: get only reviews that mention `crash` or `subscription`, or only those written on the release you just shipped. Each match says which keywords it contains (`matchedKeywords`).
- 🛡️ **Never charged twice**: an app found by two inputs is returned and charged once. Apps that don't exist cost nothing.

#### 📥 Input example

```json
{
  "appIds": ["com.whatsapp", "https://play.google.com/store/apps/details?id=com.revolut.revolut"],
  "searchTerms": ["budget planner"],
  "developers": ["Spotify AB"],
  "maxAppsPerSearch": 30,
  "maxReviewsPerApp": 500,
  "reviewsSort": "newest",
  "reviewStars": ["1", "2"],
  "reviewsSince": "30 days",
  "reviewKeywords": ["crash", "refund"],
  "country": "us",
  "language": "en"
}
```

| Field | What it does |
|---|---|
| `appIds` | Package names (`com.whatsapp`) or Google Play app links, one per line |
| `searchTerms` | Keywords. Each returns the apps Google shows for it (up to 30) with `searchRank` |
| `developers` | Developer names, numeric developer IDs or developer page links |
| `maxAppsPerSearch` | Limit of apps per search term or developer (1–250) |
| `maxReviewsPerApp` | Reviews per app. `0` = app details only |
| `reviewsSort` | `newest`, `relevant` or `rating` |
| `reviewStars` | Only these star ratings, e.g. `["1","2"]` for complaints |
| `reviewsSince` | Only reviews on or after a date (`2026-10-01`) or a period (`7 days`, `2 weeks`, `1 month`) |
| `reviewKeywords` | Only reviews whose text contains one of these words or phrases (not case-sensitive) |
| `reviewAppVersions` | Only reviews written on these app versions (`10.15` matches `10.15.0`, `10.151` …) |
| `onlyReviews` | Skip the app records and return just reviews |
| `country` / `language` | Store country (2 letters) and language |

#### 🧪 Ready-made inputs

- **Daily review monitor**: `{"appIds": ["com.your.app"], "reviewsSince": "1 day", "maxReviewsPerApp": 5000, "onlyReviews": true}`. Schedule it every morning.
- **Complaint mining for a competitor**: `{"appIds": ["com.competitor.app"], "reviewStars": ["1", "2"], "maxReviewsPerApp": 2000, "onlyReviews": true}`
- **What broke in the new release**: `{"appIds": ["com.your.app"], "reviewAppVersions": ["2.4.0"], "reviewStars": ["1", "2"], "maxReviewsPerApp": 500, "onlyReviews": true}`
- **Topic mining**: `{"appIds": ["com.competitor.app"], "reviewKeywords": ["price", "subscription", "refund"], "maxReviewsPerApp": 1000, "onlyReviews": true}`
- **ASO keyword rank tracking**: `{"searchTerms": ["habit tracker", "to do list"], "maxReviewsPerApp": 0}`
- **Market map of a niche**: `{"searchTerms": ["vpn"], "maxReviewsPerApp": 0}` returns installs, ratings, prices and developers of the top 30 apps
- **A publisher's whole portfolio**: `{"developers": ["5700313618786177705"], "maxAppsPerSearch": 250, "maxReviewsPerApp": 0}`

#### 📤 Output example

App record:

```json
{
  "type": "app",
  "appId": "com.supercell.clashofclans",
  "title": "Clash of Clans",
  "url": "https://play.google.com/store/apps/details?id=com.supercell.clashofclans&hl=en&gl=us",
  "summary": "Epic multiplayer strategy war game. Adventure, build and battle in real time.",
  "score": 4.5137,
  "ratingsCount": 61270348,
  "reviewsCount": 1967187,
  "histogram": {"1": 4315597, "2": 940052, "3": 1849702, "4": 6012449, "5": 48152524},
  "installs": "500,000,000+",
  "minInstalls": 500000000,
  "realInstalls": 884755687,
  "free": true,
  "price": 0,
  "currency": "USD",
  "offersInAppPurchases": true,
  "inAppProductPrice": "$0.29 - $239.99 per item",
  "containsAds": false,
  "developer": "Supercell",
  "developerId": "6715068722362591614",
  "developerWebsite": "https://help.supercellsupport.com/clash-of-clans/en/",
  "developerLegalName": "Supercell Oy",
  "privacyPolicyUrl": "https://supercell.com/en/privacy-policy/",
  "genre": "Strategy",
  "genreId": "GAME_STRATEGY",
  "tags": ["Strategy", "Build & battle", "Casual", "Stylized"],
  "contentRating": "Everyone 10+",
  "releasedAt": "2013-09-30T09:09:07Z",
  "updatedAt": "2026-10-20T14:39:36Z",
  "version": "18.647.5",
  "minAndroidVersion": "7.0",
  "recentChanges": "Builder's Been Busy. …",
  "icon": "https://play-lh.googleusercontent.com/sFmWfYbYp_2ea7…",
  "screenshots": ["https://play-lh.googleusercontent.com/bmKmkqvuqa…", "…"],
  "video": "https://play.google.com/video/lava/web/player/yt:movie:kDfoPZnC5x0?autoplay=1&embed=play",
  "country": "us",
  "language": "en"
}
```

Review record:

```json
{
  "type": "review",
  "reviewId": "f7778e78-6546-484e-a7d7-938b6f09ce67",
  "appId": "com.revolut.revolut",
  "userName": "eM Bartyzel",
  "score": 1,
  "text": "Thay copy your biometric give access to scamer keeps you logged out for several days …",
  "date": "2026-10-28T10:38:39Z",
  "thumbsUp": 0,
  "appVersion": "10.151",
  "replyText": "Hi. We take security and data privacy very seriously …",
  "replyDate": "2026-10-28T11:57:14Z",
  "criteria": null,
  "reviewUrl": "https://play.google.com/store/apps/details?id=com.revolut.revolut&reviewId=f7778e78-…",
  "country": "us",
  "language": "en"
}
```

The dataset has two views: **Apps** and **Reviews**. Filter on `type` (`app` / `review`) when you use the API.
`RUN_SUMMARY` in the key-value store lists every input with its status and counts.

#### ⚠️ When an input returns nothing

- **`NOT_FOUND`**: the app ID doesn't exist or the app isn't available in the chosen country. Check the ID in the app's Play link (`?id=…`).
- **`NO_APPS_FOUND`**: the search term or developer has no apps in that country. Developer names must match exactly (`Spotify AB`, not `Spotify`).
- **`INVALID_INPUT`**: the line is not a package name or Play link.

Nothing is charged for inputs that return nothing.

#### 💰 How much does it cost to scrape Google Play?

| Event | Price | Free each month |
|---|---|---|
| Review | **$0.06 per 1,000** ($0.00006), lower on Bronze/Silver/Gold plans | first 1,000 |
| App (full details) | **$0.50 per 1,000** ($0.0005), lower on Bronze/Silver/Gold plans | first 100 |
| Actor start | $0.005 per run | |

Examples: 10,000 reviews of one app ≈ **$0.60**. A daily monitor of 5 apps with ~50 new reviews a day ≈ $0.20 a month in
reviews (most of it inside the free 1,000) plus $0.005 per run. Set **Maximum cost per run** in the run options: the
actor stops cleanly at that amount and keeps everything scraped so far.

#### 🚀 How to scrape Google Play reviews (step by step)

1. Click **Try for free** and open the Input tab.
2. Paste app IDs or Play links (or search terms / developers).
3. Set **Max reviews per app**, and optionally the stars and the "since" date.
4. Pick the country and language and click **Start**.
5. Open the **Apps** or **Reviews** view and export to CSV, Excel or JSON, or read the dataset through the API.

#### 📊 Popular use cases

- **App review monitoring** for product and support teams: new 1★–2★ reviews every morning, with the app version that broke
- **Competitor research**: what users love or hate about competing apps, and how fast those developers reply
- **ASO**: keyword rankings, competitor titles, short descriptions, ratings and installs
- **Market and investment research**: install counts, rating trends and release cadence across a category
- **AI and sentiment analysis**: clean review text with stars and dates, ready for an LLM or a classifier

#### 🔌 Integrations & API

Run it from any language with one call and get the results back:

```bash
curl -X POST "https://api.apify.com/v2/acts/k-data-lab~google-play-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"appIds": ["com.whatsapp"], "maxReviewsPerApp": 100, "reviewsSince": "7 days"}'
```

- **Python / JavaScript**: use the `apify-client` package: `client.actor("k-data-lab/google-play-scraper").call(run_input=...)`
- **No-code**: Make, Zapier, n8n and Google Sheets integrations. Use webhooks to post new reviews to Slack or email.
- **AI agents**: available through the Apify MCP server. Example request: "get the newest 1-star Google Play reviews of com.whatsapp".

#### 💡 Tips

- Reviews are per language: `language: "de"` returns German reviews. Run one input per market you care about.
- Use `reviewsSince` for monitoring. It reads newest first and stops at the first older review, so you only pay for new ones.
- `reviewsCount` is the number of written reviews. Play's "247M reviews" label is `ratingsCount`.
- Apps Google Play ships as several builds (WhatsApp, Spotify …) have `version` and `minAndroidVersion` "Varies with device", as on Play itself. The `appVersion` of their newest reviews shows the current release.
- With several `reviewStars`, `maxReviewsPerApp` is split between them.
- With `reviewKeywords` or `reviewAppVersions`, up to 20,000 reviews per app are read to find matches. Reviews that don't match are never returned or charged. Combine with `reviewsSince` to keep runs short.

#### 🤖 Use it from AI agents (MCP)

Give Claude, ChatGPT, Cursor, VS Code or n8n a ready-made `google-play-scraper` tool through [Apify's MCP server](https://mcp.apify.com): the agent reads the input schema, runs this actor and gets the dataset back.

- This actor only: `https://mcp.apify.com?tools=actors,docs,k-data-lab/google-play-scraper`
- Google set (Google Play + Google Ads Transparency): `https://mcp.apify.com?tools=actors,docs,k-data-lab/google-play-scraper,k-data-lab/google-ad-library-scraper`

**Claude Code**

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=actors,docs,k-data-lab/google-play-scraper"
```

Claude Desktop: Settings → Connectors → Add custom connector, paste the same URL.

**Cursor / VS Code** (`.cursor/mcp.json`; in `.vscode/mcp.json` use `"servers"` and add `"type": "http"`)

```json
{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=actors,docs,k-data-lab/google-play-scraper",
      "headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }
    }
  }
}
```

**Try asking**

- "Get the 50 newest 1- and 2-star Google Play reviews of com.whatsapp in the US and group the complaints by topic."
- "Search Google Play for "budget planner" and list the top 20 apps with rating, installs and price."
- "Every day, fetch yesterday's reviews of com.spotify.music that mention crash or login."

#### ❓ FAQ

**Do I need a Google account or API key?** No. The actor reads public pages without logging in.

**How many reviews can I get per app?** As many as Google Play serves for the chosen language and sort, usually thousands. We tested 3,000+ in one run with no duplicates.

**Is there a search limit?** Google Play shows up to 30 apps per search term (often 15–30). Developer catalogues are read to the end, up to 250 apps.

**Does it return developer emails or addresses?** No. We return the developer's name, legal name, website and privacy policy, but no personal contact data.

**Is scraping Google Play legal?** The actor collects only publicly visible data. You are responsible for using it in line with the laws that apply to you and with Google's terms. Don't use review data to identify or contact individual reviewers.

#### 🧰 More from K-Data Lab

- [Amazon ASIN Rating & Review Count Scraper](https://apify.com/k-data-lab/amazon-asin-rating-scraper): star rating, review count, 5★–1★ breakdown, price and Best Sellers Rank for ASINs on 19 Amazon marketplaces
- [Amazon Seller Central Review Scraper & Monitor](https://apify.com/k-data-lab/amazon-seller-central-review-scraper): export and monitor your brand's reviews from Seller Central; you sign in yourself
- [Google Ads Transparency & Ad Library Scraper](https://apify.com/k-data-lab/google-ad-library-scraper): every Google ad a competitor runs, with text, landing page and countries

#### 💬 Feedback

Missing a field or found a wrong value? Open an issue on the actor's **Issues** tab. We answer the same day.

Tags: google play reviews api, play store reviews scraper, android app reviews, google play scraper, google play reviews scraper, play store scraper, google play api, app reviews, android app data, aso, app store
optimization, app review monitoring, review keyword filter, android app version reviews, google play app details, google play search

# Actor input Schema

## `appIds` (type: `array`):

Apps to scrape: Google Play package names or app page links, one per item. Each returns the app record (title, rating, installs, price, version …) plus its reviews. Example: \["com.whatsapp", "https://play.google.com/store/apps/details?id=com.spotify.music"]. Use this, searchTerms or developers (at least one of them).

## `searchTerms` (type: `array`):

Keywords to search Google Play for, like a visitor typing in the search box. Each term returns its top apps (Google shows up to 30) with their rank, so you can track keyword positions over time. Example: \["vpn", "budget planner"]. Leave empty if you only scrape known apps.

## `developers` (type: `array`):

Developer names (exactly as on Google Play), numeric developer IDs or developer page links. Returns the developer's apps. Example: \["Spotify AB", "5700313618786177705"]. Leave empty if not needed.

## `maxAppsPerSearch` (type: `integer`):

Upper limit of apps for each search term or developer (1–250). Google Play shows up to 30 apps per search term (often 15–30); developer catalogues are read to the end. Example: 10.

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

How many reviews to return for each app. 0 = app details only, no reviews. Example: 200 for a bigger sample, 0 for app metadata only.

## `reviewsSort` (type: `string`):

Review order: "newest" (best for monitoring), "relevant" (Google's default order) or "rating". Example: "newest".

## `reviewStars` (type: `array`):

Return only reviews with these star ratings, as strings "1"–"5". Example: \["1", "2"] for complaints. Leave empty for all ratings. With several stars, the per-app limit is split between them.

## `reviewsSince` (type: `string`):

Return only reviews written on or after this date: a YYYY-MM-DD date or a period like "7 days", "2 weeks" or "1 month". Example: "1 day" in a daily scheduled run gives only new reviews. Sorts by newest. Leave empty for no date limit.

## `reviewKeywords` (type: `array`):

Return only reviews whose text contains at least one of these words or phrases (not case-sensitive). Example: \["crash", "battery", "refund"]. Leave empty for all reviews. Up to 20,000 reviews per app are read to find matches; you pay only for the matching ones, and each match lists its hits in matchedKeywords.

## `reviewAppVersions` (type: `array`):

Return only reviews written on these app versions. A version matches by its start, so "10.15" matches 10.15.0 and 10.151. Example: \["10.151"] to see what users say about a new release. Leave empty for all versions.

## `onlyReviews` (type: `boolean`):

true = return just the reviews, without the app record (you aren't charged for app records then). Example: true for review monitoring; false (default) also returns the app record.

## `country` (type: `string`):

Two-letter country code of the Play Store to read. Prices, availability and some reviews depend on it. Example: "us", "gb", "de", "jp", "kr", "in" or "br".

## `language` (type: `string`):

Language code for reviews and store texts (texts are translated where the developer provides it). Example: "en", "de", "ja", "ko", "es" or "pt-BR".

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

Proxy used only if Google Play rate-limits the run's direct requests. The default Apify datacenter proxy is enough; keep the default. Example: {"useApifyProxy": true}.

## Actor input object example

```json
{
  "appIds": [
    "com.whatsapp",
    "https://play.google.com/store/apps/details?id=com.spotify.music"
  ],
  "searchTerms": [
    "vpn",
    "budget planner"
  ],
  "developers": [
    "Spotify AB",
    "https://play.google.com/store/apps/dev?id=5700313618786177705"
  ],
  "maxAppsPerSearch": 10,
  "maxReviewsPerApp": 20,
  "reviewsSort": "newest",
  "reviewsSince": "7 days",
  "reviewKeywords": [
    "crash",
    "refund"
  ],
  "reviewAppVersions": [
    "10.151"
  ],
  "onlyReviews": false,
  "country": "us",
  "language": "en",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

No description

## `reviews` (type: `string`):

No description

## `summary` (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 = {
    "appIds": [
        "com.whatsapp"
    ],
    "maxAppsPerSearch": 10,
    "maxReviewsPerApp": 20,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("k-data-lab/google-play-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 = {
    "appIds": ["com.whatsapp"],
    "maxAppsPerSearch": 10,
    "maxReviewsPerApp": 20,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("k-data-lab/google-play-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 '{
  "appIds": [
    "com.whatsapp"
  ],
  "maxAppsPerSearch": 10,
  "maxReviewsPerApp": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call k-data-lab/google-play-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,k-data-lab/google-play-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/wgy1PBfaWeUL4q0q7/builds/buI3QTRV5ZPYyDyu6/openapi.json
