# eBay Kleinanzeigen Scraper – Listings, Prices & Sellers (`romantic_boysenberry/kleinanzeigen-listings-scraper`) Actor

Scrape Kleinanzeigen.de (ex eBay Kleinanzeigen) listings by keyword or search URL: title, price, VB flag, location, zip, date, images, shipping, plus optional full description, seller name/type, views and attributes. No login, no browser. $2 per 1,000 listings.

- **URL**: https://apify.com/romantic_boysenberry/kleinanzeigen-listings-scraper.md
- **Developed by:** [정무 최](https://apify.com/romantic_boysenberry) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$2.00 / 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.

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

## Kleinanzeigen Scraper – Listings, Prices & Sellers (eBay Kleinanzeigen)

**Kleinanzeigen Scraper** extracts classified ads from **Kleinanzeigen.de**, the German marketplace formerly known as **eBay Kleinanzeigen** and still the largest classifieds site in Germany with over 50 million live ads. Type a search term such as `fahrrad`, `iphone 15` or `wohnung berlin`, or paste any Kleinanzeigen search URL with your own location, radius, category and price filters, and get every listing as clean JSON, CSV or Excel: ad ID, title, price with VB (negotiable) and "Zu verschenken" (free) flags, zip code and city, posting date, image, shipping availability and ad URL. Turn on **Scrape ad details** to add the full description, seller name, seller type (private or commercial), view count, attributes and all images.

No Kleinanzeigen login. No API key. No headless browser. Pay only for the listings you receive.

### What does Kleinanzeigen Scraper do?

Kleinanzeigen has no public API and its official app blocks third-party clients. This Kleinanzeigen scraper reads the same server-rendered search result pages and ad pages that a visitor's browser receives, so it covers every category on the site:

- Auto, Rad & Boot: cars, motorcycles, bicycles, e-bikes, car parts
- Elektronik: phones, laptops, consoles, cameras, audio
- Haus & Garten, Möbel: furniture, kitchens, tools, garden
- Immobilien: apartments for rent, houses, WG rooms, commercial property
- Mode & Beauty, Familie, Kind & Baby, Freizeit, Hobby & Nachbarschaft
- Jobs, Dienstleistungen, Haustiere, Zu verschenken & Tauschen

One run can cover a whole market segment: search `e-bike`, take 500 listings, enable details, and you have 500 structured German classifieds with seller type and view counts in a few minutes.

### Why use this eBay Kleinanzeigen scraper?

- **Built for reliability.** Kleinanzeigen scrapers on Apify Store typically fail one run in six. Kleinanzeigen Scraper retries rate limits (HTTP 429) and server errors automatically, detects captcha and "Zugriff verweigert" block pages and fails loudly with a clear message instead of returning an empty dataset, and deduplicates the sponsored "TOP" ads that repeat on every result page.
- **Pure HTTP, no browser.** Fast, cheap on compute, and a single run handles thousands of listings on 512 MB of memory.
- **Pay per listing.** $2.00 per 1,000 listings, billed only for results actually returned. No subscription, no minimum.
- **Keyword or URL input.** Search Germany-wide by keyword, or paste a filtered Kleinanzeigen URL with location, radius, category, price range, sort order and "Angebote/Gesuche" selection.
- **Optional deep scrape.** Full description, attributes (Art, Zustand, Marke, Farbe and so on), category path, seller name and seller type, "Aktiv seit" date, views and the complete image list, one request per ad.
- **Ready for AI agents.** Every Apify Actor is also an API endpoint and an MCP server, so Claude, ChatGPT, LangChain or n8n workflows can call Kleinanzeigen Scraper directly.

### Output: what data can you extract from Kleinanzeigen listings?

Each dataset item is one listing. Fields marked *details* are filled only when `scrapeDetails` is on.

| Field | Example | Description |
|---|---|---|
| `adId` | `3535850395` | Kleinanzeigen ad ID (use it to deduplicate between runs) |
| `title` | `Bulls Sonic Evo AM 2 Carbon E-MTB Fully` | Listing title |
| `priceText` | `2.120 € VB` | Price exactly as shown on the site |
| `price` | `2120` | Numeric price in euros, `0` for giveaways, `null` when only "VB" is shown |
| `currency` | `EUR` | Always EUR when a price is present |
| `negotiable` | `true` | "VB" (Verhandlungsbasis) flag |
| `giveaway` | `false` | "Zu verschenken" flag |
| `location` | `38440 Wolfsburg` | Zip and city from the result card; zip, state and city from the ad page |
| `zip` | `38440` | German postal code |
| `date` | `Heute, 18:40` | Posting date as shown on the card (`Heute`, `Gestern` or `dd.mm.yyyy`); full date from the ad page |
| `description` | `Bulls Sonic Evo AM 2 Carbon ...` | Snippet (about 250 characters) from the card; full text with line breaks from the ad page |
| `image` | `https://img.kleinanzeigen.de/api/v1/prod-ads/images/...` | Main image URL |
| `tags` | `["Versand möglich"]` | Badges shown on the card |
| `shippingPossible` | `true` | Whether the seller offers shipping |
| `url` | `https://www.kleinanzeigen.de/s-anzeige/.../3535850395-217-3074` | Ad URL |
| `searchQuery` | `fahrrad` | The keyword or URL that produced this listing |
| `scrapedAt` | `2026-10-10T12:00:00.000Z` | Scrape timestamp |
| `shipping` *details* | `Nur Abholung` | Shipping text from the ad page |
| `attributes` *details* | `{"Art":"Herren","Typ":"Elektrofahrräder","Zustand":"Sehr Gut"}` | Category-specific attributes |
| `categoryPath` *details* | `["Auto, Rad & Boot","Fahrräder & Zubehör","Herren"]` | Breadcrumb categories |
| `images` *details* | `["https://img.kleinanzeigen.de/...", ...]` | All gallery images |
| `sellerName` *details* | `Pingpong` | Public display name or shop name |
| `sellerId` *details* | `167263997` | Public profile ID (private sellers only) |
| `sellerType` *details* | `private` | `private` or `commercial` |
| `sellerActiveSince` *details* | `09.10.2026` | "Aktiv seit" date |
| `views` *details* | `312` | View counter of the ad |

Example output (JSON, with details):

```json
{
  "adId": "3535850395",
  "title": "Bulls Sonic Evo AM 2 Carbon E-MTB Fully",
  "priceText": "2.120 € VB",
  "price": 2120,
  "currency": "EUR",
  "negotiable": true,
  "giveaway": false,
  "location": "38440 Niedersachsen - Wolfsburg",
  "zip": "38440",
  "date": "09.10.2026",
  "description": "Bulls Sonic Evo AM 2 Carbon\n\nE-Mountainbike - Bulls Sonic Evo AM 2 Carbon.\n\nVerkaufe mein hochwertiges Bulls Sonic Evo AM 2 Carbon E-Mountainbike ...",
  "image": "https://img.kleinanzeigen.de/api/v1/prod-ads/images/05/05662434-669c-45c4-8e17-ac939b9e4a8e?rule=$_59.AUTO",
  "tags": [],
  "shippingPossible": false,
  "shipping": "Nur Abholung",
  "attributes": { "Art": "Herren", "Typ": "Elektrofahrräder", "Zustand": "Sehr Gut" },
  "categoryPath": ["Auto, Rad & Boot", "Fahrräder & Zubehör", "Herren"],
  "images": ["https://img.kleinanzeigen.de/api/v1/prod-ads/images/05/05662434-669c-45c4-8e17-ac939b9e4a8e?rule=$_59.AUTO"],
  "sellerName": "Pingpong",
  "sellerId": "167263997",
  "sellerType": "private",
  "sellerActiveSince": "09.10.2026",
  "views": 312,
  "url": "https://www.kleinanzeigen.de/s-anzeige/bulls-sonic-evo-am-2-carbon-e-mtb-fully/3535850395-217-3074",
  "searchQuery": "fahrrad",
  "scrapedAt": "2026-10-10T12:00:00.000Z"
}
```

Download the dataset as JSON, CSV, Excel, XML or RSS from the Apify Console, or fetch it through the API.

### How to scrape Kleinanzeigen listings

1. Open **Kleinanzeigen Scraper** in Apify Store and click **Try for free**.
2. Enter one or more **keywords** (`fahrrad`, `playstation 5`, `sofa`) or paste **search URLs** copied from kleinanzeigen.de.
3. Set **Max listings per search** (default 50) and switch on **Scrape ad details** if you need descriptions, sellers and views.
4. Click **Start**. Results appear in the **Output** tab within a minute.
5. Export, or schedule the run to repeat hourly for price alerts and new-listing monitoring.

#### How do I build a Kleinanzeigen search URL with filters?

Run the search on kleinanzeigen.de with the filters you want and copy the address bar. Examples:

```
https://www.kleinanzeigen.de/s-fahrrad/k0                      keyword, all of Germany
https://www.kleinanzeigen.de/s-berlin/e-bike/k0l3331           keyword in Berlin
https://www.kleinanzeigen.de/s-fahrraeder/c217                 whole category "Fahrräder & Zubehör"
https://www.kleinanzeigen.de/s-preis:100:500/fahrrad/k0        price between 100 and 500 €
https://www.kleinanzeigen.de/s-anzeige:angebote/fahrrad/k0     offers only (no "Gesuche")
```

Kleinanzeigen Scraper follows the "Seite 2, 3, ..." links automatically, so paste the first page only.

### Input parameters

| Parameter | Type | Default | Description |
|---|---|---|---|
| `keywords` | array | `["fahrrad"]` | Search terms, searched Germany-wide. |
| `searchUrls` | array | `[]` | Full kleinanzeigen.de result URLs with any filters. Combined with keywords. |
| `maxItemsPerSearch` | integer | `50` | Listings taken per keyword or URL (1 to 1250; the site serves at most 50 pages). |
| `scrapeDetails` | boolean | `false` | Open every ad page for description, attributes, seller, views and images. |
| `proxyConfiguration` | object | no proxy | Kleinanzeigen answers Apify platform IPs directly, so no proxy is the cheapest working default. Apify datacenter proxies are blocked with HTTP 403; if a run reports a block, switch to Apify residential proxy with country DE. |

Example input:

```json
{
  "keywords": ["e-bike", "rennrad"],
  "searchUrls": ["https://www.kleinanzeigen.de/s-muenchen/fahrrad/k0l6411"],
  "maxItemsPerSearch": 100,
  "scrapeDetails": true,
  "proxyConfiguration": { "useApifyProxy": false }
}
```

### How much does it cost to scrape Kleinanzeigen?

Kleinanzeigen Scraper uses Apify's **pay-per-event** pricing: **$0.002 per listing** ($2.00 per 1,000 listings). You are charged only for listings that land in your dataset. A run that returns nothing costs nothing beyond Apify platform usage. Enabling `scrapeDetails` does not change the per-listing price; it only adds a little proxy traffic and run time.

| Listings | Price |
|---|---|
| 1,000 | $2.00 |
| 10,000 | $20.00 |
| 100,000 | $200.00 |

Apify's free plan includes $5 of monthly usage, enough for about 2,000 listings to evaluate the Actor. Residential proxy traffic is billed by Apify separately at the platform rate; the Actor downloads only HTML pages of a few hundred kilobytes, so proxy cost per listing is a fraction of a cent.

### Use cases for Kleinanzeigen data

- **Price monitoring and deal alerts:** Schedule an hourly run for `rtx 4090` or `vespa` and push new listings below your target price to Slack or Telegram.
- **Market and resale research:** Compare asking prices for used iPhones, e-bikes or furniture across cities before buying, selling or setting store prices.
- **Real estate tracking:** Pull apartment and WG listings for a city and watch rent levels and time on market.
- **Lead generation for dealers and services:** Find private sellers of cars, boats or pianos in your radius, or commercial sellers in your segment.
- **Competitor analysis:** Track how many listings, which prices and which attributes commercial sellers in your category offer.
- **Datasets for machine learning:** Tens of thousands of German titles, descriptions, prices and attributes for pricing models, NER and classification.
- **AI agents:** Let an agent answer "what does a used Brompton cost in Hamburg right now?" by calling the Actor through MCP.

### Use Kleinanzeigen Scraper from code

**Python**

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("romantic_boysenberry/kleinanzeigen-listings-scraper").call(run_input={
    "keywords": ["e-bike"],
    "maxItemsPerSearch": 100,
    "scrapeDetails": True,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["price"], item["sellerType"], item["title"])
```

**JavaScript**

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

const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('romantic_boysenberry/kleinanzeigen-listings-scraper').call({
  searchUrls: ['https://www.kleinanzeigen.de/s-berlin/sofa/k0l3331'],
  maxItemsPerSearch: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length, 'listings');
```

**cURL**

```bash
curl -X POST "https://api.apify.com/v2/acts/romantic_boysenberry~kleinanzeigen-listings-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"keywords":["playstation 5"],"maxItemsPerSearch":30}'
```

The Actor also works as an **MCP server** for Claude Desktop, Cursor and other agents, and plugs into **n8n**, **Make**, **Zapier** and **LangChain** through the standard Apify integrations.

### Tips for best results

- Use German search terms (`fahrrad`, not `bicycle`); Kleinanzeigen matches titles and descriptions literally.
- Paste a filtered search URL instead of a keyword when you need a city, radius, category or price range. Everything the website can filter, the Actor can scrape.
- For monitoring, sort by newest (the default on kleinanzeigen.de) and keep `maxItemsPerSearch` small, then deduplicate on `adId` in your pipeline.
- Keep `scrapeDetails` off for price scans: the result cards already carry price, location, date and a description snippet. Switch it on when you need seller type, views or full text.
- `price` is `null` when a seller shows only "VB"; filter on `priceText` or `negotiable` to handle those ads.
- Start without a proxy (the default). If a run stops with a "Blocked" error, switch `proxyConfiguration` to Apify residential proxy with country DE; shared datacenter proxies are rejected by Kleinanzeigen with HTTP 403.

### Limitations

- Only data visible to anonymous visitors is collected. Phone numbers, email addresses and anything behind the login or the "Nachricht schreiben" form are never collected.
- Kleinanzeigen serves at most 50 result pages (roughly 1,250 listings) per search. Split large searches by category, city or price range.
- `date` on result cards is the display string (`Heute, 18:40`, `Gestern, 09:12` or `dd.mm.yyyy`); the ad page always gives the full date when `scrapeDetails` is on.
- Sponsored "TOP" ads appear on every page; the Actor deduplicates them by `adId` within a run.
- Kleinanzeigen changes its markup occasionally. If a run suddenly returns zero listings or hits a block page, the Actor fails loudly with the reason instead of silently succeeding; check the run log and open an issue.

### Legal and ethical use

Kleinanzeigen Scraper collects only publicly visible listing content and the public display name of the seller. It does not log in, does not bypass access controls, does not solve captchas and does not collect private contact details. Listing text and images may be protected by copyright and personal data rules in your jurisdiction; use the data for analysis, research and monitoring in line with [Kleinanzeigen's terms of use](https://www.kleinanzeigen.de) and applicable law, including the GDPR. You are responsible for how you use the output.

### FAQ

**Is this the eBay Kleinanzeigen scraper?**
Yes. eBay Kleinanzeigen was renamed Kleinanzeigen in 2023 after Adevinta took it over; the site at kleinanzeigen.de is the same marketplace. Kleinanzeigen Scraper works with the current site.

**Does Kleinanzeigen have an official API?**
No public one. The old mobile API requires app credentials and is actively locked down. This Actor reads the public website instead.

**Can I scrape a specific city or radius?**
Yes. Set location and radius on kleinanzeigen.de, copy the URL (it contains the location ID such as `l3331` for Berlin) and paste it into `searchUrls`.

**Can I get the seller's phone number or email?**
No. Contact details are behind the login and are personal data; the Actor deliberately does not collect them. Seller name, type, "Aktiv seit" date and public profile ID are included with `scrapeDetails`.

**Why do runs with datacenter proxies fail?**
Kleinanzeigen answers shared datacenter proxy IPs with HTTP 403 or a captcha page. The Actor detects this and stops with a clear "Blocked" error instead of returning an empty dataset. Run without a proxy (the default) or use the Apify residential proxy group with country DE.

**How fresh is the data?**
Every run fetches live from Kleinanzeigen. Nothing is cached.

**Can I run it on a schedule?**
Yes. Use Apify Schedules to run every 10 minutes, hourly or daily, and connect a webhook or integration to receive new listings automatically.

**Is there a free trial?**
Apify's free plan gives you $5 of usage every month, so you can test Kleinanzeigen Scraper without a credit card.

### Related classifieds and marketplace Actors

- [Kleinanzeigen.de Scraper (Richest output)](https://apify.com/memo23/kleinanzeigen-search-scraper-ppe) by another developer
- [Kleinanzeigen Scraper](https://apify.com/beatanalytics/kleinanzeigen-scraper) by another developer
- [Kleinanzeigen Immobilien Scraper Pro](https://apify.com/clearpath/kleinanzeigen-immobilien-api-pro) for real-estate-only crawling
- [Naver Place Reviews Scraper](https://apify.com/romantic_boysenberry/naver-place-reviews-scraper) by this developer, for Korean business reviews
- More marketplace Actors from this developer are on the way.

***

### Kleinanzeigen 매물 수집기 (한국어 안내)

**Kleinanzeigen 매물 수집기**는 독일 최대 중고거래·생활정보 사이트 Kleinanzeigen.de(구 eBay Kleinanzeigen)의 매물을 검색어 또는 검색 URL로 수집해 JSON, CSV, Excel로 내려받는 Apify 액터입니다. 로그인, API 키, 브라우저 설치가 모두 필요 없고, 매물 1건당 $0.002(1,000건에 $2)만 과금됩니다. 출력 필드는 광고 ID, 제목, 가격(숫자·통화·VB 협상가능·무료나눔 플래그), 우편번호와 도시, 등록일, 이미지, 배송 가능 여부, URL이며, 상세 수집 옵션을 켜면 전체 설명, 속성, 카테고리 경로, 전체 이미지, 판매자 이름·유형(개인/사업자)·활동 시작일, 조회수가 추가됩니다. 자전거·전자제품·가구·부동산·자동차 등 모든 카테고리를 지원하며, 가격 모니터링, 리셀 시세 조사, 독일 부동산 추적, 딜러 리드 발굴, 머신러닝 데이터셋 구축에 활용할 수 있습니다. 429·5xx 자동 재시도와 캡차·접근거부 페이지 감지로 실행 실패를 줄였고, 공개된 정보만 수집하며 전화번호·이메일 등 개인정보는 수집하지 않습니다. 사용법: 액터 페이지에서 **Try for free** → 검색어(예: `fahrrad`) 입력 → **Start** → Output 탭에서 다운로드.

# Actor input Schema

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

Kleinanzeigen search terms, e.g. "fahrrad", "iphone 15", "wohnung berlin". Each keyword is searched Germany-wide (https://www.kleinanzeigen.de/s-<keyword>/k0) and paginated until maxItemsPerSearch is reached.

## `searchUrls` (type: `array`):

Full kleinanzeigen.de result URLs copied from the browser, e.g. https://www.kleinanzeigen.de/s-berlin/e-bike/k0l3331 or a category URL like https://www.kleinanzeigen.de/s-fahrraeder/c217. Use this for location, radius, category, price and sort filters. Used in addition to keywords.

## `maxItemsPerSearch` (type: `integer`):

Upper bound of listings collected per keyword or URL (about 25 per result page, max 50 pages). Billing is per listing pushed.

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

Open every ad page to add the full description, attributes (Art, Zustand, Marke...), category path, all images, shipping, seller name, seller type (private/commercial), seller active-since date and view count. One extra request per listing, so runs take longer.

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

Optional. Kleinanzeigen answers Apify platform IPs directly, so no proxy is the cheapest working default. Apify datacenter proxies get HTTP 403; if a run reports a block, switch to Apify residential proxy with country DE.

## Actor input object example

```json
{
  "keywords": [
    "fahrrad"
  ],
  "maxItemsPerSearch": 50,
  "scrapeDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `listings` (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": [
        "fahrrad"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("romantic_boysenberry/kleinanzeigen-listings-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": ["fahrrad"],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("romantic_boysenberry/kleinanzeigen-listings-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": [
    "fahrrad"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call romantic_boysenberry/kleinanzeigen-listings-scraper --silent --output-dataset

```

## MCP server setup

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