OurAirports Global Airport Database Scraper
Pricing
from $7.49 / 1,000 result items
OurAirports Global Airport Database Scraper
Scrapes the OurAirports public data files for airport records with ICAO and IATA codes, GPS coordinates, elevation, and classification. Filter by country, type, scheduled service, or geographic bounding box.
Pricing
from $7.49 / 1,000 result items
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
OurAirports Global Airport Database Scraper
Scrape the complete global airport database from OurAirports, up to a million records per run. Every airport comes with its ICAO and IATA codes, GPS coordinates, elevation, runway info, and scheduled service status. Export to CSV, JSON, Excel, or XML.
The OurAirports community dataset is the most complete free airport database on the web, but downloading and parsing the raw CSV files means manual work every time it updates. This Actor reads the live data directly, lets you filter by country, type, scheduled service, or a geographic bounding box, and returns each airport as a clean, flat row ready for your database or analysis.
| Who uses it | What they scrape OurAirports for |
|---|---|
| Aviation data analysts | Build a current, filterable master list of airports for a specific region or worldwide. |
| Travel app developers | Populate an airport picker or route planner with official codes and coordinates. |
| Logistics and cargo planners | Identify all airports with scheduled service in a target country for network expansion. |
| Flight simulation enthusiasts | Gather real-world airport data to enhance scenery or navigation databases. |
What it does
This Actor collects airport records from the OurAirports public data files and returns each one as a flat row with identifiers, location, elevation, and classification fields.
- 🌍 Country filter: restrict results to a single ISO country code like US, GB, or JP.
- 📏 Airport type: collect only large airports, small airports, heliports, seaplane bases, balloonports, or closed airfields.
- 🛫 Scheduled service: toggle to return only airports with known commercial airline flights.
- 🗺️ Bounding box: define a rectangular area by min and max latitude and longitude to scrape airports in a specific region.
- 🔢 Item cap: set a hard limit from 1 to 1,000,000 airports per run to control dataset size.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with OurAirports data
🌐 Build a regional airport database.
An aviation data analyst runs the Actor with a country code and scheduled service enabled to get a clean list of commercial airports for a market report.
📱 Seed a travel app with airport codes.
A developer scrapes all medium and large airports worldwide to populate an autocomplete field with IATA codes and city names.
🗺️ Map airports in a specific area.
A GIS specialist sets a bounding box over Southeast Asia and collects all heliports and small airports for a humanitarian logistics planning map.
🛩️ Find seaplane bases for a niche directory.
A content creator filters by seaplane_base type and a country code to compile a directory of water landing sites for a general aviation website.
Why choose this scraper
| What you get | |
|---|---|
| Always up to date | Reads the live OurAirports data on each run, not a stale snapshot. |
| One flat schema | Every airport arrives with the same fields, ready for import into any tool. |
| No parsing work | You get structured JSON, CSV, Excel, or XML instead of raw CSV files to clean. |
| Geographic precision | Filter by bounding box to grab only the airports that matter for your map or analysis. |
How it compares
No other Store actor targets OurAirports the same way, so the honest comparison is with the alternatives teams actually weigh.
| OurAirports Global Airport Database Scraper | Build it in-house | By hand | |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When OurAirports changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |
Configure the run
Drive the Actor with an optional country code, airport type, scheduled service flag, and geographic bounding box, and filters run as each record is read so only matches reach your dataset. The Input tab lists every parameter.
A first run with the defaults:
{"maxItems": 10,"country": "US"}
A larger pull:
{"maxItems": 200,"country": "US"}
Pricing
Pay-per-result: $0.00999 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $1.00 |
| 1,000 results | $9.99 |
| 10,000 results | $99.90 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the OurAirports Global Airport Database Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to OurAirports through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/ourairports-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check that your country code is a valid ISO 3166-1 alpha-2 code. Also, if you set a bounding box, ensure the min and max latitude and longitude values define a valid area and that the box overlaps with land.
The run finished but my dataset is empty.
Your combination of filters may be too restrictive. Try removing the scheduled service flag or broadening the airport type to 'All Types' and run again.
I got fewer results than my maxItems setting.
This is normal. maxItems is an upper cap. The Actor returns every airport that matches your filters, and the total number of matching airports may be less than your cap.
The latitude and longitude values look wrong for my area.
The bounding box uses decimal degrees with negative values for south and west. For example, minLat=-34, maxLat=-30, minLon=18, maxLon=23 covers the Cape Town region.
Can I get the data in my local language?
The OurAirports dataset primarily uses English for airport names. Some records may include a local name field, but the data is not localized by this Actor.
FAQ
| Question | Answer |
|---|---|
| Where does the data come from? | The Actor reads the public data files maintained by the OurAirports community project at ourairports.com. It does not scrape the website's HTML pages. |
| How often is the OurAirports data updated? | The OurAirports project publishes updates regularly as contributors add or correct airport information. Run this Actor whenever you need a fresh copy. |
| Can I get only airports with IATA codes? | The Actor returns all matching airports. Many small airfields and heliports do not have IATA codes. You can filter the output afterward for rows where the IATA field is not empty. |
| What does the scheduled service filter do? | It restricts results to airports that OurAirports marks as having scheduled commercial airline service. This excludes general aviation fields, private strips, and closed airports. |
| How do I filter for airports in one country? | Set the Country Code input to the two-letter ISO 3166-1 alpha-2 code for that country, such as DE for Germany or BR for Brazil. |
| Can I scrape airports within a specific latitude and longitude box? | Yes. Fill in the minLat, maxLat, minLon, and maxLon fields to define a bounding box. The Actor will return only airports whose coordinates fall inside that rectangle. |
| What export formats are available? | You can export your dataset as JSON, CSV, Excel, or XML directly from the Apify platform after the run finishes. |
| Is there a limit on how many airports I can collect? | You can set the maxItems field up to 1,000,000. The full OurAirports dataset contains around 60,000 airports, so the default limit is more than enough for a complete pull. |
| Does this Actor include runways or frequencies? | The core airport record includes runway count and surface type summary fields. Detailed runway and frequency data are in separate OurAirports files and are not included in this Actor's output. |
| Can I get closed airports? | Yes. Select 'Closed' from the Airport Type dropdown to collect only airports that are no longer operational. |
Related actors
Browse the full ParseForge collection for more scrapers.
🆘 Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by OurAirports. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
