# Furnished Finder Scraper (`datascrapers/furnishedfinder`) Actor

Extracts furnished rental listings from Furnished Finder, including rent, availability, amenities, photos, approximate location, and optional host contact fields.

- **URL**: https://apify.com/datascrapers/furnishedfinder.md
- **Developed by:** [Data Scrapers](https://apify.com/datascrapers) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.20 / 1,000 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

**Furnished Finder Scraper** creates a structured dataset of furnished rental listings collected from Furnished Finder at furnishedfinder.com. Each dataset item is one listing and can include the listing id, property name, monthly rent, bedroom and bathroom counts, availability, amenities, photos, approximate coordinates, and, when host extraction is enabled, host contact fields. Query the source with a Furnished Finder housing URL or a location name such as Houston, TX, control the result limit with maxItems, and retrieve records through the Apify Dataset API or export them as JSON, CSV, Excel, XML, or another supported format.

[![Furnished Finder Scraper — input to structured data](https://raw.githubusercontent.com/faizanalii/apify-actor-assets/main/furnishedfinder/furnishedfinder-value-demo.gif)](https://apify.com/datascrapers/furnishedfinder)

### Dataset at a glance

| Property | Value |
|---|---|
| Source | furnishedfinder.com |
| Record unit | One furnished rental listing |
| Input methods | Housing or search URLs, location names, or a single location string |
| Main identifiers | `listingId`, `url` |
| Delivery | Apify Dataset and Dataset API |
| Export formats | JSON, CSV, Excel, XML, and other Apify dataset formats |
| Update model | Fresh records per Actor run |
| Pricing | $0.001 per `listing`. `listing-details` and `host-info` are $0.001 each, and only when those options are enabled |

### Coverage and available records

The Actor collects public Furnished Finder search results. A run accepts one or more housing URLs, such as `https://www.furnishedfinder.com/housing/us--tx--houston`, or location text such as `Houston, TX`. Location text is used only when `urls` is empty. `searchQuery` is used only when both `urls` and `searchQueries` are empty.

Move-in date, move-out date, and minimum or maximum monthly budget apply when the Actor builds a search URL from a location name. When you pass a housing URL yourself, filters already present on that URL are used.

Search results are paginated. The page size comes from the source page when it is present, otherwise 72. The Actor continues through the reported last page unless `maxItems` stops the run. `maxItems` of `0` means no Actor-side cap.

Each saved search record is a listing card: property type, rent, beds and baths, availability, amenities, photos, and an approximate map point. Street address is not part of the search record. `approxLocation` is the source approximate point.

`listingDetails` and `hostInfo` are off by default. A default run saves the search listing and charges only `listing`.

Set `listingDetails` to `true` to open each property page and add fees, house rules, reviews, nearby places, and the longer description. Each page that loads is also charged as `listing-details`. Set `hostInfo` to `true` to add the host contact fields. Each host profile that loads is also charged as `host-info`. Those requests run together, up to `max_concurrency` at a time, and a failed host lookup is retried. If a page or host lookup still fails, the search listing is saved and only the events that succeeded are charged.

A direct property URL is not the supported starting point. Property pages are opened from `listingId` values found in search results, and only when `listingDetails` or `hostInfo` is true.

Canada and United States location slugs are both accepted by the URL parser. Coverage is whatever Furnished Finder returns for the query. This dataset does not store historical snapshots.

### Data dictionary

Search records use the field names below. Nested objects can include a source `__typename` property. The best field for deduplication is `listingId`.

| Field | Type | Nullable | Description | Example |
|---|---|---:|---|---|
| `listingId` | string | No | Source listing identifier. The Actor builds `url` from this value. | `784202_1` |
| `name` | string | Yes | Listing title. | `Private Bedroom near Hospital in Upper West Side 1309 B` |
| `propertyType` | string | Yes | Source property-type label. | `Room - Apartment` |
| `propertyTypeClass` | string | Yes | Coarser type class from the source. | `room` |
| `description` | string | Yes | Listing description from the search result. | |
| `encodedLocationName` | string | Yes | Source location slug for the search. | |
| `laundryType` | string | Yes | Laundry description from the source. | |
| `rentAmount` | object | Yes | Monthly rent. See nested fields. | |
| `bedroomCount` | number | Yes | Bedroom count. | `1` |
| `bathroomCount` | number | Yes | Bathroom count. | `1` |
| `bathroomType` | string | Yes | Bathroom type label from the source. | |
| `totalSleeps` | integer | Yes | Maximum occupants reported by the source. `0` has been observed. | `0` |
| `availableOnDate` | string | Yes | Source availability text, not an ISO date. | `Available: Apr. 25, 2025` |
| `isAvailableNow` | boolean | Yes | Source flag for current availability. | |
| `isFullyAvailable` | boolean | Yes | Source flag for full availability in the searched window. | |
| `minimumStayInDays` | integer | Yes | Minimum stay reported by the source. | |
| `bestMatchedAvailabilityWindow` | object | Yes | Matching stay window. See nested fields. | |
| `futureAvailabilityWindow` | object | Yes | Later stay window. See nested fields. | |
| `amenities` | array | Yes | Amenity values from the search result. Replaced by amenity names when listing details load. | |
| `photos` | array | Yes | Photo objects on a search record. Replaced by URL strings when listing details load. | |
| `approxLocation` | object | Yes | Approximate latitude and longitude. | |
| `isFavorite` | boolean | Yes | Source favorite flag for the search session. | |
| `isRegionMatch` | boolean | Yes | Whether the source marked the listing as a region match. | |
| `url` | string | Yes | `https://www.furnishedfinder.com/property/` plus `listingId`. Null when `listingId` is missing. | `https://www.furnishedfinder.com/property/784202_1` |
| `sourceQuery` | string | Yes | Copied from `encodedLocationName`. | |
| `image` | string | Yes | URL of the first search photo, or null when `photos` is empty. | |

#### `rentAmount`

| Field | Type | Nullable | Description | Example |
|---|---|---:|---|---|
| `amount` | string | Yes | Monthly amount as returned by the source, not a JSON number. | `1325.00` |
| `currency` | string | Yes | Currency code. | `USD` |

#### `approxLocation` and availability windows

| Field | Type | Nullable | Description | Example |
|---|---|---:|---|---|
| `approxLocation.latitude` | number | Yes | Approximate latitude. | `40.8344549` |
| `approxLocation.longitude` | number | Yes | Approximate longitude. | `-73.949041` |
| `bestMatchedAvailabilityWindow.startDate` | string | Yes | Window start from the source. | |
| `bestMatchedAvailabilityWindow.endDate` | string | Yes | Window end from the source. | |
| `futureAvailabilityWindow.startDate` | string | Yes | Later window start from the source. | |
| `futureAvailabilityWindow.endDate` | string | Yes | Later window end from the source. | |

#### `photos` on a search record

| Field | Type | Nullable | Description | Example |
|---|---|---:|---|---|
| `url` | string | Yes | Photo URL. | |
| `isFeatured` | boolean | Yes | Whether the source marked the photo as featured. | |

#### Fields added when listing details or host info succeed

Listing-page fields are present only when `listingDetails` is true and the property page loads. `host_info` is present only when `hostInfo` is true and the host profile loads. A failed lookup keeps the search record and does not add the missing object.

| Field | Type | Nullable | Description | Example |
|---|---|---:|---|---|
| `host_info` | object | Yes | Host profile. Every property below is a string or null. | |
| `host_info.Fname` | string | Yes | Host first name. | |
| `host_info.Lname` | string | Yes | Host last name. | |
| `host_info.company` | string | Yes | Company name. | |
| `host_info.phone` | string | Yes | Phone number when the source returns one. | |
| `host_info.Hcity` | string | Yes | Host city. | |
| `host_info.Hstate` | string | Yes | Host state. | |
| `host_info.Hzip` | string | Yes | Host postal code. | |
| `host_info.Avitar` | string | Yes | Avatar value as named by the source. | |
| `host_info.Profession` | string | Yes | Profession. | |
| `host_info.AboutMe` | string | Yes | About text. | |
| `host_info.RentalPolicy` | string | Yes | Rental policy text. | |
| `host_info.username` | string | Yes | Host username. | |
| `host_info.userEmail` | string | Yes | Host email. | |
| `text_sections` | array | Yes | Objects with `title` and `text` taken from listing-page sections. | |
| `nearby_facilities` | array | Yes | Objects with `facility_name` and `distance`. | |
| `coordinates` | object | Yes | `latitude` and `longitude` from the listing page. Either value can be null. | |
| `user_info` | object | Yes | `username` and `tenure` from the listing page. | |
| `house_rules` | array | Yes | House-rule objects. Source `__typename` is removed. Other keys follow the page. | |
| `fees` | array | Yes | Fee objects. Source `__typename` is removed. Other keys follow the page. | |
| `reviews` | array | Yes | Review items from the listing page. Item shape follows the source. | |

On a successful host record, `photos` becomes an array of image URL strings, and `amenities` becomes an array of amenity name strings. `url`, `sourceQuery`, and `image` are still set from the search listing.

### Example dataset record

This record is a search listing observed from a Furnished Finder housing search. Long description, amenity, and photo arrays are omitted here; the comment lists fields the full item still carries.

```json
{
  "propertyType": "Room - Apartment",
  "propertyTypeClass": "room",
  "approxLocation": {
    "latitude": 40.8344549,
    "longitude": -73.949041
  },
  "name": "Private Bedroom near Hospital in Upper West Side 1309 B",
  "listingId": "784202_1",
  "rentAmount": {
    "amount": "1325.00",
    "currency": "USD"
  },
  "bedroomCount": 1,
  "bathroomCount": 1,
  "totalSleeps": 0,
  "availableOnDate": "Available: Apr. 25, 2025",
  "url": "https://www.furnishedfinder.com/property/784202_1"
}
```

The full search item also includes `description`, `encodedLocationName`, `laundryType`, `isAvailableNow`, `isFullyAvailable`, `minimumStayInDays`, `bestMatchedAvailabilityWindow`, `futureAvailabilityWindow`, `amenities`, `photos`, `bathroomType`, `isFavorite`, `isRegionMatch`, `sourceQuery`, and `image` when the source returns them. Property-page fields are absent unless `listingDetails` is true. `host_info` is absent unless `hostInfo` is true.

The input that produced this listing shape was a Furnished Finder housing URL for a New York medical-center area search:

```json
{
  "urls": [
    "https://www.furnishedfinder.com/housing/us--ny--newyork-presbyterian-weill-cornell-medical-center"
  ]
}
```

### Query and input reference

| Input | Type | Required | Default | Accepted values | Description |
|---|---|---:|---|---|---|
| `urls` | array | No | | Furnished Finder housing or search URLs | Primary query. Used before location text. |
| `searchQueries` | array | No | | Location strings such as `Houston, TX` | Used only when `urls` is empty. The first suggestion for each string becomes a search URL. |
| `searchQuery` | string | No | | One location string | Used only when `urls` and `searchQueries` are empty. |
| `moveInDate` | string | No | | `YYYY-MM-DD` | Applied when a location name is resolved to a URL. |
| `moveOutDate` | string | No | | `YYYY-MM-DD` | Applied when a location name is resolved to a URL. |
| `minPrice` | integer | No | | Integer `>= 0` | Minimum monthly budget in USD. Applied when a location name is resolved to a URL. |
| `maxPrice` | integer | No | | Integer `>= 0` | Maximum monthly budget in USD. Applied when a location name is resolved to a URL. |
| `maxItems` | integer | No | `0` | Integer `>= 0` | Maximum listings to save. `0` does not cap the run. Console prefill is `20`. |
| `listingDetails` | boolean | No | `false` | `true` or `false` | Open each property page and charge `listing-details` when it loads. |
| `hostInfo` | boolean | No | `false` | `true` or `false` | Add host contact fields and charge `host-info` when the profile loads. |
| `proxyConfiguration` | object | No | Apify Residential proxy | Apify proxy object | Proxy used for the run. Residential is the default. |
| `max_concurrency` | integer | No | `20` | Integer `1`–`100` | Concurrent property-page and host requests when details or host info is enabled. |

Minimal request:

```json
{
  "urls": [
    "https://www.furnishedfinder.com/housing/us--tx--houston"
  ],
  "maxItems": 20
}
```

Location request with a budget, dates, and host fields:

```json
{
  "searchQueries": ["Houston, TX"],
  "moveInDate": "2026-05-01",
  "moveOutDate": "2026-08-01",
  "minPrice": 1000,
  "maxPrice": 4000,
  "listingDetails": true,
  "hostInfo": true,
  "maxItems": 20
}
```

### Retrieve the data through the API

1. Start `datascrapers/furnishedfinder` with a JSON input.
2. Wait until the run finishes, or poll the run.
3. Read items from the run’s default dataset.
4. Use dataset pagination or an Apify export format for larger results.

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")

run = client.actor("datascrapers/furnishedfinder").call(run_input={
    "urls": [
        "https://www.furnishedfinder.com/housing/us--tx--houston"
    ],
    "maxItems": 20,
    "listingDetails": False,
    "hostInfo": False,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["listingId"], item.get("rentAmount"))
```

Other languages are listed on the Actor’s API tab. Do not put a real token in a URL or in the input.

### Data quality and record handling

Search fields are stored as returned. `rentAmount.amount` stays a string. `availableOnDate` stays display text. The Actor adds `url`, `sourceQuery`, and `image`; it does not geocode a street address.

There is no internal deduplication. The same `listingId` can appear more than once if you pass overlapping searches. Use `listingId` as the external unique key. `url` is derived from that id.

Listing details and host fields are conditional. A failed property page or host lookup is saved as a search record and charged only as `listing`, plus whichever of `listing-details` or `host-info` succeeded. A loaded property page replaces `photos` and `amenities` with the listing-page shapes described above. Empty arrays are used for house rules, fees, and reviews when those blocks are missing on a page that otherwise loaded. Host profile and phone requests are retried before the listing is saved without them.

A search URL that cannot be read is logged and skipped. Other URLs in the same run continue. If no URL or location is provided, the dataset is empty and the key-value record `run-stats` reports `recordsScraped: 0`. After a normal run, `run-stats` stores `recordsScraped`, `runStartedAt`, and `runFinishedAt` in UTC ISO 8601.

Page fetches are retried. A later page that still fails is logged, and earlier pages remain in the dataset. If the location cannot be resolved and the source reports more than one page, later pages can be skipped.

### Pricing and cost examples

Billing is pay per event. Prices are the same on every plan.

| Event | When it is charged | Price |
|---|---|---:|
| `listing` | Each search listing saved | $0.001 |
| `listing-details` | Each property page saved because `listingDetails` is true | $0.001 |
| `host-info` | Each host profile saved because `hostInfo` is true | $0.001 |

A default run charges `listing` only. `listing-details` and `host-info` are charged in addition, and only for records those options actually return. `maxItems` limits how many listings a run saves. Apify platform usage is billed separately from these events.

| Records | Events | Estimated event cost |
|---:|---|---:|
| 1,000 | `listing` | $1.00 |
| 10,000 | `listing` | $10.00 |
| 1,000 | `listing` and `listing-details` | $2.00 |
| 1,000 | `listing`, `listing-details`, and `host-info` | $3.00 |

Estimates count only the event price. They do not include platform usage, and they assume every requested detail page and host profile succeeds. A failed lookup is not charged for the event that failed.

### Limitations and responsible data use

The Actor reads publicly available Furnished Finder pages and search results for the queries you supply. It does not provide a Furnished Finder API, and it does not guarantee that every public listing, city, or date range is returned.

Fields can be missing when the source omits them. Approximate coordinates are not a verified street address. Host phone and email appear only when `hostInfo` is true and the source returns them. Property-page fields appear only when `listingDetails` is true. Availability text and rent strings can change format without notice.

Each run returns the listings visible at request time. The Actor does not keep a history. Store the dataset yourself if you need a snapshot.

You are responsible for complying with Furnished Finder’s terms, privacy rules, and applicable law, including how you store and contact hosts.

### Dataset questions

#### What does one dataset item represent?

One Furnished Finder listing from a housing search. With `listingDetails` enabled, that same item also carries property-page fields. With `hostInfo` enabled, it also carries `host_info`.

#### Which field should I use as a unique identifier?

Use `listingId`. The public property URL is `https://www.furnishedfinder.com/property/` plus that id.

#### Are fields nullable or conditional?

Search fields can be null when the source omits them. Property-page fields are present only after a successful `listingDetails` fetch. `host_info` is present only after a successful `hostInfo` fetch. `photos` and `amenities` change shape when the property page is merged.

#### Can I retrieve the records as CSV or JSON?

Yes. Export the run dataset as JSON, CSV, Excel, XML, or another Apify dataset format, or read items through the Dataset API.

#### How do I paginate large datasets?

Limit a run with `maxItems`. For the saved dataset, use the Dataset API `offset` and `limit` parameters or an export. The Actor already walks source result pages until the last page or `maxItems`.

#### Does the Actor return historical data?

No. Each run returns the listings returned by Furnished Finder during that run.

#### What counts as a billable result?

Each saved listing charges `listing` at $0.001. A loaded property page also charges `listing-details` at $0.001. A loaded host profile also charges `host-info` at $0.001. Both extra events stay off unless you enable them. Platform usage is separate.

### Related datasets from Data Scrapers

- [Apartments.com Scraper](https://apify.com/datascrapers/apartments-scraper) — US apartment listing records for a longer-stay comparison in the same city.
- [Realtor.com Scraper](https://apify.com/datascrapers/realtor-scraper) — US home listing records with price and property fields for the same market.
- [Airbnb Scraper - Search & Listing Details](https://apify.com/datascrapers/airbnb-scraper) — short-stay listing records that can be compared with furnished monthly rentals.
- [Airbnb Address Finder](https://apify.com/datascrapers/airbnb-address-finder) — Airbnb listing records with address fields for short-stay inventory in the same area.

### Data Scrapers support

Need an additional field, record type, or export workflow? Contact Data Scrapers at stardustspotlight@gmail.com. Include a sample source URL, required fields, expected record volume, and preferred delivery format.

# Actor input Schema

## `urls` (type: `array`):

Furnished Finder listing or search URLs to scrape (e.g. 'https://www.furnishedfinder.com/housing/us--tx--houston'). Optional if searchQueries is provided.

## `searchQueries` (type: `array`):

Locations to search for (e.g. \['Houston, TX', 'New York, NY']). Used when URLs are not provided. Each query resolves to a search URL via location suggestions.

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

Single location to search for (e.g. 'Texas City, TX'). Prefer searchQueries for multi-location support.

## `moveInDate` (type: `string`):

Desired move-in date (YYYY-MM-DD). Optional.

## `moveOutDate` (type: `string`):

Desired move-out date (YYYY-MM-DD). Optional.

## `minPrice` (type: `integer`):

Minimum monthly rent in USD. Optional.

## `maxPrice` (type: `integer`):

Maximum monthly rent in USD. Optional.

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

Select proxy groups or use your custom proxies

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

Maximum number of items to scrape (0 = unlimited). Optional.

## `listingDetails` (type: `boolean`):

Open each property page and add fees, house rules, reviews, nearby places, and the full description. Charged as listing-details. Off by default.

## `hostInfo` (type: `boolean`):

Extract the host contact fields (name, phone, email, and profile) for each listing. Charged as host-info. Off by default.

## `max_concurrency` (type: `integer`):

Maximum number of concurrent requests

## Actor input object example

```json
{
  "urls": [
    "https://www.furnishedfinder.com/housing/us--ny--new-york"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "maxItems": 20,
  "listingDetails": false,
  "hostInfo": false,
  "max_concurrency": 20
}
```

# Actor output Schema

## `dataset` (type: `string`):

Link to the default dataset containing all scraped listings

## `run` (type: `string`):

Link to the run in Apify Console

## `runStats` (type: `string`):

Key-value store record with aggregate run statistics

# 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 = {
    "urls": [
        "https://www.furnishedfinder.com/housing/us--ny--new-york"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    },
    "maxItems": 20,
    "listingDetails": false,
    "hostInfo": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("datascrapers/furnishedfinder").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 = {
    "urls": ["https://www.furnishedfinder.com/housing/us--ny--new-york"],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
    "maxItems": 20,
    "listingDetails": False,
    "hostInfo": False,
}

# Run the Actor and wait for it to finish
run = client.actor("datascrapers/furnishedfinder").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 '{
  "urls": [
    "https://www.furnishedfinder.com/housing/us--ny--new-york"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "maxItems": 20,
  "listingDetails": false,
  "hostInfo": false
}' |
apify call datascrapers/furnishedfinder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,datascrapers/furnishedfinder"
        }
    }
}
```

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/fpL1EoXyGSIt8pnxK/builds/tu9LD413yxBYlZhRI/openapi.json
