# Carmarket.ch Scraper: Swiss Dealer Cars, Filters and VIN Data (`getascraper/carmarket-ch-scraper`) Actor

Scrape carmarket.ch, the Swiss dealer car marketplace, with real structured filters: brand, model, price, mileage, year, body type, fuel, EV toggle, and geo-radius search. Each row has VIN, type approval, battery range, photos, and full dealer contact. $1.76 per 1,000 listings.

- **URL**: https://apify.com/getascraper/carmarket-ch-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Lead generation, E-commerce
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.36 / 1,000 vehicle listings

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

## 🚗 Carmarket.ch Scraper: Swiss Dealer Cars with Real Search Filters

<table width="100%">
<tr>
<td style="padding:24px 28px;background:#EAF2F8;border:1px solid #C7D9EA;border-top:4px solid #0B1F33;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Search carmarket.ch by make, price, mileage, and battery range, not by pasting a URL.</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Filter Switzerland's dealer car marketplace the way you'd actually shop: make, model, price, mileage, year, body type, fuel, transmission, drivetrain, and location. Get VIN, battery kWh and range, leasing rate, and full dealer contact details.</span>
</td>
</tr>
</table>

<table width="100%">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C7D9EA;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#0B1F33">🎯 Real search filters</span><br>
<span style="font-size:12px;color:#57534E">Make, model, price, mileage, year, body type, fuel, transmission, drivetrain.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C7D9EA;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#0B1F33">🔋 EV battery data</span><br>
<span style="font-size:12px;color:#57534E">Battery capacity and real-world range on every electric listing.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C7D9EA;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#0B1F33">🏢 Full dealer contact</span><br>
<span style="font-size:12px;color:#57534E">Address, phone, email, website, and the assigned sales advisor.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C7D9EA;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#0B1F33">📍 Location search</span><br>
<span style="font-size:12px;color:#57534E">Search by canton, city, or a radius around any point in Switzerland.</span>
</td>
</tr>
</table>

Most carmarket.ch tools make you paste a search URL and hope you guessed the filter codes right. This Actor gives you real, named filters, a full technical record per listing, and the dealer's complete contact details, with no URL-building required.

### 🔍 What does this Actor do?

Carmarket.ch Scraper turns Switzerland's dealer car marketplace into structured, filterable data. It's built for dealers and resellers pricing their own stock against the market, EV buyers who care about battery range, used-car analysts, and lead-generation teams building dealer contact lists.

Set a guided search by make, model, price, mileage, first registration year, body type, fuel type, transmission, drivetrain, exterior color, and vehicle condition. Search near a city or any point in Switzerland with a radius. Or paste a carmarket.ch search link directly if you already have one saved.

Every result includes the asking price, mileage, first registration date, power, fuel consumption, CO2 figure, photos, and (for electric vehicles) battery capacity and range. Switch on full-detail mode and each listing also gets its VIN, Swiss type approval number, warranty and quality-check coverage, leasing terms, and the dealer's address, phone, email, website, and the assigned sales advisor's name, phone, and email.

### 🎯 Why use it?

- **Dealers and resellers** can price their own stock against every comparable listing in Switzerland, filtered by make, model, and mileage band, in one run.
- **EV shoppers and analysts** can filter directly for electric vehicles and compare battery capacity and range instead of opening every listing to check.
- **Lead-generation teams** can build a list of Swiss car dealers with phone, email, website, and a named sales contact, without manual lookups.
- **Market researchers** can track pricing, mileage, and inventory trends for any make or body type across the whole country or one region.

### 🧭 How to use it

<table width="100%">
<tr>
<td style="padding:16px 14px;width:33%;background:#EAF2F8;border:1px solid #C7D9EA;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#0B1F33;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Pick your filters</span><br>
<span style="font-size:12px;color:#57534E">Make, price, mileage, year, body type, fuel, or location.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#EAF2F8;border:1px solid #C7D9EA;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#0B1F33;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Choose your detail level</span><br>
<span style="font-size:12px;color:#57534E">Keep it fast, or turn on full dealer and VIN detail.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#EAF2F8;border:1px solid #C7D9EA;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#0B1F33;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Export results</span><br>
<span style="font-size:12px;color:#57534E">Download your dataset in JSON, CSV, Excel, or HTML.</span>
</td>
</tr>
</table>

### 🧾 Input

| Field | Type | Required | Description |
|---|---|---|---|
| `brands` | array of strings | No | Limit results to these makes, matched against carmarket.ch's own brand list. |
| `models` | array of strings | No | Limit results to these model names. |
| `priceMinChf` / `priceMaxChf` | integer | No | Price range in Swiss francs. |
| `mileageMaxKm` | integer | No | Maximum mileage, in kilometers. |
| `yearFrom` / `yearTo` | integer | No | First registration year range. |
| `bodyTypeGroups` | array of enum | No | Cabriolet, Coupé, estate, sedan, minivan, commercial/leisure, pickup, or SUV. |
| `fuelTypeGroups` | array of enum | No | Petrol, diesel, electric, gas, hybrid, or hydrogen. |
| `onlyElectric` | boolean | No | Shortcut for electric vehicles only. Default `false`. |
| `transmissionGroup` | enum | No | Automatic or manual. |
| `driveType` | enum | No | All-wheel, rear-wheel, or front-wheel drive. |
| `vehicleCondition` | array of enum | No | New, used, show car, day registration, or demo model. |
| `vehicleType` | enum | No | Passenger car, commercial vehicle, or motorhome. |
| `language` | enum | No | Site language for listing text: German, French, or Italian. Default German. |
| `dealerCity` | string | No | Limit results to dealers in this city. |
| `nearLatitude` / `nearLongitude` / `radiusKm` | number / number / integer | No | Search within a radius of a point in Switzerland. |
| `maxItems` | integer | No | Maximum listings returned. Default `25`. |
| `includeFullDetail` | boolean | No | Fetch each listing's VIN, type approval, warranty, leasing terms, and full dealer and sales-advisor contact. Default `false`. |
| `startUrl` | string | No | Paste a carmarket.ch search URL directly instead of using the filters above. |
| `otherFilterTags` | array of enum | No | Accident-free, quality-checked, home delivery, on promotion, or passed inspection. |
| `exteriorColors` | array of enum | No | Limit results to these exterior colors. |
| `proxyConfiguration` | object | No | Optional proxy settings. Not required for normal use. |

### 📦 Output

Every record includes the listing's identity, specifications, pricing, and photos. Full-detail mode adds VIN, type approval, warranty, leasing terms, and dealer and sales-advisor contact.

```json
{
  "vehicleId": 4509795,
  "url": "https://carmarket.ch/de/fahrzeug/bmw-116i-4509795",
  "title": "116i",
  "brand": "BMW",
  "model": "1er",
  "bodyType": "Sedan",
  "fuelType": "Benzin",
  "transmission": "Manuell",
  "firstRegistrationDate": "2012-09-28T00:00:00.000Z",
  "mileageKm": 122562,
  "powerPs": 136,
  "co2GramsPerKm": 125,
  "priceChf": 7900,
  "exteriorColor": "Silber",
  "otherFilterTags": ["Ab MFK", "Unfallfrei"],
  "thumbnailUrl": "https://vehicle.imgix.net/4509795/98ea4a30-ab7f-4b16-aad7-51e3cfded185.jpg",
  "dealerName": "Auto-Stadelmann AG",
  "dealerCity": "Frick",
  "dealerPhone": "062 871 38 38",
  "dealerEmail": "info@autostadelmann.ch"
}
```

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

### 📊 Data table

| Field | Type | Description |
|---|---|---|
| `vehicleId`, `url`, `title`, `brand`, `model` | mixed | Listing identity and link. |
| `bodyType`, `bodyTypeGroup`, `fuelType`, `fuelTypeGroup`, `transmission`, `driveType` | string | Vehicle category and powertrain. |
| `firstRegistrationDate`, `mileageKm`, `powerPs`, `powerKw`, `engineCapacityCcm` | mixed | Core specifications. |
| `co2GramsPerKm`, `emissionClass`, `fuelConsumptionCityL100km`, `fuelConsumptionCountryL100km`, `fuelConsumptionCombinedL100km` | mixed | Emissions and consumption figures, when published. |
| `batteryCapacityKwh`, `batteryRangeKm` | number | Battery size and range, for electric and hybrid listings. |
| `vin`, `typeApproval` | string | Vehicle identification number and Swiss type approval number, full-detail mode only. |
| `priceChf`, `leasingRateFromChfPerMonth`, `warrantyMonths` | mixed | Price, financing, and warranty coverage. |
| `thumbnailUrl`, `photos`, `mediaCount` | mixed | Listing images. |
| `dealerName`, `dealerCity`, `dealerZip`, `dealerLatitude`, `dealerLongitude` | mixed | Dealer identity and location. |
| `dealerPhone`, `dealerEmail`, `dealerWebsite` | string | Dealer contact, full-detail mode only. |
| `salesAdvisorName`, `salesAdvisorPhone`, `salesAdvisorEmail` | string | The listing's assigned sales contact, full-detail mode only. |
| `otherFilterTags` | array | Real site badges such as accident-free or quality-checked. |

Any field the source listing does not publish is left out of that record entirely, so you never see placeholder or made-up values.

### 💰 Pricing

Pricing is pay per result. Empty runs cost nothing, and there are no subscriptions. Free plan runs are limited to 25 listings per run, 3 runs per day, and a short wait between runs; upgrade to a paid plan to remove these limits.

### ⭐ Enjoying Carmarket.ch Scraper?

<table width="100%">
<tr>
<td style="padding:20px 24px 14px;background:#EAF2F8;border:1px solid #C7D9EA;border-left:5px solid #0B1F33;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">This Actor just saved you from guessing carmarket.ch's URL filter codes.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other dealers, researchers, and lead-gen teams find it. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#0B1F33;border:1px solid #C7D9EA;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/carmarket-ch-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### ❓ FAQ

**Can I paste a carmarket.ch URL I already filtered?**
Yes. Fill in the `startUrl` field and the Actor uses that search link alongside, or instead of, the filters above.

**Does this need a carmarket.ch account or API key?**
No. It reads carmarket.ch's own public listing data. No login, account, or API key is required.

**Why is a field like VIN or dealer phone missing from a record?**
Either the listing doesn't publish it, or `includeFullDetail` was left off. Turn it on to fetch VIN, type approval, warranty, and full dealer and sales-advisor contact for each listing. Missing values are always omitted, never guessed.

**Is this affiliated with carmarket.ch?**
No. This is an independent tool that reads publicly available listing information. Use it in line with applicable rules and the source website's terms.

Found a bug or want a feature added? Open an issue on the Actor's Issues tab, or reach out for a custom version of this Actor.

### 🔗 Other actors

- [Kleinanzeigen Cars Scraper: German Used Cars with Dealer Data](https://apify.com/getascraper/kleinanzeigen-cars-scraper) ↗ - Dealer-ready used-car inventory from Germany's largest classifieds site.
- [Willhaben Cars Scraper: Austria Used Car Data (Gebrauchtwagen)](https://apify.com/getascraper/willhaben-cars-scraper) ↗ - Used-car listings from Austria's leading marketplace.
- [Marktplaats Cars Scraper: Netherlands Tweedehands Auto's Data](https://apify.com/getascraper/marktplaats-cars-scraper) ↗ - Dutch used-car listings with native search filters.
- [Standvirtual Scraper: Used Cars Portugal, Prices & Mileage Data](https://apify.com/getascraper/standvirtual-cars-scraper) ↗ - Portuguese used-car inventory and pricing data.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/carmarket-ch-scraper/changelog.md

# Actor input Schema

## `startUrl` (type: `string`):

Paste a carmarket.ch search-results URL instead of using the filters above. Kept for parity with the other carmarket.ch Actor on the Store, which supports only this mode; use it if you already have a saved search link, otherwise leave it empty and use the filters above.

## `brands` (type: `array`):

Limit results to these makes, matched against carmarket.ch's own brand list (e.g. AUDI, BMW, ASTON MARTIN). Leave empty to search every brand. The other carmarket.ch Actor on the Store only accepts a pasted search URL, so you must already know its URL syntax to filter by brand; here you just pick names.

## `models` (type: `array`):

Limit results to these model names (e.g. DB11, 320i, Golf). Matched case-insensitively against the listing's model name. Leave empty to include every model of the selected brands.

## `priceMinChf` (type: `integer`):

Only include listings priced at or above this amount, in Swiss francs. Leave at 0 for no lower bound.

## `priceMaxChf` (type: `integer`):

Only include listings priced at or below this amount, in Swiss francs. Leave at 0 for no upper bound.

## `mileageMaxKm` (type: `integer`):

Only include listings with at most this many kilometres on the odometer. Leave at 0 for no limit.

## `yearFrom` (type: `integer`):

Only include vehicles first registered in this year or later. Leave at 0 for no lower bound.

## `yearTo` (type: `integer`):

Only include vehicles first registered in this year or earlier. Leave at 0 for no upper bound.

## `bodyTypeGroups` (type: `array`):

Limit results to these body style groups, read live from carmarket.ch's own filter list.

## `fuelTypeGroups` (type: `array`):

Limit results to these powertrain groups, read live from carmarket.ch's own filter list.

## `onlyElectric` (type: `boolean`):

Shortcut for Fuel Type = Electric. The incumbent carmarket.ch Actor advertises 'EV Battery' in its own title but has no way to filter for EVs at all; this turns that into a one-click toggle.

## `transmissionGroup` (type: `string`):

Limit results to this transmission type.

## `driveType` (type: `string`):

Limit results to this drivetrain layout.

## `vehicleCondition` (type: `array`):

Limit results to these conditions. The incumbent carmarket.ch Actor's own example input uses an undocumented numeric code (vehicleCondition=2) with no explanation anywhere; here you pick the real label instead.

## `vehicleType` (type: `string`):

Limit results to this vehicle category.

## `otherFilterTags` (type: `array`):

Extra real carmarket.ch facets the incumbent Actor never exposes, including accident-free history.

## `exteriorColors` (type: `array`):

Limit results to these exterior colors, read live from carmarket.ch's own color list.

## `dealerCity` (type: `string`):

Only include listings from dealers in this city (matched against the dealer's registered city, case-insensitive). Leave empty for all of Switzerland. The incumbent returns the dealer's map coordinates as output but gives you no way to filter by location at all.

## `nearLatitude` (type: `number`):

Centre latitude for a geo-radius search around a point (e.g. a city centre). Leave empty to skip geo-radius search. Must be used together with Near Longitude and Radius.

## `nearLongitude` (type: `number`):

Centre longitude for a geo-radius search around a point. Leave empty to skip geo-radius search. Must be used together with Near Latitude and Radius.

## `radiusKm` (type: `integer`):

How far from the Near Latitude/Longitude point to search, in kilometres. Only used when both coordinates above are set.

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

Which carmarket.ch locale to search and read listing text from. The incumbent only supports a language by which URL you happen to paste; here it is one setting.

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

Carmarket.ch's search and detail data come from two public JSON services that do not require residential IPs. Apify Proxy (datacenter) is enough; leave this on its default.

## `includeFullDetail` (type: `boolean`):

Fetch each listing's full detail record: VIN, Swiss type approval number, warranty coverage, quality-check coverage, leasing rate calculation, full dealer contact (address, phone, email, website), the assigned sales advisor's name/phone/email, Google review count, and videos. Off by default because it adds one extra request per listing; the search results already include make, model, price, mileage, year, power, fuel, body type, and photos.

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

The most listings to return for this run. Keep this low while testing; raise it once you've confirmed your filters return what you expect.

## Actor input object example

```json
{
  "startUrl": "",
  "brands": [],
  "models": [],
  "priceMinChf": 0,
  "priceMaxChf": 0,
  "mileageMaxKm": 0,
  "yearFrom": 0,
  "yearTo": 0,
  "bodyTypeGroups": [],
  "fuelTypeGroups": [],
  "onlyElectric": false,
  "transmissionGroup": "",
  "driveType": "",
  "vehicleCondition": [],
  "vehicleType": "",
  "otherFilterTags": [],
  "exteriorColors": [],
  "dealerCity": "",
  "radiusKm": 50,
  "language": "de",
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "includeFullDetail": false,
  "maxItems": 25
}
```

# 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 = {
    "startUrl": "",
    "brands": [],
    "models": [],
    "priceMinChf": 0,
    "priceMaxChf": 0,
    "mileageMaxKm": 0,
    "yearFrom": 0,
    "yearTo": 0,
    "bodyTypeGroups": [],
    "fuelTypeGroups": [],
    "onlyElectric": false,
    "transmissionGroup": "",
    "driveType": "",
    "vehicleCondition": [],
    "vehicleType": "",
    "otherFilterTags": [],
    "exteriorColors": [],
    "dealerCity": "",
    "radiusKm": 50,
    "language": "de",
    "proxyConfiguration": {
        "useApifyProxy": true
    },
    "includeFullDetail": false,
    "maxItems": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/carmarket-ch-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 = {
    "startUrl": "",
    "brands": [],
    "models": [],
    "priceMinChf": 0,
    "priceMaxChf": 0,
    "mileageMaxKm": 0,
    "yearFrom": 0,
    "yearTo": 0,
    "bodyTypeGroups": [],
    "fuelTypeGroups": [],
    "onlyElectric": False,
    "transmissionGroup": "",
    "driveType": "",
    "vehicleCondition": [],
    "vehicleType": "",
    "otherFilterTags": [],
    "exteriorColors": [],
    "dealerCity": "",
    "radiusKm": 50,
    "language": "de",
    "proxyConfiguration": { "useApifyProxy": True },
    "includeFullDetail": False,
    "maxItems": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/carmarket-ch-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 '{
  "startUrl": "",
  "brands": [],
  "models": [],
  "priceMinChf": 0,
  "priceMaxChf": 0,
  "mileageMaxKm": 0,
  "yearFrom": 0,
  "yearTo": 0,
  "bodyTypeGroups": [],
  "fuelTypeGroups": [],
  "onlyElectric": false,
  "transmissionGroup": "",
  "driveType": "",
  "vehicleCondition": [],
  "vehicleType": "",
  "otherFilterTags": [],
  "exteriorColors": [],
  "dealerCity": "",
  "radiusKm": 50,
  "language": "de",
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "includeFullDetail": false,
  "maxItems": 25
}' |
apify call getascraper/carmarket-ch-scraper --silent --output-dataset

```

## MCP server setup

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