How to Monitor Airline and Travel Disruptions
Watch airlines, airports and air traffic with industry filters, then split the feed into accidents, strikes and breaking incidents
Written by Jacob Partington
July 27, 2026
How to monitor airline and travel disruptions
To monitor travel disruptions, scope /v1/news/everything to the aviation industries — 18 for passenger airlines, 49 for airport management, 14 for aircraft, 46 for air traffic management — and then split that feed by what went wrong: event.type=accident for incidents, event.type=protest for strikes and industrial action, is_breaking=1 for anything urgent. Aviation is not a category in the news taxonomy; it is an industry, so industry.id is the filter that scopes it.
curl "https://api.apitube.io/v1/news/everything?industry.id=14,18,49&sort.by=published_at&sort.order=desc&per_page=50" \
-H "X-API-Key: YOUR_API_KEY"
Pass the key as the api_key query parameter or as an X-API-Key header. industry.id accepts up to three comma-separated numeric IDs with OR logic.
Which industry IDs cover airlines and airports?
Four IDs carry most aviation coverage, and they describe different parts of the journey:
18— Passenger Airline. Aircraft used by airlines to carry passengers commercially. This is the carrier-level feed: cancellations, fleet decisions, route changes.49— Airport Management. Terminal facilities, airport staff, passenger handling and on-site emergency services. Use it for ground-side disruption such as terminal closures.46— Air Traffic Management. Routes, flight paths, takeoff and landing sequencing, tower and ground control. This is where controller staffing and systems outages surface.14— Aircraft. Civilian aircraft themselves, commercial and private, including cargo and helicopters. Use it for airframe and manufacturer coverage rather than operations.
Because industry.id is capped at three values per request, pick the three that match your use case rather than trying to cover all four at once. Resolve additional IDs from free text with /v1/suggest/industries?prefix=airport, or browse the APITube industry list. More on the filter itself in how to filter news by industry.
How do you separate accidents from strikes?
event.type classifies what happened, and two codes carry most travel disruption. accident covers crashes, runway incidents and equipment failures; protest covers strikes, walkouts and industrial action, which in aviation is often the bigger cause of cancelled flights:
# Safety incidents at passenger airlines
curl "https://api.apitube.io/v1/news/everything?industry.id=18&event.type=accident&published_at.start=NOW-30DAYS" \
-H "X-API-Key: YOUR_API_KEY"
# Industrial action affecting airlines and airports
curl "https://api.apitube.io/v1/news/everything?industry.id=18,49&event.type=protest&published_at.start=NOW-30DAYS" \
-H "X-API-Key: YOUR_API_KEY"
event.type takes up to five codes with OR logic, and an unrecognised code returns an HTTP 400 — pull the valid set from /v1/news/event-types instead of guessing. The event label is used for matching only and is not returned on the article object, so read title and body for the specifics. Because strike coverage often names the union or the airline rather than using the word “strike”, the event filter catches more than a keyword search would; adding title=strike narrows it hard and will miss stories that describe the action differently.
How do you catch disruption while it is still developing?
is_breaking=1 keeps only articles the pipeline flagged as urgent, and it accepts exactly 0 or 1. Pair it with a tight window using published_at.start, which takes absolute dates such as 2026-07-01 or relative values such as NOW-6HOURS:
curl "https://api.apitube.io/v1/news/everything?industry.id=18,49&is_breaking=1&published_at.start=NOW-6HOURS&per_page=100" \
-H "X-API-Key: YOUR_API_KEY"
Trim the payload to what an alert actually needs with fl=id,title,source.domain,published_at — there is no reason to transfer full article bodies into a dashboard row. For the general rules on urgency filtering see how to monitor breaking news.
How do you watch one airline or one airport?
Add title to require the operator’s name in the headline, which drops passing mentions inside industry roundups:
curl "https://api.apitube.io/v1/news/everything?industry.id=18&title=Lufthansa&published_at.start=NOW-7DAYS" \
-H "X-API-Key: YOUR_API_KEY"
Multiple words in title are matched with AND regardless of order, so title=Heathrow delays requires both words somewhere in the headline; quote the phrase to force the exact order. For coverage that mentions the carrier anywhere in the body rather than only in the headline, use organization.name. Airports are geographic, so a radius search is often a better fit than a name: pass location.lat and location.lng together with location.radius in kilometres, and add has_location_geo=1 to drop articles with no coordinates. That geo filter is documented in how to find news near a coordinate or bounding box.
How do you push disruption alerts instead of polling?
Keep the same filters and open the Server-Sent Events stream at /v1/news/stream. It runs the identical filter chain and pushes each new matching article as it is indexed:
curl -N "https://api.apitube.io/v1/news/stream?industry.id=18,49&is_breaking=1&language.code=en" \
-H "X-API-Key: YOUR_API_KEY"
The stream delivers only articles indexed after you connect, so it is a live tail rather than a backfill — run one everything request first to seed your current state. Each article arrives as an event: article with an id: line; send the last id back in the Last-Event-Id header to resume without gaps after a dropped connection. Streamed articles draw on a separate streaming quota, and concurrent stream limits depend on your plan (ER0360 when exceeded). For delivery into a rota system or an ops channel, create a webhook in the dashboard so APITube POSTs each incident to your endpoint.
Common Questions
- Is there an aviation or travel category?
- Why does a strike show up under event.type=protest?
- Can I filter by flight number or route?
- How do I cover more than three aviation industries at once?
Is there an aviation or travel category?
No. Aviation is modelled as an industry, not as a news category, so you scope it with industry.id (18 passenger airline, 49 airport management, 46 air traffic management, 14 aircraft) rather than with category.id. Categories describe the subject of the story in IPTC terms; industries describe the economic sector it belongs to. For travel disruption the industry axis is the one that isolates the right coverage.
Why does a strike show up under event.type=protest?
The event taxonomy groups industrial action, walkouts and demonstrations under the protest code in the society category; there is no separate strike code. That grouping is why the event filter finds more disruption than a keyword search — articles about a cabin crew walkout are classified as protest even when the word “strike” never appears in the headline. Confirm available codes against /v1/news/event-types before hard-coding any of them.
Can I filter by flight number or route?
Not as structured fields. APITube indexes news coverage, so flight numbers, routes and tail numbers appear inside the article body when the reporter wrote them, but they are not extracted into filterable fields. Use title or organization.name to scope to the carrier, then match the flight identifier in your own code against title and body. For airport-level scoping, a geo radius around the airport’s coordinates works better than trying to match its name.
How do I cover more than three aviation industries at once?
industry.id caps at three values per request, so run two requests and merge the results, deduplicating on article id. One request for operations (18,49,46) and one for equipment (14) is a natural split. If you are counting rather than reading, /v1/news/count makes this cheap — one small request per industry group, no article payloads, and the numbers add up cleanly as long as you keep the time window identical across calls.