API v1 · 37 endpoints · one bearer key

The corrected facility layer, the change feed, and the scored markets. Over one key.

Pull the reconciled U.S. heliport registry and its risk assessments, keep current from an append-only change feed that now carries FAA obstruction filings linked to facilities, subscribe to signed webhooks, and read 25 scored markets with every score ever produced preserved. JSON, cursor pagination, methodology version and hash in every response.

Read the reference License access
5,702
FAA heliport records behind /facilities, operational and closed, each with an AIX identifier
4,185
events in the change feed, replayable from any cursor
253
obstruction filings linked to facilities in the last 7 days
7,663
immutable score snapshots behind /markets/{city_id}/history
6,441
AIX identifiers, free to resolve and cite
What you can pull

37 endpoints, grouped by the layer they read.

Base URL https://www.airindex.io. Bearer token in the Authorization header. Responses are JSON in a { meta, data } envelope with X-RateLimit-* headers. Tier badges show the minimum tier for each endpoint.

Facilities
Every U.S. heliport, reconciled and risk-assessed under an AIX identifier. Snapshot with export, then keep current from the change feed.
GET/api/v1/facilities/{aix_id}Single-facility dossier: identity, measured dimensions, risk tier, obstruction environment, provenance blockAll tiers
GET/api/v1/facilities/exportBulk facility feed (JSON or CSV), filterable by state, site type, market, ownership, tierInstitutional+
GET/api/v1/facilities/changesAppend-only change feed: corrections, verifications, risk moves, new facilities, obstruction watch. Cursor-paginatedInstitutional+
GET/api/v1/facilities/{aix_id}/autonomous-readyGO / CAUTION / NO-GO verdict with per-check pass/fail and provenanceInstitutional+
Obstacles & airspace
The FAA obstacle file, controlled and special-use airspace, and the time dimension on OE/AAA clearances. Obstruction filings linked to facilities arrive through the change feed above.
GET/api/v1/obstructionsFAA Digital Obstacle File: verified obstacles (towers, buildings, antennas) with height, lighting and marking, by state or areaAll tiers
GET/api/v1/airspaceClass B/C/D/E and special-use airspace areas (restricted, prohibited, MOA, warning, alert), by state or areaAll tiers
GET/api/v1/airspace/expiringOE/AAA determinations for structures linked to a heliport (within ~0.5 nm) that have lapsed or are about to; a re-filing signal for that structure, not a pad-scoped clearance and not a hazard claimAll tiers
Markets
Twenty-five U.S. markets scored under a hash-locked methodology, every score ever produced preserved.
GET/api/v1/marketsCurrent scores and tiers for all marketsAll tiers
GET/api/v1/markets/{city_id}Market detail: factors, operators, corridors, tier history, citationsAll tiers
GET/api/v1/markets/{city_id}/historyScore history with triggering-event attributionAll tiers
GET/api/v1/markets/{city_id}/gapsGap analysis: which factors hold the score down and by how much, against peersAll tiers
GET/api/v1/markets/{city_id}/forward-signalsForward signals with watch statusAll tiers
GET/api/v1/markets/{city_id}/trajectoryScore trajectory over time (Pro: 90 days; Institutional+: full history)Pro+
GET/api/v1/markets/exportBulk market exportAll tiers
Regulatory & targeting
The statute-sourced state spectrum and the priority ranking of candidate sites.
GET/api/v1/regulatoryState Regulatory Spectrum: Tier I to IV placements with citationsInstitutional+
GET/api/v1/targetingPriority Targeting Matrix: sites ranked by regulatory tier, risk, conversion feasibility, market proximityInstitutional+
Entities
The disclosed counterparty graph around each operator, keyed by AIX identifiers.
GET/api/v1/eid/operators/{operator_id}Operator counterparty graphPro+
GET/api/v1/eid/entities/{aix_id}Single entity by AIX identifierPro+
GET/api/v1/eid/multi-operatorEntities with relationships to two or more tracked operatorsPro+
Coverage
Emergency-landing coverage along a route or across an area (ELIP).
GET/api/v1/coverageRoute coverage: diversion nodes, urgency bands, glide-modeled gapsInstitutional+
GET/api/v1/coverage/areaArea coverage summaryInstitutional+
Context
Hospital enrichment, current conditions, live signals, and the market watch list.
GET/api/v1/hospitalsPer-facility hospital context: type, trauma level, ownership, beds, HIFLD helipad listing, medevac-conflict advisoryAll tiers
GET/api/v1/hospitals/unregisteredOpen hospital helipads with no FAA record within 1 nm (deterministic two-file cross-check)All tiers
GET/api/v1/signals/liveHigh-confidence signal events, last 24 to 168 hoursPro+
GET/api/v1/weatherLatest observed conditions per facility from the weather connector (advisory; ~20-minute refresh)All tiers
GET/api/v1/watchlistThe Market Watch List: markets under active watch determinations, with reasonsAll tiers
Subscriptions (push)
Signed webhooks or email digests over the change feed, filtered to your facilities, states, or markets. Cursor per subscription; at-least-once.
GET/api/v1/subscriptionsList subscriptionsInstitutional+
POST/api/v1/subscriptionsCreate: name, channel (webhook | email), target, filter, sinceInstitutional+
GET/api/v1/subscriptions/{id}Detail with recent deliveriesInstitutional+
PATCH/api/v1/subscriptions/{id}Rename, refilter, pause or reactivateInstitutional+
DELETE/api/v1/subscriptions/{id}RemoveInstitutional+
POST/api/v1/subscriptions/{id}/testSend a signed test event nowInstitutional+
GET/api/v1/subscriptions/{id}/deliveriesDelivery logInstitutional+
Account
Keys and consumption.
GET/api/v1/keysList keys (session)Pro+
POST/api/v1/keysMint a key (session)Pro+
DELETE/api/v1/keys/{key_id}Revoke a key (session)Pro+
GET/api/v1/usageYour own call volume: total, last 30 days, this month, by endpointAll tiers
Tiers

Three tiers. Access is negotiated; the app grants it.

There is no self-serve checkout. Institutional and Enterprise access is licensed annually after a conversation; we set your organization's tier and your team mints its own keys. Every served call is metered so you can see your consumption at /api/v1/usage.

Pro
100 req / hr
Markets, history, gaps, forward signals, entities, live signals, single-facility dossiers.
Individual analysts and readers.
Institutional
1,000 req / hr
Everything in Pro plus bulk export, the change feed, obstruction watch, subscriptions and webhooks, regulatory spectrum, targeting, coverage, AutonomousReady.
Teams. Internal use. Annual license.
Enterprise
10,000 req / hr
Everything in Institutional plus embedding rights, direct data feeds, custom SLA and support channel.
Redistribution and product embedding.
Two calls that show the shape
# Keep current: everything after your cursor
curl "https://www.airindex.io/api/v1/facilities/changes?since=<cursor>&type=obstruction_filed_nearby,risk_tier_change" \
  -H "Authorization: Bearer aix_..."

# → { data: { changes: [ { aix, facility_id, change_type,
#      summary, source_url, at } ], pagination: { next_cursor } } }
# Or have it pushed: signed webhook, Florida only
curl -X POST https://www.airindex.io/api/v1/subscriptions \
  -H "Authorization: Bearer aix_..." -H "Content-Type: application/json" \
  -d '{ "name": "FL obstruction watch", "channel": "webhook",
        "target": "https://ops.example.com/airindex",
        "filter": { "states": ["FL"] } }'

# → secret returned once; verify X-AirIndex-Signature (t=,v1=HMAC-SHA256)
Identifiers are free. History and delivery are the product.

AIX identifiers can be looked up, resolved, and cited by anyone, license or not (the registry, public verification). What you license is the corrected record behind them, its full history, the change feed and its delivery, and the right to build on it. Methodology changes are announced in advance and carry a version bump; the hash in every response is the one the published spec was sealed under.

License access Full reference What's underneath, counted live