# NY Building Permit Insurance Requirements by Town (`signalloom/ny-permit-insurance-requirements`) Actor

Find which insurance proof each New York town, village or city requires for a building permit: workers' comp and disability forms, certificate-holder wording, ACORD and liability rules, homeowner exemption. With quotes and source links. $0.02 per municipality.

- **URL**: https://apify.com/signalloom/ny-permit-insurance-requirements.md
- **Developed by:** [Signalloom](https://apify.com/signalloom) (community)
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 municipality records

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

## NY Building Permit Insurance Requirements by Town

Know **exactly which insurance paperwork a New York town, village or city wants before it issues a building permit**, without phoning the building department. One record per municipality, read from its own official website:

- **Certificate holder wording**: the department name and mailing address to put on the certificate ("entity requesting proof of coverage"), and whether the town states that wording itself
- **Workers' comp proof accepted**: C-105.2, U-26.3, SI-12, GSI-105.2, CE-200, and whether a CE-200 must be **job-specific**
- **Disability proof accepted**: DB-120.1, DB-155, CE-200
- **ACORD certificates**: whether the town says ACORD certificates don't count for workers' comp/disability, and whether ACORD 25 is the liability form
- **General liability**: required or not, **minimum amounts**, town as certificate holder or additional insured
- **Job-specific certificates** (one per permit), **homeowner exemption** route (BP-1 or CE-200)
- **How to submit**: in person, mail, email (department mailbox), fax, online portal links
- **Evidence for every value**: a short quote and the official page or PDF it came from, plus `sourceUrls`, `lastChecked` and a `confidence` level
- **NY statewide baseline** on every record (Workers' Compensation Law §57 and §220(8), from wcb.ny.gov), so you always know the minimum even where a town's site says nothing

Where a town's own pages say nothing, the field says **"not stated"**. Nothing is guessed or filled in from other towns.

**Price: $0.02 per municipality record.** The prefilled example (Dutchess County, 9 municipalities, live-verified) finishes in about 35 seconds.

> Confirm with the building department before applying; this is not legal advice.

### Use this when…

- you install **sheds, fences, decks, pools or solar** in New York and need the right forms, worded right, for every town you work in
- you're an **insurance agent or broker** issuing C-105.2 / DB-120.1 certificates and want the exact certificate-holder name and address for each town
- you're a **homeowner** pulling your own permit and want to know whether a BP-1 or CE-200 is accepted
- you're a **permit expediter** or office manager keeping a requirements sheet for every town you file in
- you want to be **alerted when a town changes its rules** (schedule it with "only changed")

### For AI agents

- **Run** `signalloom/ny-permit-insurance-requirements` (Apify MCP server `call-actor`, or the Apify API) with input like `{"municipalities": ["Pittsford", "Yonkers"], "refreshMode": "snapshot"}`
- **Returns** one JSON row per municipality in the default dataset: `workersCompFormsAccepted`, `disabilityFormsAccepted`, `certificateHolder`, `acordAcceptedForLiability`, `generalLiabilityMinimums`, `homeownerExemption`, `submissionMethods`, with `evidence` quotes and `sourceUrls`.
- **Typical cost:** 2 municipalities = **$0.04** ($0.02 per municipality).

### How to use it

1. Enter **municipalities** by name ("Pittsford", "Town of Perinton", "Village of Scarsdale"), or pick **counties** and/or **types** (town, village, city). Leave all empty to list the covered municipalities, largest first.
2. Choose a **refresh mode**:
   - **verify** (default): starts from the built-in reviewed snapshot and re-reads each municipality's source pages live, then re-extracts the rules. If anything changed, the record shows the new values and says so. Sites that ask crawlers to go slowly get about 30 seconds each; pages not re-read in that time (or unreachable today) use the copy stored in the snapshot, and `liveCheck` says how many were re-read. Live checks stop after about 150 seconds per run; any remaining municipalities show snapshot values, marked as such.
   - **snapshot**: no web requests at all; fastest.
   - **recrawl**: crawls each official site again from its homepage (about 15 seconds per municipality; up to about 2–3 minutes for sites that ask crawlers to wait 10–30 seconds between requests). Use it for a few municipalities at a time.
3. For monitoring, turn on **Only changed requirements**, give the task a **Monitor ID** and schedule it (weekly or monthly). The first run is a baseline.

### Output

One record per municipality. Real examples from a run with the prefilled input (evidence shortened, `stateBaseline` shown once):

**A town that states its rules** (Town of East Fishkill, from its building permit application PDF):

```json
{
  "id": "town:east-fishkill:dutchess",
  "jurisdiction": "Town of East Fishkill",
  "municipality": "East Fishkill",
  "type": "town",
  "county": "Dutchess",
  "population2020": 29707,
  "website": "https://eastfishkillny.gov/",
  "departmentName": "Building Department",
  "departmentAddress": "392 Creek Road, Poughkeepsie, New York 12601",
  "departmentPhone": "(845) 221-2427",
  "departmentEmail": "buildingapplications@eastfishkillny.gov",
  "departmentPageUrl": "https://eastfishkillny.gov/permit-applications/",
  "certificateHolder": "Town of East Fishkill, 392 Creek Road, Poughkeepsie, New York 12601",
  "certificateHolderBasis": "name stated on official page; address from the department's official page",
  "workersCompFormsAccepted": [
    "C-105.2",
    "CE-200"
  ],
  "ce200Accepted": true,
  "ce200JobSpecific": true,
  "disabilityFormsAccepted": "not stated",
  "acordAcceptedForWorkersCompOrDisability": "not stated",
  "acordAcceptedForLiability": true,
  "generalLiabilityRequired": true,
  "generalLiabilityMinimums": "not stated",
  "municipalityAsCertificateHolder": true,
  "municipalityAsAdditionalInsured": "not stated",
  "jobSpecificCertificates": "not stated",
  "homeownerExemption": "stated; form(s): CE-200",
  "submissionMethods": "not stated",
  "submissionEmail": "not stated",
  "onlinePortalUrls": [
    "https://eastfishkillny.portal.opengov.com/"
  ],
  "certificatesSentByInsurer": "not stated",
  "evidence": {
    "generalLiabilityRequired": {
      "quote": "INSURANCE PROOF REQUIREMENTS: PROOF OF LIABILITY INSURANCE AND WORKERS' COMPENSATION AND/OR WORKERS' COMPENSATION EXEMPTION IS REQUIRED FRO…",
      "url": "https://eastfishkillny.gov/wp-content/uploads/2026/07/BUILDING-DEPARTMENT-GENERAL-PERMIT-APPLICATION-26-07-10.pdf"
    },
    "homeownerExemption": {
      "quote": "INSURANCE PROOF REQUIREMENTS: PROOF OF LIABILITY INSURANCE AND WORKERS' COMPENSATION AND/OR WORKERS' COMPENSATION EXEMPTION IS REQUIRED FRO…",
      "url": "https://eastfishkillny.gov/wp-content/uploads/2026/07/BUILDING-DEPARTMENT-GENERAL-PERMIT-APPLICATION-26-07-10.pdf"
    },
    "acordAcceptedForLiability": {
      "quote": "LIABILITY INSURANCE CAN BE ON ACORD FORMS.",
      "url": "https://eastfishkillny.gov/wp-content/uploads/2026/07/BUILDING-DEPARTMENT-GENERAL-PERMIT-APPLICATION-26-07-10.pdf"
    },
    "workersCompFormsAccepted": {
      "quote": "WORKERS' COMPENSATION INSURANCE MUST BE ON NEW YORK STATE FORMS (AS STATED IN GENERAL MUNICIPAL LAW SECTION 125) (FORM C105.2).",
      "url": "https://eastfishkillny.gov/wp-content/uploads/2026/07/BUILDING-DEPARTMENT-GENERAL-PERMIT-APPLICATION-26-07-10.pdf"
    },
    "ce200JobSpecific": {
      "quote": "ALTHOUGH FORM WC/DB-100 WAS VALID FOR MULTIPLE PERMITS, THE NEW FORM CE-200 WILL NOT BE.",
      "url": "https://eastfishkillny.gov/wp-content/uploads/2026/07/BUILDING-DEPARTMENT-GENERAL-PERMIT-APPLICATION-26-07-10.pdf"
    },
    "certificateHolder": {
      "quote": "FORMS MUST NAME TOWN OF EAST FISHKILL AS CERTIFICATE HOLDER AND NOTE TOWN ADDRESS.",
      "url": "https://eastfishkillny.gov/wp-content/uploads/2026/07/BUILDING-DEPARTMENT-GENERAL-PERMIT-APPLICATION-26-07-10.pdf"
    }
  },
  "stateBaseline": {
    "law": "NY Workers' Compensation Law §57 (workers' compensation) and §220(8) (disability and Paid Family Leave): before issuing a permit, a municipality must get proof that the business applying has coverage, or is exempt.",
    "workersCompFormsAccepted": [
      "C-105.2",
      "U-26.3",
      "SI-12",
      "GSI-105.2",
      "CE-200"
    ],
    "workersCompFormsNote": "C-105.2 from a private carrier; U-26.3 from the State Insurance Fund; SI-12 if self-insured; SIG/GSI-105.2 for group self-insurance; CE-200 if exempt (no employees). The carrier sends the certificate to the government entity on the business's request.",
    "disabilityFormsAccepted": [
      "DB-120.1",
      "DB-155",
      "CE-200"
    ],
    "acordAcceptedForWorkersCompOrDisability": false,
    "acordNote": "ACORD forms are NOT acceptable proof of NYS workers' compensation or disability coverage (WCB).",
    "nameMustMatch": "The information on the form must exactly match the name and federal ID number of the business applying for the permit (WCB).",
    "homeownerRoute": "Many NY municipalities accept Form BP-1 (Affidavit of Exemption) from homeowners doing their own work on a 1-4 family owner-occupied residence; the form is handed out by building departments, not listed on wcb.ny.gov's permit page. Ask the department.",
    "generalLiability": "Not required by state law; each municipality sets its own rule.",
    "sources": [
      "https://www.wcb.ny.gov/content/main/coverage-requirements-wc/permits-licenses-contracts.jsp",
      "https://www.wcb.ny.gov/content/main/coverage-requirements-db/permits-licenses-contracts.jsp",
      "https://www.wcb.ny.gov/content/main/Employers/requirements-businesses-applying-government-permits-licenses-contracts.pdf"
    ]
  },
  "coverage": "town-specific",
  "statedRuleCount": 6,
  "confidence": "high",
  "siteAccess": "open",
  "crawlStatus": "ok",
  "sourceUrls": [
    "https://eastfishkillny.gov/wp-content/uploads/2026/07/BUILDING-DEPARTMENT-GENERAL-PERMIT-APPLICATION-26-07-10.pdf",
    "https://eastfishkillny.gov/permit-applications/",
    "https://eastfishkillny.gov/new-east-fishkill-on-line-permit-portal/",
    "https://eastfishkillny.gov/wp-content/uploads/2026/03/Commercial-Buildings-Additions-Application-Requirements-1.pdf"
  ],
  "lastChecked": "2026-11-12",
  "note": "Confirm with the building department before applying; not legal advice.",
  "requirementsHash": "63a98c3054ecb3d5",
  "liveCheck": "verified live: unchanged",
  "changeType": "CHANGED"
}
```

**A town whose site lists the department but not the insurance rules** (shortened; all rule fields are "not stated" and `stateBaseline` applies):

```json
{
  "jurisdiction": "Town of Wappinger",
  "county": "Dutchess",
  "website": "https://townofwappingerny.gov/",
  "departmentName": "Building Department",
  "departmentAddress": "20 Middlebush Road Wappingers Falls, NY 12590",
  "departmentPhone": "(845) 297-6256",
  "departmentPageUrl": "https://townofwappingerny.gov/building-department/",
  "certificateHolder": "Town of Wappinger Building Department, 20 Middlebush Road Wappingers Falls, NY 12590",
  "certificateHolderBasis": "composed from the department name and address on the official site; the site does not state holder wording",
  "workersCompFormsAccepted": "not stated",
  "generalLiabilityRequired": "not stated",
  "coverage": "department-only",
  "confidence": "low",
  "liveCheck": "verified live: unchanged",
  "note": "Confirm with the building department before applying; not legal advice."
}
```

**A city where nothing usable was found on the pages read** (shortened):

```json
{
  "jurisdiction": "City of Poughkeepsie",
  "county": "Dutchess",
  "website": "https://www.cityofpoughkeepsie.gov/",
  "certificateHolder": "not stated",
  "workersCompFormsAccepted": "not stated",
  "coverage": "baseline-only",
  "confidence": "baseline-only",
  "liveCheck": "snapshot (no town pages to re-check; checked 2026-11-12)",
  "note": "Confirm with the building department before applying; not legal advice."
}
```

Key fields:

| Field | Meaning |
|---|---|
| `certificateHolder` / `certificateHolderBasis` | What to put as certificate holder. Basis is `stated on official page`, or `composed from the department name and address on the official site…` when the town gives its address but no holder wording |
| `workersCompFormsAccepted`, `disabilityFormsAccepted` | Forms the town's pages list, or `not stated` |
| `ce200Accepted`, `ce200JobSpecific` | Whether the CE-200 exemption is mentioned, and whether it must be specific to the job/project |
| `acordAcceptedForWorkersCompOrDisability` | `false` when the town says ACORD certificates don't count (statewide, ACORD is never valid proof for these) |
| `generalLiabilityRequired`, `generalLiabilityMinimums`, `acordAcceptedForLiability`, `municipalityAsCertificateHolder`, `municipalityAsAdditionalInsured` | Liability rules as stated |
| `jobSpecificCertificates`, `homeownerExemption`, `submissionMethods`, `submissionEmail`, `onlinePortalUrls`, `certificatesSentByInsurer` | Paperwork logistics |
| `evidence` | `{ field: { quote, url } }` for every extracted value |
| `coverage` | `town-specific` (the town states at least one rule), `department-only` (department contact found, rules not stated), `baseline-only` |
| `confidence` | `high` (5+ rules stated and an address), `medium` (2+), `low` (1, or department only), `baseline-only` |
| `liveCheck` | What happened this run: verified unchanged, changed since snapshot, source unreachable (snapshot values shown), skipped (site blocks automated access) |
| `stateBaseline` | NY statewide rules with wcb.ny.gov sources |
| `changeType` | `NEW` / `CHANGED` in monitoring runs |

The run's `OUTPUT` record summarizes coverage and live-check results.

### Coverage and how the data is built (honest version)

- **Which municipalities:** the 180 most populous New York cities, towns and villages (2020 Census, from the official data.ny.gov population dataset), with official websites from data.ny.gov's "Locality Hierarchy with Websites". Websites that had moved or lapsed were checked and corrected by hand. Smaller municipalities aren't covered yet.
- **Approach:** a **reviewed snapshot** ships with the tool. It was built on 2026-11-12 by this tool's own crawler: for each municipality it reads the homepage, follows links to the building/code department, then to insurance and permit pages and their PDFs (at most 16 requests per site), and applies fixed keyword rules (no AI). About 40 records (all of Monroe and Dutchess counties plus the larger town-specific ones) were spot-checked by hand against their source pages, and every evidence quote was screened for personal names. Each run then **re-reads the source pages live** (verify mode) or **re-crawls** (recrawl mode).
- **Today's coverage:** of 180 municipalities, **62 (34%)** have town-specific rules read from their own pages (21 high, 30 medium and 11 low confidence), **71 (39%)** have the building department's name and contact but no stated insurance rules, and **47 (26%)** are statewide baseline only (24 sites behind bot checks, 4 whose robots.txt disallows or can't be read, 19 where nothing was found). Certificate-holder wording is stated by the town for 28 municipalities and composed from the department's own name and address for 85.
- **Sites we don't read:** 24 municipalities put their whole site behind a bot check (Cloudflare and similar). The tool never tries to get around that; those records carry the official website and the statewide baseline only. Municipal code libraries (eCode360/General Code, Municode and similar) and third-party permit portals are never crawled; portal links are only reported.

### Limitations

- Towns word things differently; keyword rules miss some phrasing. A value is only filled when the page states it, so "not stated" means "not found on the pages read", not "not required".
- Many towns keep their insurance rules inside a permit application PDF or in the office. Scanned (image-only) PDFs can't be read.
- A composed certificate holder (`certificateHolderBasis` says "composed…") is the department's own name and address from its site, not wording the town prescribed. Ask the department if the exact wording matters.
- Some sites block cloud servers but not home connections (or the reverse), so a live check can report a source as unreachable; the record then shows snapshot values and says so in `liveCheck`.
- Rules change. Check `lastChecked` and use verify mode or a schedule.
- New York only. Not legal advice: confirm with the building department before applying.

### Legitimacy review

- **Public, official sources, no login:** the municipalities' own websites (and the file hosts their sites use for PDFs), data.ny.gov (official NY open-data API) for the municipality list, and wcb.ny.gov for the statewide baseline. Every non-.gov website in the list was opened and checked by hand; lapsed domains now serving unrelated content were replaced with the municipality's current site.
- **robots.txt and terms:** the crawler reads robots.txt on every host and obeys it, including Crawl-delay up to 30 seconds (sites asking for more are skipped). If robots.txt can't be read, the site is treated as off limits. A scan of the terms-of-use, disclaimer and policy pages linked from the 156 crawlable homepages found no clause forbidding automated access.
- **No bypassing:** no logins, forms, CAPTCHAs or bot checks. Sites behind a bot check are not crawled at all.
- **Not crawled by design:** municipal code libraries (eCode360/General Code, Municode, American Legal and similar) and third-party permit portals.
- **Politeness:** at least 1 second between requests to the same site (more if the site asks), at most 16 requests per site per crawl, an honest client name, and backoff on errors.
- **No personal data:** the tool describes government requirements, not people. Officials' names are never output; evidence quotes are screened and names (with any phone numbers in the same quote) are replaced by "\[name removed]". Only department mailboxes (building@, codes@…) on the municipality's own domain are kept.
- **Copyright:** records hold facts plus short quotes with links to the official source.

Issues and corrections: use the Issues tab.

### FAQ

**What insurance certificates does a NY town need for a building permit?**

Run the town's name: you get the accepted workers' comp and disability forms (C-105.2, U-26.3, CE-200, DB-120.1…), certificate-holder wording, liability rules and how to submit, each with a quote from the town's own page.

**Can a contractor use an ACORD certificate for workers' comp in New York?**

New York generally requires the state forms rather than ACORD for workers' comp and disability proof. `acordAcceptedForWorkersCompOrDisability` shows what each town states.

**How do I track changes to a town's permit requirements?**

Turn on **Only changed** with a Monitor ID and schedule monthly; only municipalities whose rules changed are returned.

**Is this legal advice?**

No. It collects what each municipality publishes, with source links. Confirm with the building department before applying.

# Actor input Schema

## `municipalities` (type: `array`):

Names of New York towns, villages or cities, one per line, e.g. "Pittsford", "Town of Perinton", "Village of Scarsdale", "Yonkers". Add "Town of", "Village of" or "City of" when a town and a village share a name. Leave empty to use the county and type filters (or list everything). The tool covers the 180 most populous NY municipalities. Example: \["Pittsford", "Village of Scarsdale"].

## `counties` (type: `array`):

Keep municipalities in these counties, e.g. "Monroe", "Westchester", "Suffolk". Empty = any county. Example: \["Westchester"].

## `types` (type: `array`):

Keep only these kinds of municipality. Empty = all.

## `refreshMode` (type: `string`):

verify (default): start from the built-in reviewed snapshot and re-read each municipality's source pages live (about 30 seconds per site at most; pages not re-read in time use the stored copy). snapshot: no web requests, fastest. recrawl: crawl each official site again from its homepage (about 15 seconds per municipality, up to 2-3 minutes for sites that ask for slow crawling). API values: "verify", "snapshot", "recrawl".

## `maxResults` (type: `integer`):

Maximum municipalities to output (largest population first). Each one is one charged result. Example: 10.

## `includeBaselineOnly` (type: `boolean`):

Also output municipalities whose own website states none of the rules (or blocks automated access). Their records carry only the NY statewide baseline and the official website.

## `includeEvidence` (type: `boolean`):

Add the short quote and page URL behind each extracted value (field "evidence").

## `onlyChanged` (type: `boolean`):

For monitoring: remember each municipality's requirements (per Monitor ID) and output only those that are new or changed since the last run. The first run is a baseline and outputs everything. Use with refresh mode verify or recrawl and a schedule.

## `monitorId` (type: `string`):

Name for this monitor's memory (letters, digits, - and \_). Use a different ID for each saved task you schedule.

## Actor input object example

```json
{
  "counties": [
    "Dutchess"
  ],
  "refreshMode": "verify",
  "maxResults": 15,
  "includeBaselineOnly": true,
  "includeEvidence": true,
  "onlyChanged": false,
  "monitorId": "default"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `runSummary` (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 = {
    "counties": [
        "Dutchess"
    ],
    "maxResults": 15
};

// Run the Actor and wait for it to finish
const run = await client.actor("signalloom/ny-permit-insurance-requirements").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 = {
    "counties": ["Dutchess"],
    "maxResults": 15,
}

# Run the Actor and wait for it to finish
run = client.actor("signalloom/ny-permit-insurance-requirements").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 '{
  "counties": [
    "Dutchess"
  ],
  "maxResults": 15
}' |
apify call signalloom/ny-permit-insurance-requirements --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,signalloom/ny-permit-insurance-requirements"
        }
    }
}
```

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/6eL4vxJnigzInN9Su/builds/zGcRCZ4uBobJXcxoK/openapi.json
