# Aopa — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search for general aviation airports and access detailed information including runways, real-time weather conditions, NOTAMs, and aviation procedures—all in one place. Find upcoming aviation events and get comprehensive airport overviews to plan your flights with up-to-date data.

**Category:** Travel | **Website:** [aopa.org/](https://aopa.org/) | **Docs:** [parse.bot/marketplace/bc14ed98-d975-4592-ad2d-965dada8ba93/aopa-org-api](https://parse.bot/marketplace/bc14ed98-d975-4592-ad2d-965dada8ba93/aopa-org-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-aopa-org-api-bc14ed98/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_airport_notams

Returns current NOTAMs (Notices to Air Missions) for a specific airport. Combines both US domestic and international NOTAMs into a single list. Each NOTAM includes effective/expiration dates, raw text, decoded report, and TFR status.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `airport_id` | string | Yes | Airport ICAO or FAA identifier (e.g. KJFK, ORD, KORD). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-aopa-org-api-bc14ed98/get_airport_notams \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"airport_id":"<string>"}'
```

### get_airport_overview

Point-lookup for a single airport by its FAA or ICAO identifier. Returns the full detail record including location, runways, communication frequencies, NOTAMs, businesses, reviews, terminal procedures, and administrative metadata. This is a heavy response (50–150 KB) — prefer search_airports for listing and drill into overview only when full detail is needed.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `airport_id` | string | Yes | Airport ICAO or FAA identifier (e.g. KJFK, ORD, KORD). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-aopa-org-api-bc14ed98/get_airport_overview \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"airport_id":"<string>"}'
```

### get_airport_runways

Returns the landing surfaces (runways, helipads) for a specific airport. Each surface includes dimensions, material, condition, weight-bearing capacity, lighting, and per-end takeoff/landing area details (ILS type, markings, obstacles, gradient).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `airport_id` | string | Yes | Airport ICAO or FAA identifier (e.g. KJFK, ORD, KORD). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-aopa-org-api-bc14ed98/get_airport_runways \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"airport_id":"<string>"}'
```

### get_airport_weather

Returns current METARs and TAFs for weather stations near an airport or geographic point. Searches within 25 nm for METARs and 50 nm for TAFs. Either airport_id or both lat/lon are required — when airport_id is supplied, coordinates are resolved from the airport record automatically.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `airport_id` | string | No | Airport ICAO or FAA identifier. When provided, lat/lon are resolved from the airport location. |
| `lat` | number | No | Latitude of search center. Required if airport_id is not provided. |
| `lon` | number | No | Longitude of search center. Required if airport_id is not provided. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-aopa-org-api-bc14ed98/get_airport_weather \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"airport_id":"<string>","lat":"<number>","lon":"<number>"}'
```

### search_airports

Full-text search over US airports by ICAO code, FAA code, name, city, or state. Returns lightweight summaries with identifiers and coordinates. A single query string matches across all fields; no field-specific filtering. Results are not paginated — the server returns all matches (typically 5–20 for a city name).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search query matching airport ICAO code, FAA code, name, city, or state. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-aopa-org-api-bc14ed98/search_airports \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```

### search_events

Geographic search for upcoming aviation events (fly-ins, air shows, seminars, webinars) within a radius of a coordinate. Returns events sorted by proximity. Online/webinar events may appear with null coordinates and null distance.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `lat` | number | Yes | Latitude of search center. |
| `lon` | number | Yes | Longitude of search center. |
| `radius` | integer | No | Search radius in miles. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-aopa-org-api-bc14ed98/search_events \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"lat":"<number>","lon":"<number>","radius":"<integer>"}'
```
