← All Datasets

FAA Wildlife Strike Database

Every Reported Strike Since 1990 — 341,090 Records

The FAA National Wildlife Strike Database (NWSD) — every wildlife strike reported by airlines, airports, and pilots since 1990. 341,090 records covering 952 species across 2,764 airports. Enriched with ClarityStorm-computed damage severity tiers, species risk scoring, seasonal indicators, and engine ingestion flags. From routine Canada goose strikes on final approach to rare but catastrophic engine ingestion events — the complete picture of wildlife risk in US airspace.

Sample: Public DomainPaid: Commercial LicenseCSV + ParquetAnnual Updates1990–PresentSpecies Risk TiersEngine Ingestion Flags341K Records

Why not download it from FAA directly?

The FAA wildlife strike database is locked behind a JavaScript-heavy web portal (wildlife.faa.gov) with no public bulk download API. Here's what we handled:

  • Full Access database extracted — downloaded Public.accdb (353 MB) via browser automation; exported the STRIKE_REPORTS table to analysis-ready CSV + Parquet
  • PII removed — reporter name and title fields redacted; FAA redacts most personal info in the public release, remaining PII fields dropped
  • Damage labels decoded — mapped N/M/S/D codes to None / Minor / Substantial / Destroyed with ordinal severity tier (0–3)
  • Aircraft class labels — decoded AC_CLASS codes to Airplane / Helicopter / Glider / etc.
  • Engine type labels — decoded engine type codes to Turbofan / Turboprop / Piston / Turboshaft / etc.
  • FAA region names — mapped 8-character region codes (ACE, AEA, AGL, etc.) to full region names
  • Season computed — added Winter/Spring/Summer/Fall from incident month for seasonal analysis
  • Species risk tier — scored each species by mean damage severity × log(strike count); classified as Low / Medium / High / Critical
  • Engine ingestion flag — aggregated individual engine ingestion flags (ING_ENG1–4) into a single any_engine_ingestion boolean
  • Cost buckets — binned inflation-adjusted repair cost into <$1K / $1K–$10K / etc. tiers for categorical analysis
  • Migratory species flag — classified species as migratory based on common name keywords
  • Parquet output — 42.8 MB vs 207.7 MB CSV; columnar storage for fast filtering across 341K rows

⏱ Skip the Access database extraction, code decoding, and risk tier computation. Ready for analysis in minutes.

341,090

Strike Reports

952

Wildlife Species

2,764

Airports Covered

36+

Years of Data

Damage Distribution

Of 341,090 reported strikes — most cause no aircraft damage, but substantial and destroyed-aircraft events drive the economic and safety tail risk.

None

198,447

58.2% of strikes

Minor

17,209

5.0% of strikes

Substantial

4,388

1.3% of strikes

Destroyed

88

0.03% of strikes

Note: ~121K records (35.5%) have no damage classification reported. Minor includes Minor (8,762) and Minor-uncertain (8,447).

Use Cases

Aviation Safety Risk Modeling

Score airports and flight corridors by species risk tier, damage rate, and strike frequency. Identify which species pose the highest risk to jet engines versus windshields. Build probabilistic risk models by aircraft type, phase of flight, and season.

Airport Wildlife Hazard Management

Identify airports with the highest strike rates and most damaging species. Analyze seasonal strike spikes driven by migration and local bird populations. Benchmark an airport's wildlife risk profile against peer airports in the same FAA region.

Insurance Underwriting & Loss Modeling

Model wildlife strike loss distributions by aircraft type, operator, and airport. Use inflation-adjusted repair cost distributions and out-of-service hour data to estimate expected annual loss exposure. Identify tails — the rare but catastrophic engine ingestion events.

Regulatory & Environmental Impact Analysis

Correlate strike rates with migratory flyways and seasonal bird movement data. Quantify the economic impact of wildlife strikes on the US aviation system. Support environmental assessments for new airport construction or runway expansion near sensitive habitats.

Engine & Airframe OEM Research

Analyze engine ingestion events (any_engine_ingestion=True) by engine type, aircraft mass, and species size. Identify which aircraft platforms have the highest ingestion-to-damage conversion rates. Support certification testing data for turbine bird ingestion standards.

AI/ML Flight Safety Applications

Train classifiers to predict damage severity from strike conditions (species size, height, phase of flight, speed). Build anomaly detection models to flag unusual strike clusters by airport or date. Develop geospatial risk heatmaps for wildlife activity near runways.

Schema

Single table — faa_wildlife_strikes — 113 fields delivered as CSV + Parquet. Fields marked computed are derived by ClarityStorm from FAA source data.

FieldTypeDescription
record_idintFAA unique strike record identifier
incident_datestringDate of strike (YYYY-MM-DD)
incident_yearintYear of incident (1990–present)
incident_monthintMonth of incident (1–12)
seasonstringWinter / Spring / Summer / Fall (computed from month)
time_localstringLocal time of strike (HHMM)
time_of_daystringDay / Night / Dusk / Dawn
airport_idstringFAA airport identifier (ICAO/IATA)
airportstringAirport name
statestringUS state abbreviation
faa_regionstringFAA region code (ACE, AEA, AGL, ANE, etc.)
faa_region_namestringFAA region full name (computed)
airport_latitudefloatAirport latitude (WGS 84)
airport_longitudefloatAirport longitude (WGS 84)
operatorstringAirline or operator name
aircraftstringAircraft make and model (e.g. B-737-300)
ac_classstringAircraft class code
ac_class_labelstringAircraft class label: Airplane / Helicopter / Glider / etc. (computed)
ac_massintAircraft mass category (1–5, light to heavy)
engine_typestringEngine type code
engine_type_labelstringEngine type: Turbofan / Turboprop / Piston / etc. (computed)
num_enginesintNumber of engines
phase_of_flightstringPhase of flight: Approach / Takeoff Run / Landing Roll / En Route / etc.
height_agl_ftfloatHeight above ground level in feet at time of strike
speed_ktsfloatAircraft speed in knots at time of strike
sky_conditionstringSky condition: Clear / Some Cloud / Overcast / Fog
precipitationstringPrecipitation: None / Rain / Snow / Fog
species_idstringFAA species identifier code
speciesstringWildlife common name (e.g. Canada goose, Red-tailed hawk)
wildlife_sizestringSmall / Medium / Large
wildlife_size_labelstringWildlife size full label (computed)
is_migratory_speciesboolWhether species is typically migratory (computed)
species_risk_scorefloatRisk score = mean_severity × log(strike_count) (computed)
species_risk_tierstringLow / Medium / High / Critical — based on damage rate and frequency (computed)
num_wildlife_seenintNumber of animals seen
num_wildlife_struckintNumber of animals actually struck
damagestringDamage code: N=None, M=Minor, S=Substantial, D=Destroyed
damage_labelstringNone / Minor / Substantial / Destroyed (computed)
damage_severity_tierint0=None, 1=Minor, 2=Substantial, 3=Destroyed (computed ordinal)
has_damageboolWhether strike caused aircraft damage (computed)
any_engine_ingestionboolWhether any engine ingested wildlife (computed)
indicated_damageboolWhether damage was indicated on the strike report
effectstringEffect on flight: None / Engine Shutdown / Aborted Takeoff / Emergency Landing / etc.
cost_repairs_usdfloatRepair cost in current USD
cost_repairs_infl_adj_usdfloatRepair cost inflation-adjusted to current dollars
cost_bucketstringNone / <$1K / $1K–$10K / $10K–$100K / $100K–$1M / $1M+ (computed)
num_injuriesintNumber of human injuries resulting from strike
num_fatalitiesintNumber of fatalities resulting from strike
pilot_warnedboolWhether pilot was warned of wildlife before strike
remains_collectedboolWhether wildlife remains were collected
remains_sent_to_smithsonianboolWhether remains were sent to Smithsonian for species ID
aircraft_out_of_service_hrsfloatHours aircraft was out of service due to strike
distance_from_airport_nmfloatDistance from airport at time of strike (nautical miles)
incident_latitudefloatIncident latitude (WGS 84)
incident_longitudefloatIncident longitude (WGS 84)
report_sourcestringReport source: Air Transport / General Aviation / Military / etc.
last_updatedstringDate record was last updated in FAA database

Quick Start

import pandas as pd

df = pd.read_parquet("faa_wildlife_strikes.parquet")

# Top 10 most dangerous species (Critical risk tier)
critical = df[df["species_risk_tier"] == "Critical"]
print(critical.groupby("species")[["record_id", "damage_severity_tier"]].agg(
    strikes=("record_id", "count"),
    mean_severity=("damage_severity_tier", "mean")
).sort_values("mean_severity", ascending=False).head(10))

# Engine ingestion events by aircraft type
ingested = df[df["any_engine_ingestion"] == True]
print(ingested.groupby("ac_class_label")["record_id"].count().sort_values(ascending=False))

# Strike rate by phase of flight
print(df.groupby("phase_of_flight")["record_id"].count().sort_values(ascending=False).head(10))

# Seasonal patterns — strikes by species and season
seasonal = df.groupby(["season", "species_risk_tier"])["record_id"].count().unstack(fill_value=0)
print(seasonal)

# Airports with most substantial/destroyed damage strikes
severe = df[df["damage_severity_tier"] >= 2]
print(severe.groupby("airport")["record_id"].count().sort_values(ascending=False).head(15))

# Inflation-adjusted cost distribution for damaging strikes
damaged = df[df["has_damage"] == True]
print(damaged["cost_bucket"].value_counts())
print(f"Total estimated repair cost: ${damaged['cost_repairs_infl_adj_usd'].sum():,.0f}")

Pairs Well With

ClarityStorm: NTSB Aviation Accidents

Join wildlife strike records with NTSB accident investigations to identify strikes that contributed to accidents. Analyze the escalation path from strike → damage → incident → accident.

External: USGS Migratory Bird Data

Cross-reference strike species with USGS breeding bird survey and migration pattern data to build seasonal wildlife risk models by flyway and airport location.

Pricing

Sample

Free

1,000 rows (CSV) + full schema documentation

Public Domain

Download Sample
Complete

$99

Full dataset — 341,090 records, 113 fields, 1990–present, CSV + Parquet

Commercial License

Buy Complete
Annual

$199/yr

Full dataset + annual updates as FAA adds new strike reports

Commercial License

Subscribe

Data Provenance

Source: Federal Aviation Administration — National Wildlife Strike Database (NWSD). Operated by FAA's Office of Airports (ARP), Airport Safety & Standards (AAS). Available at wildlife.faa.gov.

Coverage: All reported wildlife strikes submitted by US airlines, airport operators, pilots, and other parties from 1990 to present. 341,090 records across 2,764 airports in all 50 US states plus territories and international locations. 952 distinct wildlife species identified.

Update cadence: The FAA NWSD is updated continuously as new strikes are reported. ClarityStorm refreshes the dataset annually to capture the latest strike reports.

License: FAA wildlife strike data is a US federal government work in the public domain under 17 U.S.C. § 105. ClarityStorm's derived fields and structured compilation are provided under a commercial license for paid tiers.

Processing: Downloaded the FAA Public.accdb Access database (353 MB, updated March 2026), exported the STRIKE_REPORTS table (341,090 rows, 94 source fields), removed PII fields, decoded categorical codes, computed enriched fields (season, damage_severity_tier, species_risk_tier, cost_bucket, engine ingestion flags), and output to CSV + Parquet.