NOTAM Watcher API
The Watcher service is in very early preview. The specifications, filter set, pricing can change dynamically. For any questions, please contact us on hello@notamify.com.
The Notamify Watcher Service allows automatic retrieval of new interpretations in Notamify based on configurable filters. The service supports listener management via webhooks, enabling applications to subscribe to NOTAM updates by airport code, category, subcategory, or specific NOTAM identifiers.
The Watcher service charges credits based on the number of NOTAM deliveries sent to registered listeners:
1 credit = 30 shipments
Each shipment increments a counter for the user.
When the counter reaches 30, the service deducts 1 credit and resets the counter.
If the user has no credits remaining, further shipments are blocked until credits are topped up.
Returns all registered listeners for the authenticated account.
List of listeners
Unauthorized
Forbidden
Internal Server Error
GET /listeners HTTP/1.1
Host: watcher.notamify.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"listeners": [
{
"id": "text",
"webhook_url": "https://example.com",
"email": "name@gmail.com",
"filters": {
"notam_id": [
"text"
],
"notam_icao": [
"text"
],
"category": [
"all"
],
"subcategory": [
"RUNWAY_OPERATIONS"
],
"affected_element": {
"effect": "CLOSED",
"type": "AERODROME"
}
},
"created_at": "2025-10-24T17:12:38.919Z",
"updated_at": "2025-10-24T17:12:38.919Z"
}
]
}Registers a webhook URL and filters. Filters use OR semantics within a field and AND semantics across fields. For example, category=['AERODROME','AIRSPACE'] means either category matches; combining with notam_icao=['EPWA'] requires both field conditions to match. Using category=['all'] matches any category.
Destination HTTPS/HTTP endpoint for notifications. Required when email is omitted.
Optional email recipient for Postmark delivery. Required when webhook_url is omitted.
Listener created
Bad Request
Unauthorized
Forbidden
Internal Server Error
POST /listeners HTTP/1.1
Host: watcher.notamify.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 236
{
"webhook_url": "https://example.com/notam-webhook",
"filters": {
"notam_icao": [
"EPWA",
"EGLL"
],
"category": [
"AERODROME"
],
"subcategory": [
"RUNWAY_OPERATIONS"
],
"affected_element": {
"effect": "CLOSED",
"type": "RUNWAY"
}
},
"email": "pilot@example.com"
}{
"id": "text",
"webhook_url": "https://example.com",
"email": "name@gmail.com",
"filters": {
"notam_id": [
"text"
],
"notam_icao": [
"text"
],
"category": [
"all"
],
"subcategory": [
"RUNWAY_OPERATIONS"
],
"affected_element": {
"effect": "CLOSED",
"type": "AERODROME"
}
},
"created_at": "2025-10-24T17:12:38.919Z",
"updated_at": "2025-10-24T17:12:38.919Z"
}Updates webhook URL and/or filters using the same semantics as creation.
Listener ID
Destination HTTPS/HTTP endpoint for notifications. Required when email is omitted.
Optional email recipient for Postmark delivery. Required when webhook_url is omitted.
Listener updated
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
PUT /listeners/{id} HTTP/1.1
Host: watcher.notamify.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 229
{
"webhook_url": "https://example.com",
"email": "name@gmail.com",
"filters": {
"notam_id": [
"text"
],
"notam_icao": [
"text"
],
"category": [
"all"
],
"subcategory": [
"RUNWAY_OPERATIONS"
],
"affected_element": {
"effect": "CLOSED",
"type": "AERODROME"
}
}
}{
"id": "text",
"webhook_url": "https://example.com",
"email": "name@gmail.com",
"filters": {
"notam_id": [
"text"
],
"notam_icao": [
"text"
],
"category": [
"all"
],
"subcategory": [
"RUNWAY_OPERATIONS"
],
"affected_element": {
"effect": "CLOSED",
"type": "AERODROME"
}
},
"created_at": "2025-10-24T17:12:38.919Z",
"updated_at": "2025-10-24T17:12:38.919Z"
}Listener ID
Deleted
No content
Unauthorized
Forbidden
Not Found
Internal Server Error
DELETE /listeners/{id} HTTP/1.1
Host: watcher.notamify.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Last updated