SourceFinch Verified · Transport & logistics
Aviation country reference data
A complete publisher CSV of countries, with native text codes and names for interpreting aviation location records.
- Healthy · 100% of observed runs successful
- Global
- Publisher's public bulk file or feed
- 6 typed fields
At a glance
- Publisher
- OurAirports
- Jurisdiction
- Global
- Publisher updates
- Publisher exports nightly; monitor daily
- SourceFinch checks
- Daily by default
- Records per run
- 249 in the latest run
- Record key
code- Acquired from
- Publisher's public bulk file or feed:
https://davidmegginson.github.io/ourairports-data/countries.csv - Recipe
- v1.0.0, approved October 6, 2026
- Verified since
- October 6, 2026
- Last green run
- October 6, 2026
What the data contains
Collects every row in the OurAirports countries.csv reference table. Countries describe the publisher’s country coverage, including country codes used in airport and navaid records. The native code is the record key. Numeric internal IDs remain separate, and local codes retain leading zeros. Names, continent codes, alternate keywords and reference URLs are preserved as supplied, including Unicode text and publisher-specific classifications. This is geographic reference data, not a business registry, live airport status feed or authoritative geopolitical classification. The publisher provides no guarantee of accuracy or fitness for use. SourceFinch is independent of OurAirports. Publisher code changes appear as removed and added records. Internal numeric IDs are documented by the publisher as persistent even when codes change. Coverage includes publisher country-like entities and some unofficial non-ISO codes.
Fields and types
Every record has these fields. The key field code identifies a record across runs, so changes are reported field by field.
| Field | Type | Description |
|---|---|---|
ourairports_id | integer | Persistent publisher internal numeric identifier, including when a name or code changes. The owned collector uses code as its record key. |
codekey | string | Publisher country or region code, preserved as text. It is the record key; Namibia’s country code NA remains a literal value. |
name | string | Country or top-level administrative region name supplied by OurAirports, without independent normalization. |
continent | string | Publisher continent code supplied as text; not a derived geopolitical classification. |
wikipedia_link | url, nullable | Publisher-provided Wikipedia reference URL; this recipe does not fetch the linked page. |
keywords | string, nullable | Publisher alternate names and search keywords; commas and UTF-8 characters are preserved. Blank values remain empty text. |
Sample output
The first 5 of 249 records from SourceFinch's own run on October 6, 2026, exactly as delivered.
| Field | Record 1 | Record 2 | Record 3 | Record 4 | Record 5 |
|---|---|---|---|---|---|
ourairports_id | 302672 | 302618 | 302619 | 302722 | 302723 |
code | AD | AE | AF | AG | AI |
name | Andorra | United Arab Emirates | Afghanistan | Antigua and Barbuda | Anguilla |
continent | EU | AS | AS | NA | NA |
wikipedia_link | https://en.wikipedia.org/wiki/Andorra | https://en.wikipedia.org/wiki/United_Arab_Emirates | https://en.wikipedia.org/wiki/Afghanistan | https://en.wikipedia.org/wiki/Antigua_and_Barbuda | https://en.wikipedia.org/wiki/Anguilla |
keywords | Andorran airports | UAE,مطارات في الإمارات العربية المتحدة | — | Antiguan airports | — |
Sample as JSON
[
{
"code": "AD",
"name": "Andorra",
"keywords": "Andorran airports",
"continent": "EU",
"ourairports_id": 302672,
"wikipedia_link": "https://en.wikipedia.org/wiki/Andorra"
},
{
"code": "AE",
"name": "United Arab Emirates",
"keywords": "UAE,مطارات في الإمارات العربية المتحدة",
"continent": "AS",
"ourairports_id": 302618,
"wikipedia_link": "https://en.wikipedia.org/wiki/United_Arab_Emirates"
},
{
"code": "AF",
"name": "Afghanistan",
"keywords": null,
"continent": "AS",
"ourairports_id": 302619,
"wikipedia_link": "https://en.wikipedia.org/wiki/Afghanistan"
},
{
"code": "AG",
"name": "Antigua and Barbuda",
"keywords": "Antiguan airports",
"continent": "NA",
"ourairports_id": 302722,
"wikipedia_link": "https://en.wikipedia.org/wiki/Antigua_and_Barbuda"
},
{
"code": "AI",
"name": "Anguilla",
"keywords": null,
"continent": "NA",
"ourairports_id": 302723,
"wikipedia_link": "https://en.wikipedia.org/wiki/Anguilla"
}
]Evidence behind every value
- Each run keeps the publisher's exact response, hashed with SHA-256. This sample came from a response with hash
2a9dbee691125b0cdb8ceb5fe227c48c903f99c488963b8e53e2ab366521c639. - Every value records where it came from in that response: a CSS path into the retained capture.
- Each run gets a signed manifest (Ed25519) timestamped by an RFC 3161 authority: this run's manifest hash is
b7ba607e65847bbc7bcc658730f3289e04dc34808b313ac756d2032df33a0944, timestamped October 6, 2026. - The compliance state at capture is recorded with the evidence: robots.txt hash and verdict, AI-preference signals, crawler identity and the usage rights below.
- Download any run as an evidence bundle (WACZ) and check it offline, without trusting SourceFinch:
sourcefinch verify-bundle run.wacz.
Terms posture and usage rights
- Terms
- Automated access permitted · publisher's terms
- robots.txt
- None published (HTTP 404); access allowed under RFC 9309
- AI-preference signals
- None observed at review
- Public record
- No
- Reviewed
- October 6, 2026; next review April 6, 2027
- Licence basis
- Publisher's terms of use
- Commercial use
- Allowed
- Redistribution
- Allowed
- Attribution
- Not required
OurAirports releases all downloadable data to the Public Domain and explicitly permits creating a competing airport website. Credit is welcomed but not required. No guarantee of accuracy or fitness for use. This recipe only collects geographical CSV reference tables, not comments or user profiles.
Usage rights travel with every record SourceFinch delivers (API, exports, webhooks and evidence bundles). They are our documented understanding of the publisher's stated terms, not legal advice.
Reliability
- Runs, last 30 days
- 2
- Green
- 100%
- Failed
- 0
- Median run time
- 0.7 s
- Latest run
- success, October 6, 2026
Measured on completed runs of this recipe version across SourceFinch, anonymized, within a rolling 30-day window. First successful observation: October 6, 2026. A new recipe has only the history collected since that date; this is not a 30-day uptime guarantee.
Use it
Every surface creates the same monitor from this Verified recipe. Monitors keep record history, report field-level changes and deliver by webhook, export or email. You confirm you have the right to collect the source (rights: true).
Console
Open this recipe in the console: it preserves the reviewed URL, fields and record key. Review the latest captured sample, confirm source rights, and choose a schedule before creating your monitor.
Portable recipe
Copy into the console's Import or share a recipe panel to customize fields, types and schedules. This configuration contains no captured records or workspace IDs.
{
"schema": "sourcefinch/source@1",
"name": "Aviation country reference data",
"url": "https://davidmegginson.github.io/ourairports-data/countries.csv",
"recipe": {
"mode": "http",
"format": "csv",
"items": "*",
"fields": {
"code": "code",
"name": "name",
"keywords": "keywords",
"continent": "continent",
"ourairports_id": "id",
"wikipedia_link": "wikipedia_link"
},
"required": [
"code",
"name"
],
"csv": {
"delimiter": ",",
"header": true,
"encoding": "utf-8"
},
"types": {
"ourairports_id": "integer"
}
},
"schedule": "daily",
"key_field": "code"
}source.json
The request body used by the API, CLI and SDK examples.
{
"name": "Aviation country reference data",
"url": "https://davidmegginson.github.io/ourairports-data/countries.csv",
"recipe": {
"mode": "http",
"format": "csv",
"items": "*",
"fields": {
"code": "code",
"name": "name",
"keywords": "keywords",
"continent": "continent",
"ourairports_id": "id",
"wikipedia_link": "wikipedia_link"
},
"required": [
"code",
"name"
],
"csv": {
"delimiter": ",",
"header": true,
"encoding": "utf-8"
},
"types": {
"ourairports_id": "integer"
}
},
"key_field": "code",
"schedule": "daily",
"rights": true,
"catalog": {
"slug": "ourairports-countries",
"version_id": "24a13e56-87ac-442f-b073-fbd10013878c"
}
}REST API
Create an API key under Console → API keys. Reference: /docs/api.
# the Verified entry (fields, recipe, sample, terms) as JSON
curl https://sourcefinch.com/v1/catalog/ourairports-countries -H "Authorization: Bearer $SOURCEFINCH_API_KEY"
# create the monitor from source.json (below)
curl -X POST https://sourcefinch.com/v1/sources \
-H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d @source.json
# then run it now (later runs follow the schedule)
curl -X POST https://sourcefinch.com/v1/sources/$SOURCE_ID/runs \
-H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"CLI
The sourcefinch CLI is not on npm yet; see /docs/cli.
sourcefinch login
sourcefinch catalog get ourairports-countries --source-json > source.json
sourcefinch sources create --file source.json
sourcefinch runs create $SOURCE_ID --wait
sourcefinch records $SOURCE_IDTypeScript SDK
The SDK is not on npm yet; see /docs/sdk.
import { SourceFinch } from "@sourcefinch/sdk";
const sf = new SourceFinch({ apiKey: process.env.SOURCEFINCH_API_KEY });
const entry = await sf.catalog.get("ourairports-countries");
const source = await sf.sources.create({
catalog: { slug: entry.slug, version_id: entry.recipe.version_id },
name: entry.name.slice(0, 100),
url: entry.acquisition_path.endpoint,
recipe: entry.recipe.definition,
key_field: entry.recipe.key_field,
schedule: entry.recipe.schedule,
rights: true, // you confirm you have the right to collect this source
});
const run = await sf.runs.wait((await sf.runs.create(source.id)).id);
console.log(run.status);MCP
Remote MCP server with OAuth; see /docs/mcp.
claude mcp add --transport http sourcefinch https://sourcefinch.com/mcp
# then ask your agent:
"Use SourceFinch to monitor Aviation country reference data: get_catalog_source ourairports-countries,
then create_source with its create_source_args (dry run first), then run_source."Pricing
Each check is one run, whatever the number of records, and failed runs are free. On its default daily schedule this source uses about 30 runs a month, which fits the Free plan's 300 runs. It uses HTTP acquisition, so no browser runs are needed. See plans.
Related sources
SourceFinch is independent and is not affiliated with or endorsed by OurAirports. This page describes aviation country reference data as SourceFinch acquires it.