# Argenprop Scraper - Real Estate Listings in Argentina (`recordsdata/argenprop-scraper`) Actor

Scrape argenprop.com, Argentina's real estate portal: sale, rent and vacation listings with prices in pesos and dollars, address, rooms, areas, expenses, photos and agency, plus new developments with their units, agencies and a sitemap index. Export JSON, CSV, Excel, XML.

- **URL**: https://apify.com/recordsdata/argenprop-scraper.md
- **Developed by:** [RecordsData](https://apify.com/recordsdata) (community)
- **Categories:** Real estate, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $18.00 / 1,000 property listings

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

![RecordsData](https://api.apify.com/v2/key-value-stores/AAm3a1h3Z9nYfrvh9/records/banner?v=3)

## Argenprop Scraper - Argentina Real Estate Listings, Agencies and New Developments

> **Argenprop Scraper** collects property listings from argenprop.com, Argentina's long-running real estate portal: apartments, houses, land, offices and shops for sale and for rent. Each record has price in pesos or dollars, address, rooms, areas, photos and the agency behind it. It also returns agencies and new developments. Export to JSON, CSV or Excel. No login and no API key.

### What does the Argenprop Scraper do?

The Actor reads the public pages of [Argenprop](https://www.argenprop.com) and turns them into clean, typed rows. You can search with filters (operation, property types, neighborhood, price band, rooms, bathrooms, parking, area, building age, seller type, amenities), paste any Argenprop link, give listing ids, list agencies, or read the site's own sitemaps for a lightweight index of the whole catalog. Everything runs on the Apify platform, so you also get scheduling, API access, webhooks, datasets and integrations.

It follows the site's robots.txt, keeps its pace low, and never outputs the names, phone numbers or e-mail addresses of private owners.

### Argenprop data: which fields do you get?

Every row has a `recordType` and a fixed column order. The dataset has 94 columns in total, grouped as follows. A column that a listing does not have is left out of that row instead of being filled with empty values.

| Field | Type | Example |
| --- | --- | --- |
| `recordType` | string | `listing` |
| `listingId` | string | `20023064` |
| `url` | string | link to the listing page |
| `operation` | string | `sale` |
| `propertyType` | string | `house` |
| `price` | number | `245000` |
| `currency` | string | `USD` |
| `priceUsd` | number | `245000` |
| `pricePerM2` | number | `1991.87` |
| `neighborhood` | string | `Martínez` |
| `latitude`, `longitude` | number | `-34.4959`, `-58.5167` |
| `bedrooms`, `rooms`, `bathrooms` | integer | `2`, `4`, `2` |
| `areaBuilt`, `areaLand` | number (m²) | `123`, `218` |
| `amenities`, `images` | array | list of strings |
| `agencyName`, `agencyId` | string | agency behind the listing |
| `isPrivateSeller` | boolean | `false` |
| `scrapedAt` | ISO date | `2026-10-11T07:12:43.749Z` |

Other columns cover the street, district, region, floor, orientation, building data, expenses, agency address and opening hours, new development data (builder, financing, unit counts) and sitemap fields.

Prices come as numbers with an ISO `currency` (`ARS` or `USD`), next to the original text. Areas are in square meters, dates are ISO 8601, and coordinates are decimal degrees. A row that explains a problem (a bad input value, a listing that was removed) carries `error`, `errorType` and `hint` instead of data, and it is never charged.

### Argenprop output: what does a real result look like?

This is a real row from a cloud test run (description and photo list shortened):

```json
{
  "recordType": "listing",
  "listingId": "20023064",
  "url": "https://www.argenprop.com/casa-en-venta-en-martinez-4-ambientes--20023064",
  "title": "Amplia casa en el centro de martínez a la venta",
  "operation": "sale",
  "propertyType": "house",
  "price": 245000,
  "currency": "USD",
  "priceText": "USD 245.000",
  "priceUsd": 245000,
  "pricePerM2": 1991.87,
  "address": "Rodriguez Peña al 1300",
  "neighborhood": "Martínez",
  "district": "Partido de San Isidro",
  "region": "Buenos Aires",
  "country": "Argentina",
  "latitude": -34.4959,
  "longitude": -58.5167,
  "bedrooms": 2,
  "rooms": 4,
  "bathrooms": 2,
  "areaBuilt": 123,
  "areaLand": 218,
  "ageYears": 50,
  "condition": "Muy Bueno",
  "parkingSpaces": 1,
  "amenities": ["Agua corriente", "Gas natural", "Pavimento"],
  "images": [
    "https://www.argenprop.com/static-content/46032002/43e59931-61da-45ad-9f6a-9595d8681c26_u_large.jpg"
  ],
  "photoCount": 21,
  "agencyName": "Brick Propiedades - Servicios",
  "agencyId": "184495",
  "isPrivateSeller": false,
  "referenceCode": "PRO-2754-453580",
  "scrapedAt": "2026-10-11T07:12:43.749Z"
}
```

### How to scrape Argenprop in 3 steps

1. Open the Actor on Apify and pick an **operation** (sale, rent or vacation), the **property types** and the **locations** you care about, for example `palermo` or `rosario`.
2. Optionally turn on **Open each listing page** for coordinates, amenities, building data and the full description, and **Collect all photos** for every photo in full size. Set **Max items** to cap the run.
3. Click **Run** and download the dataset as JSON, CSV, Excel or XML, or call it from the Apify API.

### Argenprop Scraper input

| Input | Type | Purpose |
| --- | --- | --- |
| `operation` | select | sale, rent or vacation |
| `propertyTypes` | array | up to 13 types |
| `locations` | array | neighborhoods, cities or provinces |
| `currency`, `minPrice`, `maxPrice` | select, integer | price band |
| `fetchDetails` | boolean | adds coordinates and full description |
| `fetchAllPhotos` | boolean | every photo in full size |
| `startUrls`, `listingIds` | array | other ways to start |
| `onlyNew` | boolean | monitor mode |
| `maxItems` | integer | cap on returned records |

Example input:

```json
{
    "operation": "rent",
    "propertyTypes": ["apartment"],
    "locations": ["belgrano", "palermo"],
    "currency": "USD",
    "maxPrice": 1500,
    "fetchDetails": true,
    "maxItems": 100
}
```

### Argenprop scraping modes

- **Search by filters:** operation, up to 13 property types, locations, price band in pesos or dollars, bedrooms, rooms, bathrooms, parking, covered area, building age, seller type (agency or owner), orientation and amenities.
- **Start URLs:** paste a search page, a listing, an agency page, an agency search or a new development from argenprop.com.
- **Listing ids:** a list of numeric ids or listing links, each returned with its complete listing page.
- **Agencies:** by name or address slug, with an agency record and, optionally, all of its listings.
- **New developments:** the development record (price from, builder, financing, floors, units) and, optionally, one record per available unit.
- **Sitemaps:** a lightweight index record per listing (id, link, type, operation, last update) or the full agency and development directories, filtered by text or update date.
- **Only new or changed records:** a monitor mode that skips what an earlier run of the same search already delivered, and treats a price change as new.

### What are the limits of the Argenprop Scraper?

- **The site rate limits its search and listing pages per connection.** The Actor spaces those requests, switches to fresh Apify datacenter addresses when the direct connection is challenged, and waits when nothing works, instead of hammering the site. Short runs finish in seconds. Very large scans of search pages are slow by design. For volume, use agencies, photo galleries and sitemaps, which the site does not rate limit.
- **At most 60 results per search page set.** robots.txt allows three result pages per search. When a search has more results and is ordered by price, the Actor slices the search by price band to go deeper.
- **Price on request.** Ads published as "Consultar precio" come back without price fields (no placeholder number), so a price filter or an ordering by price never mixes them with real prices.
- **Only listings that match your search.** On small searches the site adds a block of suggested nearby listings; the Actor ignores it, so every row matches the filters you set.
- **No phone numbers.** The site publishes contact data only behind its own contact form, and the Actor does not collect owner data at all.
- **Pesos and dollars.** A listing keeps the currency it was published in. `priceUsd` carries the site's own dollar equivalent.

### Argenprop use cases

- **Real estate market analysis:** price per square meter by neighborhood, rent versus sale, asking prices in dollars and pesos.
- **Lead generation for agencies and brokers:** map which agencies list in a neighborhood, how many listings they hold and where they are located.
- **Investment screening:** filter by price band, rooms, age and amenities, then rank by `pricePerM2`.
- **New development tracking:** follow the price from, the units and the financing of developments, and watch for new ones.
- **Price monitoring:** schedule the Actor in monitor mode to receive only new listings and price changes.

### Argenprop Scraper vs alternatives

Rival Apify Store pages, read on 2026-10-11. Prices drift, so check the live page.

| | This Actor | igolaizola | mfapitools |
| --- | --- | --- | --- |
| Price per 1,000 listings | $18.00 | from $0.70 | $1.00 plus $0.001 per run |
| Record types | Listings, agencies, developments, sitemap | Listings, developments | Listings |
| Agency profiles | Own record type | Advertiser fields only | Agent id only |
| Monitor mode | New and changed only | Not described | Not described |
| Phones and coordinates | Coordinates, no phones | Both | Neither listed |

Both rivals are far cheaper per listing: $18.00 per 1,000 here against $0.70 and $1.00. igolaizola also covers Uruguay and offers a radius search, which this Actor lacks. Its rows keep the site's raw field names and include contact phones, which this Actor never collects. A third Actor, ecomscrape, only reads listing links you supply. Choose this Actor only if you need agencies, sitemaps, typed fields or incremental runs and the price difference is acceptable. Choose igolaizola or mfapitools for the lowest price, or igolaizola for radius search.

### How much does the Argenprop Scraper cost?

Pay per event. Live prices:

| Event | Price |
| --- | --- |
| Property listing | $0.018 |
| Full listing details (added) | $0.018 |
| All listing photos (added) | $0.0144 |
| Sitemap index entry | $0.0054 |
| Agency profile or new development | $0.0414 |
| Development unit | $0.0144 |

Worked examples:

- 1,000 listings from a search: 1,000 x $0.018 = **$18.00**.
- 1,000 listings with coordinates and full description: 1,000 x ($0.018 + $0.018) = **$36.00**.
- 1,000 listings with details and all photos: 1,000 x $0.0504 = **$50.40**.
- 200 agency profiles: 200 x $0.0414 = **$8.28**.
- 10,000 sitemap index entries: 10,000 x $0.0054 = **$54.00**.

Error rows, empty searches and invalid input are free.

### Automate the Argenprop Scraper

Run it from code with the Apify API client (`apify-client` for JavaScript or Python), passing the same input as above.

Use schedules for daily or weekly refreshes, webhooks to start a pipeline when a run finishes, and the integrations for Make, Zapier, Google Sheets, Slack and Airbyte. The Actor also works through the Apify MCP server, so an AI assistant can run it with a plain-language request.

### Use the Argenprop Scraper with AI agents (MCP)

The Actor works through the Apify MCP server, so Claude, Cursor or any MCP client can call it as a tool. Add the Actor to your MCP server configuration at https://mcp.apify.com and the agent sees the input schema.

Example agent prompt:

> Find 2-room apartments for rent in Belgrano and Palermo under 1,500 USD on Argenprop, open each listing for coordinates, and return the 20 cheapest per square meter.

Tool description the agent receives: *Scrape Argenprop property listings for sale and rent in Argentina: price, address, rooms, areas, photos and agency. Also agencies and new developments, monitor mode for new listings and price changes.* The agent fills `operation`, `propertyTypes`, `locations`, `maxPrice`, `fetchDetails` and `maxItems`, then reads the dataset rows.

### Frequently Asked Questions

#### How do I scrape Argenprop listings?

Choose an operation, property types and locations in the Actor input and run it. Each listing becomes one row with price, address, rooms, areas, photos and agency. You can also paste Argenprop search links, listing links or listing ids, and cap the run with Max items. Results download as JSON, CSV or Excel.

#### Does Argenprop have an API?

Argenprop does not document a public API for listings. This Actor reads the public web pages and the site's sitemaps, the same content a visitor sees, and returns it as structured rows. You call the Actor through the Apify API instead, with a token, and get the dataset back as JSON.

#### Can I scrape Argenprop rentals and properties for sale?

Yes. The operation input switches between sale, rent and temporary rent (vacation). Prices keep the currency of the listing, pesos or dollars, and each row also carries the site's own dollar equivalent in `priceUsd`, so you can compare sale and rent listings across both currencies.

#### Do I get the coordinates of each property?

Turn on Open each listing page and the row includes `latitude` and `longitude` when the listing publishes a map position. That option adds one listing-detail event per listing, priced at 0.018 USD, and also returns the full description, amenities, orientation and building data.

#### Does it return phone numbers or owner names?

No. Private sellers are marked with `isPrivateSeller` and nothing about them is collected, because the site publishes contact data only behind its own contact form. Agency name, address, opening hours and logo are returned, so you can find agencies, though not call numbers of private owners.

#### How many listings can I get per search?

The first 60 results of a search page set, because robots.txt allows three result pages per search. When the search is ordered by price, the Actor slices it by price band and goes deeper. Agency pages and sitemaps give you another way to list the catalog at volume.

#### Can I find new listings only?

Yes. Turn on Only new or changed records and schedule the Actor. It skips what an earlier run of the same search already delivered, and a listing returns again if its price changed. Use the same state key between runs, and reset it when you want a full fresh pull.

#### Which Argenprop locations can I use?

Use the place name as it appears on argenprop.com, for example `palermo`, `capital-federal`, `rosario`, `mar-del-plata` or `san-isidro`. Accents and spaces are fine. An unknown place returns a clear error row with a hint and no charge, and leaving the list empty searches the whole country.

#### What happens when a search has no results?

The run succeeds with an empty dataset and nothing is charged. Error rows, such as a minimum price above the maximum or a listing that was removed, are also free. You pay only for the property, agency and development records that are actually returned to you.

#### What happens when argenprop.com blocks a request?

The Actor slows down, tries fresh Apify datacenter addresses and waits for the limit to clear instead of hammering the site. Short runs finish in seconds, while very large scans of search pages are slow by design. If it could not read anything at all, the run fails and you are not charged.

#### Is it legal to scrape Argenprop?

The Actor reads public pages, follows robots.txt and collects no private personal data, such as owner names, phones or e-mails. Check the site's terms and your local law before using the data commercially, especially for resale of photos or descriptions, which may carry the advertiser's rights.

#### Can I use it for other Argentine portals?

This Actor is built for argenprop.com only and will not read other portals. Browse the RecordsData collection on the Apify Store for other real estate portals and countries. Each portal has its own Actor, with its own input, fields and pricing, so check the page of the one you need.

Last updated: 2026-10-11

### Need help?

Questions, bugs or feature requests: contact.punkrecordsdata@gmail.com

> **Disclaimer:** this is an independent tool, not affiliated with Argenprop. It collects publicly available data only.

# Actor input Schema

## `operation` (type: `string`):

Whether to look for properties for sale, for rent (long term) or for temporary rent (vacation).

## `propertyTypes` (type: `array`):

One or more property types. Argenprop publishes at most two types per search page, so more than two types are read as several searches.

## `locations` (type: `array`):

Neighborhoods, cities or provinces as they appear on argenprop.com, for example palermo, belgrano, capital-federal, rosario, mar-del-plata or san-isidro. Accents and spaces are fine ("Nuñez" becomes nunez). Leave empty to search the whole country.

## `currency` (type: `string`):

Currency of Min price and Max price. Listings are priced in US dollars or Argentine pesos.

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

Lowest price in the chosen currency. Leave empty or 0 for no minimum.

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

Highest price in the chosen currency. Leave empty or 0 for no maximum.

## `bedrooms` (type: `string`):

Exact number of bedrooms (5+ means five or more).

## `rooms` (type: `string`):

Number of rooms the Argentine way: 1 is a studio (monoambiente), 2 is two rooms, and so on.

## `bathrooms` (type: `string`):

Minimum number of bathrooms.

## `garages` (type: `string`):

Minimum number of parking spaces (0 means no parking). This filter reads each listing page, which is billed as a listing detail.

## `minArea` (type: `integer`):

Smallest covered area in square meters. Leave empty or 0 for no minimum.

## `maxArea` (type: `integer`):

Largest covered area in square meters. Leave empty or 0 for no maximum.

## `antiquity` (type: `string`):

Maximum age of the property.

## `sellerType` (type: `string`):

Only agency listings or only listings published directly by the owner. Owner contact data is never collected.

## `disposition` (type: `string`):

Whether the unit faces the street (front), the back, the inner courtyard or the side. This filter reads each listing page, which is billed as a listing detail.

## `amenities` (type: `array`):

Keep only listings that have all the selected amenities. This filter reads each listing page, which is billed as a listing detail.

## `sort` (type: `string`):

Relevance is the site's default ranking. Price ascending lists the cheapest first and makes searches with more than 60 results reachable by slicing on price.

## `fetchDetails` (type: `boolean`):

Adds coordinates, full description, amenities, room types, orientation, view, building data, expenses, reference code, video and the exact neighborhood tree. Billed as one listing-detail event per listing.

## `fetchAllPhotos` (type: `boolean`):

Returns every photo of the listing in full size instead of the first eight shown in search results. Billed as one listing-photos event per listing that returns more photos.

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

argenprop.com links: a search page (https://www.argenprop.com/departamentos/venta/palermo), a listing page, an agency page, an agency search (https://www.argenprop.com/inmobiliarias?Nombre=lopez), a new development (https://www.argenprop.com/emprendimientos/...) or a sitemap file. Search pages return up to 60 listings (three pages); links with extra filters in the address return the first page.

## `listingIds` (type: `array`):

Numeric listing ids (the number at the end of a listing URL, for example 18799423) or full listing URLs. Each one returns the complete listing, billed as a listing plus a listing detail.

## `agencies` (type: `array`):

Real estate agencies by name or by address slug (for example "lopez castromil" or "lopez-castromil-propiedades"). Each agency returns one agency record with address, opening hours and number of active listings.

## `includeAgencyListings` (type: `boolean`):

For every agency found, also return its listings for the chosen Operation (up to 60 per agency). Agency pages are not rate limited, so this is the fastest way to get many listings.

## `includeProjectUnits` (type: `boolean`):

For new developments (emprendimientos) given as links or read from the sitemap, also return one record per available unit with price, area and orientation. Billed as one project-unit event per unit.

## `sitemapSection` (type: `string`):

Bulk channel that is not rate limited. The listing sections return one lightweight index record per listing (id, link, type, operation, last update) with no page reads; turn on Open each listing page to get full records. 'Agencies' returns every registered agency and 'New developments' every development.

## `sitemapUrlContains` (type: `string`):

Keep only sitemap entries whose address contains this text, for example palermo or 3-ambientes. Leave empty for all.

## `sitemapUpdatedAfter` (type: `string`):

Keep only sitemap entries updated on or after this date (YYYY-MM-DD). Leave empty for all.

## `onlyNew` (type: `boolean`):

Skip records an earlier run of this exact search already delivered (a price change counts as new). Max Items then limits how many records are scanned per run.

## `stateKey` (type: `string`):

Optional label to keep several monitors of the same search apart.

## `resetSeen` (type: `boolean`):

Forget everything this search delivered before and start the monitor again from this run.

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

Maximum number of records to return (listings, agencies, developments and units all count). Free plans are limited to 10.

## `maxScanSeconds` (type: `integer`):

Time budget of the run. Argenprop rate limits listing and search pages per connection, so long runs pause and resume; when the budget is reached the run stops and keeps what it found. Agency pages, photos and sitemaps are not affected.

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

Used only as a fallback: the actor connects directly and switches to fresh Apify datacenter addresses when argenprop.com rate limits the direct connection.

## Actor input object example

```json
{
  "operation": "sale",
  "propertyTypes": [
    "apartment"
  ],
  "locations": [
    "palermo"
  ],
  "currency": "USD",
  "minPrice": 0,
  "maxPrice": 0,
  "bedrooms": "any",
  "rooms": "any",
  "bathrooms": "any",
  "garages": "any",
  "minArea": 0,
  "maxArea": 0,
  "antiquity": "any",
  "sellerType": "any",
  "disposition": "any",
  "amenities": [],
  "sort": "relevance",
  "fetchDetails": false,
  "fetchAllPhotos": false,
  "startUrls": [],
  "listingIds": [],
  "agencies": [],
  "includeAgencyListings": false,
  "includeProjectUnits": false,
  "sitemapSection": "none",
  "sitemapUrlContains": "",
  "sitemapUpdatedAfter": "",
  "onlyNew": false,
  "stateKey": "",
  "resetSeen": false,
  "maxItems": 20,
  "maxScanSeconds": 900,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

Key fields: record type, link, title, price, location, rooms, areas and agency

## `fullData` (type: `string`):

Complete dataset with every field

# 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 = {
    "locations": [
        "palermo"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("recordsdata/argenprop-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 = {
    "locations": ["palermo"],
    "proxyConfiguration": { "useApifyProxy": True },
}

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

```

## MCP server setup

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