# US FAA Part 135 Charter Air Carrier & Operator Intelligence (`afkdigital/us-faa-part-135-charter-air-carrier-operator-intelligence`) Actor

Official FAA Part 135 certificate holders and authorized aircraft, unique fleet counts, model lists and CHDO filters. JSON/CSV for Clay/n8n. $7 per 1,000 operators.

- **URL**: https://apify.com/afkdigital/us-faa-part-135-charter-air-carrier-operator-intelligence.md
- **Developed by:** [AFK Digital](https://apify.com/afkdigital) (community)
- **Categories:** Business, Automation
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$7.00 / 1,000 unique faa operator returneds

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

## US FAA Part 135 Charter Air Carrier & Operator Intelligence

Turn the FAA's official weekly Part 135 Operators and Aircraft List into operator-level JSON/CSV for research, Clay and n8n. Each result represents one certificate designator and includes its source-listed aircraft and model variants.

**Source limitations:** the workbook does not contain operator state, city, DBA, commuter/on-demand classification or air ambulance status. These output fields remain null. The state and operationKind inputs must be empty or ALL; other values are rejected before any download or charge. faaRegion filters the CHDO office prefix, not operator geography. No company-name classification is performed.

### Price

$0.007 per successful unique operator saved to the default Dataset ($7 per 1,000). One row is one operator, regardless of the number of aircraft or models in its arrays. No start charge, separate aircraft charge, or platform usage surcharge for standard runs. Empty results and validation failures produce no billable rows. Uniqueness is per run/certificate designator; running again creates newly billable results. maxResults defaults to 20 ($0.14) and is capped at 2,000 ($14). Apify's maximum run spending limit is enforced by its Python SDK.

### Inputs

| Input | Meaning |
|---|---|
| state | Unavailable in primary source; leave empty/ALL. No office-to-operator state inference. |
| faaRegion | ALL or exact CHDO prefix AL, CE, EA, GL, NE, NM, SO, SW, WP. Raw office prefix only. |
| operationKind | Unavailable; leave empty/ALL. CFR codes are retained separately in cfr_parts. |
| minAircraft | Minimum identified unique aircraft, default 0. Unknown counts excluded when >0. |
| operatorName | Case-insensitive substring of official certificate holder Name. |
| maxResults | 1–2,000 unique operators, default 20. |

Example:

```json
{"operatorName":"Empire Airlines","faaRegion":"WP","minAircraft":2,"maxResults":5}
```

### Source and mapping

The Actor downloads [FAA's official landing page](https://www.faa.gov/about/officeorg/headquartersoffices/avs/faa-certificated-aircraft-operators-legal-part-135-holders) and discovers the current XLSX link at runtime. No Socrata endpoint, login, browser, Playwright or third-party directory is used.

Verified 2 November 2026: sheet **sheet1**, columns **CFR, CHDO, DSGN, Name, Aircraft M/M/S, Registration No., Serial No.**; 11,519 source rows and 1,794 distinct certificate designators. The workbook contains no precomputed aircraft total. HTTP Last-Modified was 26 October 2026 19:07:27 UTC; workbook modified metadata was 26 October 2026 18:51:54 UTC. The landing page's own update date is separate and is never substituted for the workbook date. FAA describes the list as updated weekly; this is not a live feed.

| Output | Definition |
|---|---|
| designator_code | DSGN, unique certificate grouping key |
| certificate_holder_name | Name, exactly as supplied |
| dba_name, city_state, operation_kind | null; absent from workbook |
| faa_district_office | Raw CHDO office code(s), not operator address |
| total_aircraft_count | Unique identified aircraft under this certificate in this workbook |
| aircraft_makes_models | Sorted unique source Aircraft M/M/S strings; source abbreviations preserved |
| aircraft | Deduplicated registration/serial/model detail objects |
| aircraft_count_complete | False when source rows lack both aircraft identifiers |
| unidentified_aircraft_rows | Number of source rows with no registration or serial |
| cfr_parts | Raw CFR values, e.g. 135 and 121/135; not operation classification |
| faa_region | CHDO prefix values, not operator locations |
| source_url | Downloaded official workbook URL |
| source_updated_at | HTTP Last-Modified in UTC; null if absent |
| source_updated_at_basis | HTTP Last-Modified, or null |
| source_workbook_modified_at | Workbook document metadata, not live certificate verification |
| fetched_at | Actual UTC download timestamp |

Aircraft are deduplicated by normalized registration within each certificate. If registration is missing, serial plus model is used; a uniquely matching serial/model with a known registration is reconciled first. Rows missing both identifiers are not counted. If no aircraft can be identified, total_aircraft_count is null rather than a claimed zero. For partial fleets the count is a lower bound and aircraft_count_complete is false. The same aircraft listed under different certificates remains associated with each source certificate. It is never merged across operators. Models are descriptive source strings, not a standardized aircraft taxonomy.

### Use and interpretation

This is a snapshot of the operator–aircraft combinations in the FAA source. It does not establish registered ownership, aircraft availability, current actual flight activity, service geography, safety ratings, insurance, medical capability or present legal status. Operator certification, aircraft registration ownership and operational flight activity are separate concepts. FAA advises contacting the local FSDO if an operator or aircraft is absent or charter status needs confirmation. Missing data is not proof of nonauthorization. This independent product is not FAA endorsed.

The file is a public FAA factual list; no dataset-specific license or numeric request quota was stated on its landing page when checked. See [FAA website policy](https://www.faa.gov/privacy). No FAA logos are redistributed. Downloads are sequential, bounded to 20 MB compressed/100 MB uncompressed, with connection/read timeouts, at most three attempts per URL and a 160-second acquisition deadline. Changed columns, conflicting certificate names and invalid rows fail before any Dataset write, so no operator event is charged for source parsing failures.

### Clay and n8n

Run the Actor, then fetch its default Dataset as JSON or CSV. Output links are provided in the run Output tab. JSON preserves aircraft arrays. For CSV use clean=true; arrays may be JSON-encoded or flattened by the export format. Import designator_code as the stable operator key. n8n can call the run-sync-get-dataset-items API; Clay can import the Dataset CSV/JSON URL. Authentication is handled with your Apify token in your integration, never in public URLs. SUMMARY in the key-value store records source schema, counts, filters, timestamps and timing.

### Reliability

Default sample is 20 operators and targets under five minutes; run timeout is 240 seconds, memory 256 MB (maximum 512 MB). Schema changes stop the run with an explicit error instead of silently misjoining aircraft. No source values are replaced with invented addresses, service classifications or zero fleet counts.

# Actor input Schema

## `state` (type: `string`):

Leave empty/ALL. FAA workbook does not contain operator state. Nonempty state filters fail before downloading or billing.

## `faaRegion` (type: `string`):

Filter the raw CHDO prefix, not operator geography. ALL or AL, CE, EA, GL, NE, NM, SO, SW, WP.

## `operationKind` (type: `string`):

Leave empty/ALL. Workbook CFR is not commuter, on-demand or air ambulance classification. Other values fail without charges.

## `minAircraft` (type: `integer`):

Minimum unique aircraft identified within this workbook and certificate only. Unknown fleet sizes excluded if >0.

## `operatorName` (type: `string`):

Case-insensitive substring of official Name. No DBA search: DBA is absent in the workbook.

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

One $0.007 event per result; 20 results=$0.14. No aircraft or start charges. Platform run spending limit also enforced.

## Actor input object example

```json
{
  "state": "",
  "faaRegion": "ALL",
  "operationKind": "",
  "minAircraft": 0,
  "operatorName": "",
  "maxResults": 20
}
```

# Actor output Schema

## `operatorsJson` (type: `string`):

No description

## `operatorsCsv` (type: `string`):

No description

## `summary` (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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("afkdigital/us-faa-part-135-charter-air-carrier-operator-intelligence").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("afkdigital/us-faa-part-135-charter-air-carrier-operator-intelligence").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 '{}' |
apify call afkdigital/us-faa-part-135-charter-air-carrier-operator-intelligence --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,afkdigital/us-faa-part-135-charter-air-carrier-operator-intelligence"
        }
    }
}
```

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/ocy44hbfLjyFCWBvo/builds/DgR07KcqiGYtRNBH2/openapi.json
