# RedGifs Video Downloader (`parsebird/redgifs-video-downloader`) Actor

Download RedGifs videos in bulk: get direct HD, SD, and silent MP4 links plus tags, duration, resolution, views, likes, and creator for watch URLs, video IDs, user profiles, or search results. Export JSON, CSV, Excel.

- **URL**: https://apify.com/parsebird/redgifs-video-downloader.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.49 / 1,000 redgifs videos

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

### RedGifs Video Downloader

RedGifs Video Downloader turns [RedGifs](https://www.redgifs.com/) watch links, video IDs, creator profiles, and search terms into direct MP4 download links in HD, SD, and silent quality, with tags, duration, resolution, views, likes, and creator info for every video.

<table><tr>
<td style="border-left:4px solid #1C1917;padding:12px 16px;font-weight:600">
Paste watch URLs, iframe URLs, media links, or raw IDs, add a creator profile to grab all of its public videos, or search a term to collect up to 10,000 matching videos in one run, each with every available MP4 format and a plain-English note on which quality was picked.
</td>
</tr></table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```text
Use Apify Actor parsebird/redgifs-video-downloader to get direct MP4 download links and metadata for RedGifs videos. Example with ApifyClient: client.actor("parsebird/redgifs-video-downloader").call(run_input={"targets":["https://www.redgifs.com/watch/seashellverifiablenorwaylobster","welllitfavorablefulmar"],"searchQuery":"funny","preferredQuality":"best","maxItems":10}). Inputs: targets array of strings optional (RedGifs watch URL, ifr iframe URL, media.redgifs.com MP4 link, raw video ID, or user profile URL https://www.redgifs.com/users/<name> to expand to that creator's public videos); searchQuery string optional (one search term per run, up to 10,000 results); searchOrder string default "trending" (trending, latest, top, top7, top28); verifiedOnly boolean default false (search results from verified creators only); preferredQuality string default "best" (best, hd, sd, silent; falls back to the next available format); maxItems integer optional, total saved videos across all sources, empty = no limit. At least one target or a searchQuery is required. Output: one dataset row per unique video with rowOrigin (directTarget, userProfile, search), input, searchQuery, id, canonicalUrl, sourceUrl, title, description, durationSeconds, width, height, hasAudio, tags, niches, sexuality, thumbnailUrl, posterUrl, selectedQuality, selectedQualityReason, downloadUrl, availableFormats [{quality, url, mimeType}], userName, verified, views, likes, published, createdAt. Price: $7.99 per 1,000 videos on the Free plan. API docs: https://docs.apify.com/api/client/python/ and https://docs.apify.com/api/client/js/. Token: https://console.apify.com/account/integrations.
```

### What is RedGifs Video Downloader?

**RedGifs Video Downloader** is a bulk RedGifs downloader and **RedGifs API alternative** that gives you a **direct MP4 link** for every video you point it at. You don't need a RedGifs account, API key, or browser extension. Paste a link such as `https://www.redgifs.com/watch/seashellverifiablenorwaylobster`, a bare ID such as `welllitfavorablefulmar`, a creator profile, or a search term, and the actor returns one row per video.

The easiest way to try it is to open the actor, keep the prefilled input (two videos plus the search term `funny`, capped at 10 results), and click **Start**. The run finishes in a few seconds.

> RedGifs hosts adult content. Use this actor only if you are 18 or older and allowed to access such content where you live.

### What can RedGifs Video Downloader do?

- 🎬 **Download RedGifs videos by link or ID.** Watch URLs (`/watch/<id>`), iframe URLs (`/ifr/<id>`), `media.redgifs.com` MP4 or thumbnail links, `v3.redgifs.com` links, and raw IDs all work. IDs are matched without regard to case, and duplicate rows are skipped.
- 👤 **Download all videos from a RedGifs user.** Add `https://www.redgifs.com/users/<name>` to Targets to get that creator's public videos, newest first.
- 🔎 **Search RedGifs** by keyword with Trending, Latest, Top (all time), Top this week, or Top this month ordering, and optionally keep only verified creators.
- 🎚️ **Choose the quality** you want in `downloadUrl`: best available, HD, SD (mobile), or silent. If your choice is missing for a video, the actor falls back to the next format and says why in `selectedQualityReason`. Every available format is always listed in `availableFormats`.
- 🏷️ **Rich metadata:** tags, niches, sexuality labels, duration, width and height, audio flag, views, likes, creator username, verified flag, and creation date.
- 🧮 **One limit for everything.** Max videos caps the total across targets, profiles, and search, and each video ID is saved only once per run.
- ⏰ Run on a schedule with [Apify schedules](https://docs.apify.com/platform/schedules), call it through the [Apify API](https://docs.apify.com/api/v2), connect it to [integrations](https://apify.com/integrations) such as Make, Zapier, Google Sheets, or webhooks, and export results as JSON, CSV, Excel, XML, or HTML.

### What data can you extract from RedGifs?

| Field | Description |
|-------|-------------|
| `downloadUrl` | Direct `media.redgifs.com` MP4 link for the selected quality |
| `availableFormats` | Every MP4 format found: `quality` (hd, sd, silent), `url`, `mimeType` |
| `selectedQuality` / `selectedQualityReason` | Which format was picked and a plain-English reason, including fallbacks |
| `id` / `canonicalUrl` / `sourceUrl` | RedGifs video ID, watch page URL, and iframe URL |
| `title` | The title RedGifs shows on the watch page (built from tags and creator name) |
| `description` | Creator-written description, when there is one |
| `durationSeconds` / `width` / `height` | Video length in seconds and resolution in pixels |
| `hasAudio` | Whether RedGifs marks the video as having sound |
| `tags` / `niches` / `sexuality` | Public RedGifs tags, niche slugs, and sexuality labels |
| `thumbnailUrl` / `posterUrl` | Thumbnail and poster image links |
| `userName` / `verified` | Creator username and verified flag |
| `views` / `likes` | Public view and like counts |
| `published` / `createdAt` | Published flag and upload time (ISO 8601, UTC) |
| `rowOrigin` / `input` / `searchQuery` | Which source produced the row: `directTarget`, `userProfile`, or `search`, plus the original input |

### How to download RedGifs videos

1. Open [RedGifs Video Downloader](https://apify.com/parsebird/redgifs-video-downloader) and click **Try for free** to sign in to Apify.
2. In **RedGifs URLs or video IDs**, paste one watch link, ID, or user profile link per row.
3. Optionally type a **Search term** and pick a **Search order**. Use one term per run.
4. Choose a **Preferred quality**. Keep **Best available** if you're not sure.
5. Set **Maximum videos** to control cost, or leave it empty to get everything.
6. Click **Start**. When the run finishes, open the **Output** tab and download the results as JSON, CSV, or Excel. Open any `downloadUrl` to save the MP4.

### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `targets` | array of strings | No\* | — | RedGifs watch URLs, iframe URLs, media links, raw video IDs, or user profile URLs, one per row |
| `searchQuery` | string | No\* | — | One search term. Returns up to 10,000 videos, the RedGifs search limit |
| `searchOrder` | string | No | `trending` | `trending`, `latest`, `top`, `top7` (this week), or `top28` (this month) |
| `verifiedOnly` | boolean | No | `false` | Keep only search results from verified creators |
| `preferredQuality` | string | No | `best` | `best`, `hd`, `sd`, or `silent` |
| `maxItems` | integer | No | empty (no limit) | Maximum videos saved across all sources |

\* Add at least one target or a search term. You can set all the fields in the [Input tab](https://apify.com/parsebird/redgifs-video-downloader/input-schema).

Example input:

```json
{
    "targets": [
        "https://www.redgifs.com/watch/seashellverifiablenorwaylobster",
        "welllitfavorablefulmar",
        "https://www.redgifs.com/users/angelalamos9rr"
    ],
    "searchQuery": "funny",
    "searchOrder": "trending",
    "preferredQuality": "best",
    "maxItems": 50
}
```

### Output example

Each row is one unique video. Download the dataset in JSON, CSV, Excel, XML, or HTML.

```json
[
    {
        "rowOrigin": "directTarget",
        "input": "welllitfavorablefulmar",
        "searchQuery": null,
        "id": "welllitfavorablefulmar",
        "canonicalUrl": "https://www.redgifs.com/watch/welllitfavorablefulmar",
        "sourceUrl": "https://www.redgifs.com/ifr/welllitfavorablefulmar",
        "title": "Amateur Ass Big Tits OnlyFans Porn GIF by angelalamos9rr",
        "description": null,
        "durationSeconds": 6.32,
        "width": 1080,
        "height": 2400,
        "hasAudio": true,
        "tags": ["Amateur", "Ass", "Big Tits", "OnlyFans"],
        "niches": [],
        "sexuality": ["straight"],
        "thumbnailUrl": "https://media.redgifs.com/WelllitFavorableFulmar-mobile.jpg",
        "posterUrl": "https://media.redgifs.com/WelllitFavorableFulmar-poster.jpg",
        "selectedQuality": "hd",
        "selectedQualityReason": "Best available selected HD.",
        "downloadUrl": "https://media.redgifs.com/WelllitFavorableFulmar.mp4",
        "availableFormats": [
            { "quality": "hd", "url": "https://media.redgifs.com/WelllitFavorableFulmar.mp4", "mimeType": "video/mp4" },
            { "quality": "sd", "url": "https://media.redgifs.com/WelllitFavorableFulmar-mobile.mp4", "mimeType": "video/mp4" },
            { "quality": "silent", "url": "https://media.redgifs.com/WelllitFavorableFulmar-silent.mp4", "mimeType": "video/mp4" }
        ],
        "userName": "angelalamos9rr",
        "verified": false,
        "views": 1953,
        "likes": 1,
        "published": true,
        "createdAt": "2026-05-09T14:49:06.000Z"
    },
    {
        "rowOrigin": "search",
        "input": null,
        "searchQuery": "funny",
        "id": "delectablesecondhandhuia",
        "canonicalUrl": "https://www.redgifs.com/watch/delectablesecondhandhuia",
        "sourceUrl": "https://www.redgifs.com/ifr/delectablesecondhandhuia",
        "title": "Funny Funny Porn r/NSFWFunny Porn GIF by slashglorp",
        "description": null,
        "durationSeconds": 7.083,
        "width": 1596,
        "height": 1080,
        "hasAudio": false,
        "tags": ["Funny", "Funny Porn", "r/NSFWFunny"],
        "niches": ["funny-nsfw"],
        "sexuality": ["animated"],
        "thumbnailUrl": "https://media.redgifs.com/DelectableSecondhandHuia-mobile.jpg",
        "posterUrl": "https://media.redgifs.com/DelectableSecondhandHuia-poster.jpg",
        "selectedQuality": "hd",
        "selectedQualityReason": "Best available selected HD.",
        "downloadUrl": "https://media.redgifs.com/DelectableSecondhandHuia.mp4",
        "availableFormats": [
            { "quality": "hd", "url": "https://media.redgifs.com/DelectableSecondhandHuia.mp4", "mimeType": "video/mp4" },
            { "quality": "sd", "url": "https://media.redgifs.com/DelectableSecondhandHuia-mobile.mp4", "mimeType": "video/mp4" },
            { "quality": "silent", "url": "https://media.redgifs.com/DelectableSecondhandHuia-silent.mp4", "mimeType": "video/mp4" }
        ],
        "userName": "slashglorp",
        "verified": false,
        "views": 101752,
        "likes": 199,
        "published": true,
        "createdAt": "2025-09-05T09:22:32.000Z"
    }
]
```

### Python API example

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("parsebird/redgifs-video-downloader").call(run_input={
    "targets": ["https://www.redgifs.com/watch/seashellverifiablenorwaylobster"],
    "searchQuery": "funny",
    "preferredQuality": "hd",
    "maxItems": 20,
})

for video in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(video["id"], video["selectedQuality"], video["durationSeconds"], video["downloadUrl"])
```

### JavaScript API example

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });

const run = await client.actor('parsebird/redgifs-video-downloader').call({
    targets: ['https://www.redgifs.com/users/angelalamos9rr'],
    preferredQuality: 'best',
    maxItems: 50,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map((v) => `${v.id} ${v.views} ${v.downloadUrl}`));
```

See Apify's [Python client](https://docs.apify.com/api/client/python/) and [JavaScript client](https://docs.apify.com/api/client/js/) docs for more options.

### Use cases

- **Bulk RedGifs downloads.** Turn a list of links into MP4 URLs and feed them to a download manager, `curl`, or your own script.
- **Backups of your own uploads.** Add your creator profile to keep a copy of the videos you've published.
- **Content curation for communities.** Pull trending or top-of-the-week videos for a tag and review them before posting elsewhere.
- **Trend and tag research.** Compare views, likes, tags, and niches across search terms or creators.
- **Creator analytics.** Track a creator's public videos, view counts, and posting dates over time with a scheduled run.
- **Dataset building.** Collect video metadata and links in JSON or CSV for moderation, tagging, or classification work.

### How it works

1. The actor reads your targets, recognises each one as a video or a creator profile, and skips duplicates and anything that isn't a RedGifs link or ID.
2. It looks up each video through the same public API the RedGifs website uses, with a guest token. No login is needed.
3. Creator profiles and search terms are paged 80 videos at a time. Search stops at the RedGifs limit of 10,000 results per term.
4. For each video it lists every MP4 format, picks the one matching your preferred quality (or the next best one), and saves one row per unique video ID.
5. The run stops when it reaches Maximum videos, runs out of results, or hits your spending limit. If RedGifs rate-limits an IP, the actor switches to a fresh IP and carries on.

### How much does it cost to download RedGifs videos?

**What is the price per RedGifs video?**

| Plan | Price per video | Price per 1,000 videos |
|------|-----------------|------------------------|
| Free | $0.00799 | **$7.99** |
| Bronze | $0.00749 | **$7.49** |
| Silver | $0.00699 | **$6.99** |
| Gold | $0.00649 | **$6.49** |

You pay one `video-scraped` event for each video saved to the dataset. Compute and proxy usage are included in the event price. Videos that aren't found, images, and duplicates aren't charged. For example, the prefilled run (10 videos) costs about $0.08 on the Free plan, and a full 10,000-result search costs at most $79.90 on Free or $64.90 on Gold. In our tests, full searches returned between 9,705 and 9,940 unique videos, because RedGifs repeats some videos across result pages.

Apify's free plan includes monthly platform credits you can use on this actor. Set **Maximum videos** or a run spending limit to stay within budget.

### Is it legal to download videos from RedGifs?

**Is scraping RedGifs legal?**

RedGifs Video Downloader only reads publicly available video data and links that anyone can see on redgifs.com without logging in. It doesn't access accounts, private content, or anything behind a paywall. Scraping publicly available data is generally allowed in many jurisdictions, but the videos belong to their creators. Review the [RedGifs Terms of Service](https://www.redgifs.com/terms), respect creators' copyright, don't re-upload content you don't have rights to, and make sure your use complies with applicable laws, including age and adult-content rules where you live. For more background, read Apify's guide: [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/)

### Other video downloaders / Related Actors

| Actor | Best for |
|-------|----------|
| [Twitter (X) Video Downloader](https://apify.com/parsebird/twitter-video-downloader) | MP4 links for videos and GIFs in X posts |
| [TikTok Video Downloader](https://apify.com/parsebird/tiktok-video-downloader) | TikTok videos as MP4, re-hosted in Apify storage or your own cloud bucket |
| [Pinterest Video Downloader](https://apify.com/parsebird/pinterest-video-downloader) | Direct MP4 and image links for Pinterest pins |
| [Kick Video Downloader](https://apify.com/parsebird/kick-video-downloader) | Kick VODs and clips up to 1080p60 |
| [Facebook Media Downloader](https://apify.com/parsebird/facebook-media-downloader) | HD and SD MP4 links for public Facebook videos, reels, and photos |
| [Telegram Media Downloader](https://apify.com/parsebird/telegram-media-downloader) | Media URLs and metadata from public Telegram channels |
| [Video Frame Extractor](https://apify.com/parsebird/video-frame-extractor) | Still frames from MP4 links, YouTube, and TikTok, for thumbnails or analysis |

### FAQ

**Do I need a RedGifs account or API key?**

No. The actor uses the same guest access the RedGifs website gives logged-out visitors. You only need an Apify account.

**Does the actor save the MP4 files themselves?**

No. It returns direct `media.redgifs.com` links, which open and download without a login. They're plain file URLs without expiring signatures. To save the files, open the links or pass them to a downloader such as `curl` or `wget`.

**What's the difference between HD, SD, and silent?**

`hd` is the full-size MP4, `sd` is the smaller mobile version (`-mobile.mp4`), and `silent` is the version without sound (`-silent.mp4`). Not every video has a silent file. In that case, choosing Silent falls back to HD, and `selectedQualityReason` says so.

**Can I download every video from a RedGifs user?**

Yes. Add the profile URL, for example `https://www.redgifs.com/users/angelalamos9rr`, to Targets. The actor collects the creator's public videos, newest first. Leave Maximum videos empty to get them all.

**How many search results can I get?**

Up to 10,000 per search term, which is the RedGifs search limit. For more, run different terms or sort orders. Use one search term per run, and call the actor again (or create an [Apify task](https://docs.apify.com/platform/actors/running/tasks)) for each additional term.

**What happens with removed videos, images, or bad links?**

Removed or unknown IDs are logged as "not found", images (which have no MP4) are skipped, and inputs that aren't RedGifs links are listed in the log. None of these are charged. The run's status message summarises how many of each it saw.

**Does it search tags or titles?**

It uses the RedGifs site search, so results match the same videos you'd see when searching on redgifs.com. In our tests, over 95% of results for `cosplay`, `amateur`, and `big tits` had the search term in their tags or title.

**How fast is it?**

A full 10,000-result search took between 1.5 and 8 minutes in our tests, depending on how fast RedGifs answered. A list of 2,000 video links took about 3.5 minutes.

**Can I use it with Make, Zapier, or my own app?**

Yes. Use the [API tab](https://apify.com/parsebird/redgifs-video-downloader/api) for ready-to-use code, or connect the actor through Apify [integrations](https://apify.com/integrations) and webhooks.

**Something doesn't work. Where do I report it?**

Open an issue in the [Issues tab](https://apify.com/parsebird/redgifs-video-downloader/issues) with your run ID and input.

# Changelog

This Actor's version history is a separate document: https://apify.com/parsebird/redgifs-video-downloader/changelog.md

# Actor input Schema

## `targets` (type: `array`):

Add one RedGifs item per row: a watch URL (https://www.redgifs.com/watch/<id>), an iframe URL (https://www.redgifs.com/ifr/<id>), a media.redgifs.com MP4 link, a raw video ID, or a user profile URL (https://www.redgifs.com/users/<name>) to get that creator's public videos.

## `searchQuery` (type: `string`):

Enter one search term to collect matching public RedGifs videos (up to 10,000 per term, the RedGifs search limit). Use a separate run for each term.

## `searchOrder` (type: `string`):

Choose how RedGifs sorts search results.

## `verifiedOnly` (type: `boolean`):

Turn on to keep only search results from creators RedGifs marks as verified.

## `preferredQuality` (type: `string`):

Pick which MP4 goes in downloadUrl. 'Best' takes HD, then SD. 'Silent' is the version without audio. If your choice is not available for a video, the next best format is used and selectedQualityReason explains why. All available formats are always listed in availableFormats.

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

Limit the total number of saved videos across targets, user profiles, and search. Leave empty to process everything until the sources run out.

## Actor input object example

```json
{
  "targets": [
    "https://www.redgifs.com/watch/seashellverifiablenorwaylobster",
    "welllitfavorablefulmar"
  ],
  "searchQuery": "funny",
  "searchOrder": "trending",
  "verifiedOnly": false,
  "preferredQuality": "best",
  "maxItems": 10
}
```

# Actor output Schema

## `results` (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 = {
    "targets": [
        "https://www.redgifs.com/watch/seashellverifiablenorwaylobster",
        "welllitfavorablefulmar"
    ],
    "searchQuery": "funny",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/redgifs-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 = {
    "targets": [
        "https://www.redgifs.com/watch/seashellverifiablenorwaylobster",
        "welllitfavorablefulmar",
    ],
    "searchQuery": "funny",
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("parsebird/redgifs-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 '{
  "targets": [
    "https://www.redgifs.com/watch/seashellverifiablenorwaylobster",
    "welllitfavorablefulmar"
  ],
  "searchQuery": "funny",
  "maxItems": 10
}' |
apify call parsebird/redgifs-video-downloader --silent --output-dataset

```

## MCP server setup

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