# Instagram Video Downloader (`neuro-scraper/instagram-video-downloader`) Actor

Instagram Video Downloader SD - Instagram Video Downloader is a social media data tool that extracts Instagram videos and reels as MP4 files with download links, captions, owners and durations from post URLs or profiles - Instagram MP4 downloader.

- **URL**: https://apify.com/neuro-scraper/instagram-video-downloader.md
- **Developed by:** [Neuro Scraper](https://apify.com/neuro-scraper) (community)
- **Categories:** Videos, Social media
- **Stats:** 13 total users, 0 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.49 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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

### Instagram Video Downloader — MP4 files from public posts and reels

The Instagram Video Downloader downloads public Instagram videos and reels as MP4 files into your Apify storage and returns a download link for each, with caption, owner, duration, likes and size.

It runs on Apify, needs no Instagram login and no cookies, and exports to JSON, CSV, Excel or an API call. Every session key it needs (tokens, query ids, cursors) is read from Instagram on each run, so it keeps working when Instagram ships new code.

#### What the Instagram Video Downloader does

- Accepts post or reel links, or usernames to take their newest videos.
- Stores the highest-resolution MP4 Instagram publishes.
- Downloads carousel videos one by one.
- Skips files above your size limit and says so in the row.

#### Who uses the Instagram Video Downloader

- Editors archiving their own published videos.
- Agencies collecting campaign material.
- Researchers keeping copies of public videos.

### How the Instagram Video Downloader works

Instagram serves every public page to logged-out visitors together with the queries that fill it.

The Actor loads the page the way a browser does, reads the session values Instagram puts into it, and then asks Instagram's own GraphQL endpoint for the next page with the cursor the previous page returned.

Query ids that a page does not preload are read from the JavaScript bundles that page lists. Large files from Instagram's CDN (images, videos) are fetched directly with their signed links, so proxy traffic stays small.

Nothing is guessed: if Instagram stops publishing a value the Instagram Video Downloader needs, the run log names it and the item is skipped instead of being filled with a stale value.

### What is new in the Instagram Video Downloader (October 2026)

These features were added on 2026-10-03 after comparing the Instagram Video Downloader with the ten most used Actors of its kind on the Apify Store. Defaults keep the earlier behaviour.

- `downloadFiles` off returns the signed Instagram links only (status linkOnly) - no storage used.
- `downloadAudio` also stores the separate audio-only track (.m4a; 326,100 bytes for the 38.6 s test reel) and `downloadCover` the cover image.
- `onlyPostsNewerThan` / `onlyPostsOlderThan` and `skipPinnedPosts` choose a profile's videos.
- New fields: id, mediaType, productType, status, coverUrl, audioUrl and cdnUrlExpiresAt.

### Input of the Instagram Video Downloader

| Field | Type | Default | What it does |
|---|---|---|---|
| `startUrls` | array | \["https://www.instagram.com/reel/Dd1gQBsCWE8/"] | Links to posts or reels that contain video. |
| `usernames` | array | \[] | One per line: a username (nasa), an @handle (@nasa) or a profile URL (https://www.instagram.com/nasa/). |
| `maxPerProfile` | integer | 5 | For usernames only: how many of the newest videos to download. |
| `maxFileSizeMb` | integer | 300 | Larger files are skipped and reported. |
| `downloadFiles` | boolean | True | Off: return the signed Instagram links only (faster, no storage). |
| `downloadAudio` | boolean | False | Stores the separate audio-only track Instagram publishes (.m4a). |
| `downloadCover` | boolean | False | Stores the video's cover image (.jpg). |
| `onlyPostsNewerThan` | string | — | Leave out posts published before this date: 2026-09-01, an ISO time (2026-09-01T10:00:00Z) or relative ("7 days", "2 weeks", "1 month"). UTC. Profile lists stop |
| `onlyPostsOlderThan` | string | — | Leave out posts published after this date (same formats). Combine with "newer than" for a date range. |
| `skipPinnedPosts` | boolean | False | Leave out the posts a profile pinned to the top of its grid (often months old). Instagram flags them in the profile's post list. |
| `maxItems` | integer | 0 | Stops the whole run after this many dataset rows. 0 means only the per-target limits apply. |
| `proxyConfiguration` | object | {"useApifyProxy": true, "apifyProxyGroups": \["RESIDENTIAL"]} | Instagram limits logged-out visitors per IP address. Residential proxies (the default) give the most reliable results; the Actor switches to a fresh IP when Ins |

Example input for the Instagram Video Downloader:

```json
{
  "startUrls": [
    "https://www.instagram.com/reel/Dd1gQBsCWE8/"
  ],
  "maxPerProfile": 5,
  "maxFileSizeMb": 300
}
```

### Output of the Instagram Video Downloader

Each dataset row is one downloaded video file. These are the fields the Instagram Video Downloader produced in its test runs:

| Field | Meaning |
|---|---|
| `caption` | Caption text |
| `cdnUrl` | cdnUrl |
| `commentsCount` | Comments count |
| `downloadError` | downloadError |
| `fileKey` | fileKey |
| `fileUrl` | Download link of the stored file (Apify key-value store) |
| `height` | height |
| `inputUrl` | inputUrl |
| `itemCount` | itemCount |
| `itemIndex` | itemIndex |
| `likesCount` | Likes (or reactions) count |
| `ownerUsername` | Account that posted it |
| `scrapedAt` | When this row was read |
| `shortCode` | Instagram short code |
| `sizeBytes` | Stored file size in bytes |
| `timestamp` | Publication time (UTC, ISO 8601) |
| `url` | Public link of the item |
| `videoDurationSec` | Video length in seconds |
| `videoPlayCount` | Video plays |
| `width` | width |
| `audioUrl` | Audio-only track link (signed CDN link, expires) |
| `cdnUrlExpiresAt` | When the signed link expires (its oe= parameter) |
| `coverUrl` | Cover image link of the video |
| `id` | Platform id of the item |
| `mediaType` | video or image |
| `productType` | feed, carousel_container or clips (reel) |
| `status` | stored, linkOnly or failed |
| `isPinned` | Pinned to the top of the profile (Instagram's own flag) |
| `audioFileUrl` | Stored audio track (.m4a) |
| `audioSizeBytes` | Stored audio size in bytes |
| `coverFileUrl` | Stored cover image |

Fields that Instagram does not publish for an item are left empty rather than guessed. Download the dataset as JSON, CSV, Excel, XML or HTML, or read it through the Apify API.

#### Example row from a Instagram Video Downloader test run

A real row from the local test run (long values shortened):

```json
{
  "url": "https://www.instagram.com/reel/DdG4RIxIPyf/",
  "shortCode": "DdG4RIxIPyf",
  "ownerUsername": "natgeo",
  "caption": "Presented by @Rolex. Welcome to Africa 🌍 Africa Earth’s Wild Home takes you deep into t...",
  "timestamp": "2026-09-10T13:00:14.000Z",
  "likesCount": 78082,
  "commentsCount": 516,
  "videoPlayCount": null,
  "inputUrl": "natgeo",
  "itemIndex": 1,
  "itemCount": 1,
  "width": 1080,
  "height": 1920,
  "fileUrl": "file:///D:/Email%20Scrapers/ACTOR_IMPLEMENT/instagram-video-downloader/storage/key_valu...",
  "fileKey": "DdG4RIxIPyf-video.mp4",
  "sizeBytes": 17220800,
  "cdnUrl": "https://instagram.fdac5-2.fna.fbcdn.net/o1/v/t2/f2/m86/AQPDJtVww4K_686Ed9TbciE3dp0nrA4i...",
  "downloadError": null,
  "scrapedAt": "2026-10-02T18:47:30.000Z",
  "videoDurationSec": 72.61
}
```

#### Data quality of the Instagram Video Downloader

- Every value in a Instagram Video Downloader row is read from Instagram during your run; nothing is filled from a cache or an old snapshot.
- Rows are de-duplicated by id inside a run, so the same downloaded video file never appears twice in one dataset.
- Counts are numbers you can sort and sum (not "1.2K" text) wherever Instagram publishes the exact number.
- Dates are UTC in ISO 8601 format, which Excel, Google Sheets, Python and SQL all read directly.

### Instagram Video Downloader test results

These numbers come from live test runs of the Instagram Video Downloader on 2026-10-03 (home connection, no proxy). Runs on the Apify platform use residential proxies and can be faster or slower.

| Test | Rows | Time |
|---|---|---|
| prefill input (regression) | 1 | 18 s |
| reel URL download | 1 | 20 s |
| latest 2 videos of a profile | 2 | 35 s |
| NEW audio track + cover stored | 1 | 18 s |
| NEW links only + skip pinned + date | 2 | 11 s |

### Instagram Video Downloader limits, stated plainly

- Only public videos; photos are skipped (use the Instagram Image Downloader). Instagram publishes one MP4 per video (the other qualities are video-only streams without sound), so there is no quality choice.
- Measured locally: one reel downloaded and stored in 15 seconds.
- Respect copyright: download only what you are allowed to reuse.

### How to run the Instagram Video Downloader

1. Open the Instagram Video Downloader in Apify Console and fill in the input fields described above.
2. Keep the default residential proxy unless you have a reason to change it; Instagram limits logged-out visitors per IP address.
3. Start the run, watch the log, and download the dataset when the status says Done.
4. To automate it, call the Instagram Video Downloader from the Apify API, schedule it, or connect it to Make, Zapier, n8n or Google Sheets through an integration or webhook.

Python example with the Apify API client:

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
    "startUrls": [
        "https://www.instagram.com/reel/Dd1gQBsCWE8/"
    ],
    "maxPerProfile": 5,
    "maxFileSizeMb": 300
}
run = client.actor("neuro-scraper/instagram-video-downloader").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

### Instagram Video Downloader pricing

The Instagram Video Downloader uses pay-per-event pricing: you pay per dataset row (event "result"), plus the Apify platform usage of your run. Free-plan users get up to 30 rows per run, which is enough to test the Instagram Video Downloader on real data.

Set a maximum cost per run in Apify and the Instagram Video Downloader stops cleanly when it is reached.

#### Tips for large runs of the Instagram Video Downloader

- Start with a small limit to check the Instagram Video Downloader output, then raise it; the first rows arrive within seconds.
- Split very large jobs into several inputs and run them in parallel tasks; each run gets its own proxy sessions.
- Set a maximum cost per run in Apify; the Instagram Video Downloader stops cleanly when the budget is reached and keeps every row it already saved.
- Schedule repeat runs instead of one huge run when you track the same targets over time.
- Keep the residential proxy: datacenter IPs are refused by Instagram far more often for logged-out visitors.

#### Instagram Video Downloader compared with copying by hand

|  | Instagram Video Downloader | Manual work |
|---|---|---|
| Speed | Seconds per page of results | Minutes per item |
| Fields | Every public field, same order every time | Whatever you copy |
| Format | JSON, CSV, Excel, API | Spreadsheet you build yourself |
| Repeatable | Schedule it daily | Start again each time |
| Errors | Logged per item | Unnoticed typos |

### Using the Instagram Video Downloader in a workflow

- Send every new row to Google Sheets or Airtable with the Apify integration and keep a live table.
- Trigger a Make, Zapier or n8n scenario with a webhook when the run finishes.
- Load the JSON export into Python or BigQuery for analysis and dashboards.
- Use the Apify API: start the Instagram Video Downloader with a POST request and read the dataset items endpoint when the run finishes.
- Chain it: pass the Instagram Video Downloader output to another Apify Actor (for example a downloader or a transcript Actor) in an Apify task.
- Export straight to Excel from the dataset tab when you only need a one-off report.

#### Troubleshooting the Instagram Video Downloader

- The run ends with no rows: open the log. The Instagram Video Downloader writes one line per target saying what Instagram returned, for example a login wall or a missing item.
- Fewer rows than expected: the target may have fewer public items, or Instagram may stop serving more pages to logged-out visitors. The log names the reason.
- Slow run: large limits mean many pages; the Instagram Video Downloader waits briefly between pages so Instagram keeps answering. Split big jobs into several runs.
- Proxy errors: keep the RESIDENTIAL group. The Instagram Video Downloader already switches to a fresh IP when one is blocked.
- Free plan stops at 30 rows: that is the free-plan cap of the Instagram Video Downloader; any paid Apify plan removes it.

#### What changed in this version of the Instagram Video Downloader

- Rebuilt in October 2026 on Instagram's logged-out web endpoints; every token, query id and cursor is read at run time.
- Pay-per-event pricing (one event per row) replaces the old monthly rental; free-plan users can test with 30 rows per run.
- Residential proxy by default, with automatic switch to a fresh IP when Instagram blocks one.
- October 2026 feature round: new filters and fields matching the most used Instagram Actors on the Store, every one measured in a live test; existing inputs and fields are unchanged.

#### Is it legal to use the Instagram Video Downloader?

The Instagram Video Downloader reads only data that Instagram shows to any logged-out visitor. It never logs in and never touches private content.

Personal data may still be in public posts, so check GDPR and the other laws that apply to you before you store or reuse it, and respect Instagram's terms.

### Related scrapers

| Actor | Link |
|---|---|
| Instagram Scraper | [neuro-scraper/instagram-video-scraper](https://apify.com/neuro-scraper/instagram-video-scraper) |
| Instagram Profile Scraper | [neuro-scraper/instagram-reels-scraper-downloader-pro](https://apify.com/neuro-scraper/instagram-reels-scraper-downloader-pro) |
| Instagram Posts Scraper | [neuro-scraper/instagram-posts-scraper](https://apify.com/neuro-scraper/instagram-posts-scraper) |
| Instagram Reels Scraper | [neuro-scraper/instagram-reels-scraper](https://apify.com/neuro-scraper/instagram-reels-scraper) |
| Instagram Hashtag Scraper | [neuro-scraper/instagram-reeel-scraper](https://apify.com/neuro-scraper/instagram-reeel-scraper) |
| Instagram Comments Scraper | [neuro-scraper/instagram-reels-scraper-and-downloader-premium](https://apify.com/neuro-scraper/instagram-reels-scraper-and-downloader-premium) |
| Instagram Search Scraper | [neuro-scraper/instagram-video-scraper-advanced](https://apify.com/neuro-scraper/instagram-video-scraper-advanced) |
| Instagram Reels Downloader | [neuro-scraper/instagram-reels-downloader](https://apify.com/neuro-scraper/instagram-reels-downloader) |
| Instagram Image Downloader | [neuro-scraper/instagram-video-scraper-and-downloader](https://apify.com/neuro-scraper/instagram-video-scraper-and-downloader) |
| Instagram Transcript Scraper | [neuro-scraper/instagram-video-scraper-and-downloader-pro](https://apify.com/neuro-scraper/instagram-video-scraper-and-downloader-pro) |
| Instagram Mentions Scraper | [neuro-scraper/instagram-video-scraper-and-downloader-premium](https://apify.com/neuro-scraper/instagram-video-scraper-and-downloader-premium) |
| Instagram Keyword Scraper | [neuro-scraper/instagram-video-scraper-and-downloader-fastest](https://apify.com/neuro-scraper/instagram-video-scraper-and-downloader-fastest) |

### Leave a review

If the Instagram Video Downloader saved you time, please leave a star rating and a short review on its Apify page. Reviews help other users find the Instagram Video Downloader and tell us what to improve next.

### Frequently asked questions

#### Where are the files of the Instagram Video Downloader stored?

In the run's key-value store on Apify. Each row has a fileUrl you can open or pass to another tool.

#### Does the Instagram Video Downloader need my Instagram login?

No. The Instagram Video Downloader works logged out and never asks for your password or cookies. It reads only what Instagram shows to any visitor.

#### Do I need my own proxy for the Instagram Video Downloader?

No. The Instagram Video Downloader uses Apify residential proxies by default and switches to a fresh IP when Instagram blocks one. You can choose another proxy in the input.

#### What formats can I export from the Instagram Video Downloader?

JSON, CSV, Excel, XML, HTML and RSS from the dataset tab, or any format through the Apify API, webhooks and integrations.

#### How fast is the Instagram Video Downloader?

In the test runs above the Instagram Video Downloader took between 11 and 35 seconds per run. Speed depends on how many items you ask for and on the proxy.

#### Why did the Instagram Video Downloader return fewer rows than I asked for?

The Instagram Video Downloader stops when Instagram has nothing more to show logged out, when your limit is reached, or when the free-plan cap of 30 rows applies. The run log always says which one happened.

#### Can I schedule the Instagram Video Downloader?

Yes. Create a schedule in Apify Console to run the Instagram Video Downloader daily or hourly and send the results to Google Sheets, Make, Zapier or n8n through an integration.

#### Can the Instagram Video Downloader read private accounts or private groups?

No. The Instagram Video Downloader reads public data only. Private content needs a login, and the Instagram Video Downloader never logs in.

#### What happens when Instagram changes its website?

The Instagram Video Downloader reads every key it needs from Instagram at run time, so routine changes are picked up automatically. If something can no longer be read, the log says so instead of returning wrong data.

#### Can I use the Instagram Video Downloader with Make, Zapier or n8n?

Yes. Add the Instagram Video Downloader as an Apify step in Make, Zapier or n8n, or send a webhook when the run finishes and fetch the dataset items from the Apify API.

#### Does the Instagram Video Downloader work in every country?

The Instagram Video Downloader reads Instagram through residential proxies that rotate across countries. Content that Instagram restricts by country follows those rules.

#### How do I collect only new items with the Instagram Video Downloader?

Schedule the Instagram Video Downloader and keep the item ids from earlier runs. Every row has a stable id, so a simple de-duplication against your previous export keeps only the new ones.

#### Can the Instagram Video Downloader process many targets in one run?

Yes. Put as many targets as you like in the input; the Instagram Video Downloader handles them one after another and a failing target never stops the others.

#### Can the Instagram Video Downloader return links without storing files?

Yes. Turn off downloadFiles and every row carries the signed MP4 link and its expiry time instead of a stored file.

#### Can the Instagram Video Downloader download only the audio?

Turn on downloadAudio and the Instagram Video Downloader also stores the audio-only track Instagram publishes as an .m4a file.

# Actor input Schema

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

Links to posts or reels that contain video.

## `usernames` (type: `array`):

One per line: a username (nasa), an @handle (@nasa) or a profile URL (https://www.instagram.com/nasa/).

## `maxPerProfile` (type: `integer`):

For usernames only: how many of the newest videos to download.

## `maxFileSizeMb` (type: `integer`):

Larger files are skipped and reported.

## `downloadFiles` (type: `boolean`):

Off: return the signed Instagram links only (faster, no storage).

## `downloadAudio` (type: `boolean`):

Stores the separate audio-only track Instagram publishes (.m4a).

## `downloadCover` (type: `boolean`):

Stores the video's cover image (.jpg).

## `onlyPostsNewerThan` (type: `string`):

Leave out posts published before this date: 2026-09-01, an ISO time (2026-09-01T10:00:00Z) or relative ("7 days", "2 weeks", "1 month"). UTC. Profile lists stop paging once older posts are reached.

## `onlyPostsOlderThan` (type: `string`):

Leave out posts published after this date (same formats). Combine with "newer than" for a date range.

## `skipPinnedPosts` (type: `boolean`):

Leave out the posts a profile pinned to the top of its grid (often months old). Instagram flags them in the profile's post list.

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

Stops the whole run after this many dataset rows. 0 means only the per-target limits apply.

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

Instagram limits logged-out visitors per IP address. Residential proxies (the default) give the most reliable results; the Actor switches to a fresh IP when Instagram blocks one.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.instagram.com/reel/Dd1gQBsCWE8/"
  ],
  "usernames": [],
  "maxPerProfile": 5,
  "maxFileSizeMb": 300,
  "downloadFiles": true,
  "downloadAudio": false,
  "downloadCover": false,
  "skipPinnedPosts": false,
  "maxItems": 0,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "startUrls": [
        "https://www.instagram.com/reel/Dd1gQBsCWE8/"
    ],
    "usernames": [],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("neuro-scraper/instagram-video-downloader").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 = {
    "startUrls": ["https://www.instagram.com/reel/Dd1gQBsCWE8/"],
    "usernames": [],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("neuro-scraper/instagram-video-downloader").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 '{
  "startUrls": [
    "https://www.instagram.com/reel/Dd1gQBsCWE8/"
  ],
  "usernames": [],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call neuro-scraper/instagram-video-downloader --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,neuro-scraper/instagram-video-downloader"
        }
    }
}
```

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/Py89YjtrAk9c4hBhu/builds/SBHb1BoqcWxkMwEhG/openapi.json
