Notamify SDK Is Live: Official Python NOTAM SDK for NOTAM API and Watcher API

3/28/2026

The official Notamify SDK is now live. If you have been looking for a production-ready NOTAM SDK for Python, this is it.

You can install it today from PyPI and start working with both Notamify API v2 and Watcher API through one Python client.

This is the release we wanted for teams that like Notamify data but do not want to spend time hand-rolling auth headers, pagination loops, webhook verification, or local test receivers.

What ships in the NOTAM SDK

The SDK is published as notamify-sdk and currently ships as version 0.1.0.

It includes support for:

  • Active NOTAM queries
  • Raw NOTAM queries
  • Nearby NOTAM queries
  • Historical archive queries
  • Async flight briefing creation and polling
  • NOTAM prioritisation
  • Watcher listener creation, updates, deletion, and listing
  • Webhook secret rotation and webhook logs
  • Sandbox test deliveries
  • Signature verification for X-Notamify-Signature
  • Local webhook receiver utilities and cloudflared tunnel helpers

Why we built this NOTAM SDK

Most API integrations start the same way: a few requests.get(...) calls, a custom retry wrapper, some pagination logic, and eventually a pile of webhook utilities around the main integration.

That approach works, but it gets repetitive fast.

But the bigger reason is not only technical convenience.

We want Notamify to be the only NOTAM service you ever need: one place for active NOTAMs, historical search, flight briefings, alerting, and real-time Watcher workflows. The SDK is how we make that vision usable inside your own systems, not just inside our UI.

The SDK gives you a cleaner path:

  • One client, one token for both public API v2 and Watcher API
  • Typed request and response models powered by Pydantic
  • Lazy pagination through client.notams.*
  • Cleaner briefing workflows for async job creation and polling
  • Production-ready webhook tooling for verification and local testing

Quick start

Install with pip install notamify-sdk or uv add notamify-sdk. See the SDK docs for setup details.

Then fetch NOTAMs in a few lines:

from notamify_sdk import NotamifyClient

client = NotamifyClient(token="YOUR_TOKEN")

notams = list(
    client.notams.active(
        {
            "location": ["KJFK", "KLAX"],
            "per_page": 30,
        }
    )
)

print(f"Retrieved {len(notams)} NOTAMs")

for notam in notams[:5]:
    summary = notam.interpretation.excerpt if notam.interpretation else notam.message
    print(notam.id, summary)

If you want all historical pages in memory at once, use the same list(...) approach:

archive = list(
    client.notams.historical(
        {
            "location": ["EGLL"],
            "valid_at": "2025-01-01",
        },
        per_page=30,
    )
)

print(f"Retrieved {len(archive)} historical NOTAMs")

Watcher API is included too

The SDK is not limited to pull-based queries.

You can also manage Watcher listeners, test deliveries, rotate secrets, and verify webhook payloads using the same package. That matters if your workflow depends on push-based NOTAM monitoring instead of repeated polling.

Typical Watcher use cases include:

  • Monitoring selected airports or FIRs continuously
  • Filtering by category, subcategory, Q-code, or affected element
  • Sending shipments to a webhook endpoint
  • Running sandbox deliveries before switching a listener to production

That makes the SDK useful both for analytics-style consumers and for operational systems that need near-real-time NOTAM shipments.

Built for local development as well

Webhook testing is usually where integrations get annoying.

We wanted the first local run to be straightforward, so the SDK includes:

  • A lightweight webhook receiver
  • Signature verification helpers
  • A cloudflared helper for public tunnel setup

That means you can test a Watcher flow locally, expose a temporary callback URL, send sandbox payloads, and validate signatures without building all of that tooling yourself first.

Where to get it

The SDK currently targets Python 3.10+.

What this means for Notamify users

If you already use our API directly, nothing breaks. Raw HTTP integration remains available.

But for new Python integrations, the SDK should now be the default choice. It is faster to implement, easier to read, and much less repetitive once you move beyond a single endpoint call.

We will keep expanding it as the platform grows, especially around Watcher flows, briefing workflows, and developer ergonomics.

If you are building flight ops tooling, dispatch workflows, alerting systems, dashboards, or aviation analytics pipelines, this NOTAM SDK is the fastest way to get Notamify into your stack.

Start with Notamify SDK on PyPI

Interested in integrating Notamify SDK into your product? Leave your email, we'll contact you

We'll only use your email to contact you about this feature. No spam, ever.

Damian Szumski

Damian Szumski

founder

10+ years of experience in flight operations, tech and AI. Making aviation data more accessible and understandable for everyone.

    Notamify SDK Is Live: Official Python NOTAM SDK for NOTAM API and Watcher API | Notamify Blog