FAA Data Scraper avatar

FAA Data Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
FAA Data Scraper

FAA Data Scraper

Fetch FAA aviation data - airport info (runways, frequencies, ownership) and live METAR weather observations - for any US or international airport. Uses the public Aviation Weather Center API, no authentication required.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Extract FAA (Federal Aviation Administration) aviation data for any US airport — static airport information (runways, ownership, radio frequencies) and live METAR weather observations updated hourly.

Data is sourced from the FAA via the Aviation Weather Center public REST API (aviationweather.gov) — no API key or authentication required.

Features

  • Airport static data — ICAO/IATA codes, name, state, coordinates, elevation, runway count/dimensions/surface, owner type, tower/beacon status, radio frequencies, annual passengers
  • Live METAR weather — temperature, dewpoint, wind, visibility, altimeter setting, sky cover, cloud layers, flight category (VFR/IFR/MVFR/LIFR)
  • Browse mode — 80+ major US airports pre-curated, filterable by state
  • Flexible input — accepts both 3-letter IATA codes (ATL) and 4-letter ICAO codes (KATL)
  • No proxy required — fully public API
  • Batch fetching — up to 500 records per run

Input

FieldTypeDescriptionExample
modeselectsearchAirports, getAirportInfo, or getWeathergetAirportInfo
airportCodesarrayIATA or ICAO airport codes["ATL", "LAX", "JFK"]
statestringUS state filter for searchAirports mode"CA"
maxItemsintegerMax records to return50

Modes

  • searchAirports — Browse 80+ major US airports. Optionally filter by state. Provide airportCodes to override with specific airports.
  • getAirportInfo — Fetch static FAA data for specific airports by IATA/ICAO code.
  • getWeather — Fetch current METAR weather observations for specific airports.

Output (Airport Info)

FieldTypeDescription
airportIdstringIATA code (e.g. ATL)
icaoIdstringICAO code (e.g. KATL)
iataIdstringIATA code
airportNamestringAirport name
statestringUS state code
countrystringCountry code
latitudefloatWGS84 latitude
longitudefloatWGS84 longitude
elevationfloatElevation in feet MSL
ownerTypestringOwnership type
runwayCountintegerNumber of runways
runwayLengthCategorystringShort/Medium/Long
primarySurfacestringPrimary runway surface
runwaysarrayDetailed runway info
annualPassengersintegerAnnual passenger count
hasTowerbooleanHas control tower
hasBeaconbooleanHas rotating beacon
radioFrequenciesarrayRadio frequency list
sourceUrlstringAPI source URL
recordTypestring"airport"
scrapedAtstringISO 8601 timestamp

Output (Weather / METAR)

FieldTypeDescription
airportIdstringIATA code
icaoIdstringICAO code
stationNamestringStation name
observationTimestringObservation timestamp (UTC)
metarTypestringMETAR or SPECI
tempCfloatTemperature in Celsius
dewpointCfloatDewpoint in Celsius
windDirectionDegintegerWind direction (degrees true)
windSpeedKtintegerWind speed in knots
visibilityMilesstringVisibility in statute miles
altimeterHPAfloatAltimeter setting (hPa)
seaLevelPressureHPAfloatSea level pressure (hPa)
flightCategorystringVFR / MVFR / IFR / LIFR
flightCategoryNamestringFull flight category name
skyCoverstringSky cover code
cloudLayersarrayCloud layers with cover and base
latitudefloatStation latitude
longitudefloatStation longitude
elevationfloatStation elevation (ft)
rawMETARstringRaw METAR string
sourceUrlstringAPI source URL
recordTypestring"weather"
scrapedAtstringISO 8601 timestamp

Example Output (Airport)

{
"airportId": "ATL",
"icaoId": "KATL",
"iataId": "ATL",
"airportName": "Atlanta/Hartsfield/Jackson Atlanta Intl",
"state": "GA",
"country": "US",
"latitude": 33.6367,
"longitude": -84.4279,
"elevation": 312.0,
"ownerType": "Publicly Owned",
"runwayCount": 5,
"runwayLengthCategory": "Long (>8000 ft)",
"primarySurface": "Concrete",
"runways": [
{"id": "08L/26R", "dimension": "9000x150", "surface": "Concrete", "alignmentDeg": 90}
],
"annualPassengers": 93700,
"hasTower": true,
"hasBeacon": true,
"recordType": "airport",
"scrapedAt": "2025-01-01T12:00:00+00:00"
}

Example Output (Weather)

{
"airportId": "ATL",
"icaoId": "KATL",
"stationName": "Atlanta/Hartsfield-Jackson Intl, GA, US",
"observationTime": "2025-01-01T07:00:00.000Z",
"metarType": "METAR",
"tempC": 21.1,
"dewpointC": 19.4,
"windDirectionDeg": 170,
"windSpeedKt": 4,
"visibilityMiles": "10+",
"altimeterHPA": 1014.3,
"flightCategory": "VFR",
"flightCategoryName": "Visual Flight Rules",
"skyCover": "OVC",
"cloudLayers": [{"cover": "FEW", "baseFt": 500}],
"latitude": 33.6297,
"longitude": -84.4422,
"elevation": 309.0,
"recordType": "weather",
"scrapedAt": "2025-01-01T12:00:00+00:00"
}

FAQ

Q: Where does the data come from? A: Airport static data and METAR observations are sourced from the FAA via the Aviation Weather Center public REST API at aviationweather.gov/api/data/.

Q: How current is the weather data? A: METAR observations are updated approximately every hour (or more frequently in rapidly changing conditions). The observationTime field shows the exact observation time.

Q: Can I use 3-letter IATA codes or 4-letter ICAO codes? A: Both work. The actor automatically normalises 3-letter US codes by prepending K to convert to ICAO format (e.g. ATLKATL).

Q: Does this work for international airports? A: The Aviation Weather API covers ICAO airports worldwide. Provide the full 4-letter ICAO code for non-US airports (e.g. EGLL for London Heathrow).

Q: How many airports can I request in one run? A: Up to 500 airports per run. Requests are batched in groups of 20.