# AirLive Aviation News Scraper (`acquistion-automation/airlive-aviation-news-rss-scraper`) Actor

Scrape aviation breaking news articles from AirLive. Export to spreadsheet, JSON, JSONL, XML, RSS, or HTML.

- **URL**: https://apify.com/acquistion-automation/airlive-aviation-news-rss-scraper.md
- **Developed by:** [Acquisition Automation Co.](https://apify.com/acquistion-automation) (community)
- **Categories:** Automation, Integrations, News
- **Stats:** 2 total users, 1 monthly users, 77.8% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.50 / 1,000 results

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

![Acquisition Automation Co. Search less. Close more.](https://api.apify.com/v2/key-value-stores/AOdPHdOpeDpzEPS5f/records/banner.jpg)

## ✈️ AirLive Aviation News Scraper

> **Turn AirLive's aviation news feed into rows you can filter, search and archive.** Every article comes back with its headline, link, publication date, author, category tags, the excerpt and the full article HTML. No API key, no registration, no login.

AirLive publishes aviation incidents, diversions, military flights and airline news at `airlive.net`, and pushes them out over an RSS feed. RSS is fine for reading and useless for analysis: you cannot filter it by keyword, you cannot keep a history, and you cannot join it to anything else. This Actor reads the feed and writes each article into a dataset you can open in a spreadsheet, query, or append to day after day.

| Who uses it | What they use the feed for |
|---|---|
| 🛩 Buyers of aviation businesses | Watching incident and operator news around an MRO shop, FBO or charter operator under diligence |
| 🏦 Aviation lenders and insurers | Keeping a dated record of incidents involving an aircraft type, registration or carrier |
| 📊 Analysts covering airlines | Building a searchable archive instead of scrolling a feed reader |
| 📰 Newsrooms and monitoring teams | Catching aviation stories by keyword on a schedule, with the source link attached |

### 📋 What it does

> 💡 **Why it matters:** an aviation asset is priced on its safety and operating record. The news around a registration, a route or an operator is public, and this is the cheapest way to keep it in a file rather than in a browser tab.

- 📰 **Reads the AirLive RSS feed** and returns one row per article, newest first.
- 🔎 **Filters by keyword.** Set `query` and only articles whose title contains that substring are kept.
- 🔗 **Points at any feed.** `feedUrl` defaults to AirLive's main feed and accepts a category feed instead.
- 🏷 **Keeps the category tags**, which on AirLive carry the flight number, airline code, airport and aircraft registration, for example `AA1779`, `MIA`, `N737US`.
- 📄 **Returns both the excerpt and the full article body**, as HTML, so nothing is lost on the way out.
- 💾 **Exports to CSV, Excel, JSON or XML**, from the run page or the API.

### 📊 Output

Every article is one flat row, with the same nine fields on every run.

| Field | Type | Description |
|---|---|---|
| 📰 `title` | string | Article headline as published |
| 🔗 `link` | string | Permanent URL of the article on airlive.net |
| 📅 `pubDate` | string | Publication date in RFC 822 form, for example `Mon, 14 Sep 2026 09:40:38 +0000` |
| ✍️ `author` | string | Byline as the feed gives it |
| 🏷 `categories` | array | Tag list. On AirLive this mixes topics with flight numbers, airline codes, airports and aircraft registrations |
| 📝 `summary` | string | The feed excerpt, as HTML |
| 📄 `content` | string | The full article body, as HTML, including embedded figures and video blocks |
| 🕒 `scrapedAt` | string | ISO timestamp of collection |
| ⚠️ `error` | string | `null` on a normal row |

#### Example rows

`summary` and `content` hold raw HTML. Both are cut short in the two rows below so they stay readable; a real row carries the complete markup.

```json
{
  "title": "Declassified footage shows rescue of Air Force officer who ejected 5 miles from his pilot 50 hours earlier over Iran",
  "link": "https://airlive.net/military/2026/09/14/declassified-footage-shows-rescue-of-air-force-officer-who-ejected-5-miles-from-his-pilot-50-hours-earlier-over-iran/",
  "pubDate": "Mon, 14 Sep 2026 09:40:38 +0000",
  "author": "Seb Mil",
  "categories": [
    "Middle East",
    "Military"
  ],
  "summary": "<p>WASHINGTON ... Newly declassified military footage released by the Department of Defense reveals the dramatic 50-hour rescue operation of a U.S. Air Force weapons systems officer ...</p>",
  "content": "<p class=\"wp-block-paragraph\"><strong>WASHINGTON</strong> ... The officer, identified by his call sign <strong>&#8220;Dude 44 Bravo&#8221;</strong>, was serving as the backseat weapons systems officer aboard an F-15E Strike Eagle ...</p>",
  "scrapedAt": "2026-09-14T15:11:19.453Z",
  "error": null
}
```

```json
{
  "title": "Pilots of AA1779 reported a passenger in seat 9D undressed herself and acted indecently in view of nearby PAX",
  "link": "https://airlive.net/incident/2026/09/12/pilots-of-aa1779-reported-a-passenger-in-seat-9d-undressed-herself-and-acted-indecently-in-view-of-nearby-pax/",
  "pubDate": "Sat, 12 Sep 2026 15:33:13 +0000",
  "author": "AIRLIVE contibutors",
  "categories": [
    "Exclusive",
    "Incident",
    "USA",
    "AA",
    "AA1779",
    "MIA",
    "N737US"
  ],
  "summary": "<p>Law enforcement officers met an American Airlines flight upon its arrival at Miami International Airport late Friday night following reports of indecent behavior by a female passenger in mid-air ...</p>",
  "content": "<p class=\"wp-block-paragraph\"><strong>MIAMI</strong> ... American Airlines Flight <a href=\"https://www.airnavradar.com/data/flights/AA1779/2878115288\">AA1779</a>, operated by an Airbus A319 (registration N737US), departed Baltimore/Washington International Thurgood Marshall Airport (BWI) at 8:45 p.m. EDT ...</p>",
  "scrapedAt": "2026-09-14T15:11:19.453Z",
  "error": null
}
```

### ✨ Why choose this Actor

| | What you get |
|---|---|
| **The whole article, not the teaser** | Most feed readers stop at the excerpt. `content` carries the full body HTML. |
| **Tags that are actually identifiers** | AirLive tags carry flight numbers, airport codes and tail numbers, so a dataset can be filtered on them. |
| **Keyword filtering at the source** | Set `query` and the run returns only matching headlines. |
| **The same nine fields every run** | Append a month of daily runs into one dataset without cleaning columns. |
| **You pay per article** | No subscription. A run that matches nothing costs nothing. |

### 🚀 How to use it

1. [Create a free Apify account](https://console.apify.com/sign-up). New accounts start with $5 of credit.
2. Open the Actor and select **Try for free**.
3. Leave `feedUrl` on the AirLive default, or paste a category feed.
4. Set `maxItems`, and add a `query` if you only want headlines containing a word.
5. Select **Start**, then export from the **Dataset** tab as CSV, Excel, JSON or XML.

A first run:

```json
{
  "feedUrl": "https://www.airlive.net/feed/",
  "maxItems": 10
}
```

Only articles whose headline mentions a carrier:

```json
{
  "feedUrl": "https://www.airlive.net/feed/",
  "query": "American Airlines",
  "maxItems": 100
}
```

### ⚙️ Input

| Field | Required | Description |
|---|---|---|
| `maxItems` | No | Maximum articles to collect in a run. Defaults to 10 |
| `feedUrl` | No | RSS feed URL to read. Defaults to `https://www.airlive.net/feed/` |
| `query` | No | Title substring filter. Leave empty to keep every article |

### 💰 Pricing

Pay per result. No subscription, and no Apify platform usage on top.

| Apify plan | Free | Bronze | Silver | Gold | Platinum | Diamond |
|---|---|---|---|---|---|---|
| Per article | $0.0085 | $0.00817 | $0.00783 | $0.0075 | $0.0075 | $0.0075 |

| Articles collected | Cost on the Free plan |
|---|---|
| 100 | $0.85 |
| 1,000 | $8.50 |
| 10,000 | $85.00 |

**Free plan runs** return up to 10 rows as a preview. Any paid Apify plan lifts that to 1,000,000 per run.

### 🔌 Integrate with any app

The dataset is available through the Apify API as soon as the run finishes. Use `run-sync-get-dataset-items` for a one-shot call, webhooks to trigger what happens next, or the Make, Zapier, Airbyte and LangChain integrations listed on the Actor page.

### 🤖 Use with an AI agent

Give an agent live access to the feed over the Model Context Protocol:

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=acquistion-automation/airlive-aviation-news-rss-scraper"
```

Then ask it in plain language for the latest aviation incidents and have it read the results back.

### ❓ Frequently asked questions

**Why did I get zero rows?**
Either the feed URL did not return valid RSS, or the `query` filter matched no headline. `query` matches a plain substring of the title, so a typo or a stray space returns nothing. Run once without `query` to confirm the feed works.

**How far back does the feed go?**
As far as the publisher's RSS feed does, which is usually the most recent articles only. To build a history, run the Actor on a schedule and append to the same dataset.

**Can I point it at a different site?**
Yes. `feedUrl` takes any RSS feed. Field names stay the same, though `categories`, `author` and `content` depend on what that publisher puts in its feed.

**Why is `content` full of HTML tags?**
It is the article body exactly as the feed publishes it, including figures and embedded video. Nothing is stripped, so you can decide what to keep.

**Do I need a proxy?**
No. Requests and retries are handled inside the Actor and included in the price.

**What can I export?**
CSV, Excel, JSON and XML from the run page, or JSON straight from the API.

### 🔗 More from Acquisition Automation Co.

- [USCG PSIX Vessel Registry Scraper](https://apify.com/acquistion-automation/uscg-psix-vessel-incidents-scraper)
- [SAM.gov Contract Opportunities Scraper](https://apify.com/acquistion-automation/sam-gov-contracts-scraper)
- [PublicSurplus Scraper](https://apify.com/acquistion-automation/publicsurplus-scraper)
- [404 Media Articles Scraper](https://apify.com/acquistion-automation/404media-articles-scraper)
- [BizBuySell Scraper](https://apify.com/acquistion-automation/bizbuysell-scraper)

### About Acquisition Automation Co.

We build automation for people buying businesses. The repetitive part of an acquisition search, checking listings, pulling public records, tracking owners and assets, is work a machine should do, so the buyer's time goes into judging deals instead of collecting them.

We add new Actors regularly. If there is a source you need and do not see here, tell us.

### 🆘 Support

Open an issue in the **Issues** tab of this Actor with your run ID, the input you used, and what you expected to get back.

### ⚠️ Disclaimer

This Actor is independent and is not affiliated with, endorsed by, or sponsored by AirLive or any publisher. It collects only publicly available data. You are responsible for using that data in compliance with the source's terms of service and applicable law.

# Actor input Schema

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

How many articles to collect per run.

## `feedUrl` (type: `string`):

RSS feed URL to scrape.

## `query` (type: `string`):

Optional title substring filter.

## Actor input object example

```json
{
  "maxItems": 10,
  "feedUrl": "https://www.airlive.net/feed/"
}
```

# Actor output Schema

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

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10,
    "feedUrl": "https://www.airlive.net/feed/"
};

// Run the Actor and wait for it to finish
const run = await client.actor("acquistion-automation/airlive-aviation-news-rss-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 = {
    "maxItems": 10,
    "feedUrl": "https://www.airlive.net/feed/",
}

# Run the Actor and wait for it to finish
run = client.actor("acquistion-automation/airlive-aviation-news-rss-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 '{
  "maxItems": 10,
  "feedUrl": "https://www.airlive.net/feed/"
}' |
apify call acquistion-automation/airlive-aviation-news-rss-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,acquistion-automation/airlive-aviation-news-rss-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/mse23fI8hdje0JIBb/builds/LcT7fztQQTggWDiXz/openapi.json
