# NOTAMs Active endpoint

The following document contains details about NOTAMs active endpoint in version v2.

The output contains NOTAMs (and their interpretations) valid for a moment of query, filtered out to specific dates. The datetime filters (`starts_at` / `ends_at`) takes into consideration notam firm range, without using the timing section for the filtering (`schedules` ).

**Limitations:**

* The endpoint accepts 5 ICAO codes per call.
* The start date cannot be earlier than one day before current UTC datetime.
* ends\_at must be later than starts\_at

Read more about time filtering in [notam-time-filtering](https://skymerse.gitbook.io/notamify-api/basics/notam-time-filtering "mention").

**Example param setup in the URL:**

```url
https://api.notamify.com/api/v2/notams?location=EDDM&location=EGLL&starts_at=2025-05-06T00:00:00.000&ends_at=2025-05-06T23:59:00.000
```

#### Python SDK Example

```python
from datetime import datetime, timedelta
from notamify_sdk import NotamifyClient, ActiveNotamsQuery

client = NotamifyClient(token="YOUR_API_KEY")

query = ActiveNotamsQuery(
    location=["EDDM", "EGLL", "EPWA", "LIRP"],
    starts_at=datetime.now(),
    ends_at=datetime.now() + timedelta(days=1)
)

# Auto-paginated iteration
for notam in client.notams.active(query):
    print(f"{notam.notam_number} [{notam.icao_code}]: {notam.interpretation.excerpt}")
```

## GET /notams

>

```json
{"openapi":"3.1.1","info":{"title":"Notamify API V2","version":"0.0.10"},"servers":[{"url":"https://api.notamify.com/api/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"NotamListResult":{"properties":{"notams":{"items":{"$ref":"#/components/schemas/NotamDTO"},"type":"array","title":"Notams"},"total_count":{"type":"integer","title":"Total Count"},"page":{"type":"integer","title":"Page"},"per_page":{"type":"integer","title":"Per Page"}},"type":"object","required":["notams","total_count","page","per_page"],"title":"NotamListResult"},"NotamDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique identifier for the NOTAM."},"notam_number":{"type":"string","title":"Notam Number","description":"NOTAM number or identifier."},"location":{"type":"string","title":"Location","description":"Location where the NOTAM is applicable."},"icao_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icao Code","description":"ICAO code for the airport or facility."},"classification":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Classification","description":"Classification of the NOTAM: DOM, FDC, INTL, or MIL."},"starts_at":{"type":"string","format":"date-time","title":"Starts At","description":"Start datetime of NOTAM validity."},"ends_at":{"type":"string","format":"date-time","title":"Ends At","description":"End datetime of NOTAM validity."},"issued_at":{"type":"string","format":"date-time","title":"Issued At","description":"Datetime when the NOTAM was issued."},"is_estimated":{"type":"boolean","title":"Is Estimated","description":"Indicates if the NOTAM times are estimated (EST)."},"is_permanent":{"type":"boolean","title":"Is Permanent","description":"Indicates if the NOTAM is permanen (PERM)t."},"message":{"type":"string","title":"Message","description":"Only the message of the NOTAM."},"icao_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icao Message","description":"Only the ICAO formatted message of the NOTAM."},"qcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Qcode","description":"Raw 5-letter Q-code extracted from the NOTAM message (e.g., QMRLC)."},"interpretation":{"anyOf":[{"$ref":"#/components/schemas/NotamInterpretationDTO"},{"type":"null"}],"description":"Interpretation details of the NOTAM."}},"type":"object","required":["id","notam_number","location","starts_at","ends_at","issued_at","is_estimated","is_permanent","message"],"title":"NotamDTO","description":"Data Transfer Object (DTO) for a NOTAM (Notice to Air Missions).\n\nAttributes:\n    notam_number (str): The unique identifier for the NOTAM\n    location (str): The facility designator/location identifier this NOTAM applies to\n    starts_at (datetime): When this NOTAM becomes active\n    ends_at (datetime): When this NOTAM expires\n    message (str): The human-readable traditional format message\n    icao_message (str): The ICAO format message\n    interpretation (Optional[NotamInterpretationDTO]): Optional interpretation of the NOTAM content"},"NotamInterpretationDTO":{"properties":{"description":{"type":"string","title":"Description","description":"Detailed description of the NOTAM interpretation."},"excerpt":{"type":"string","title":"Excerpt","description":"Brief excerpt summarizing the interpretation."},"category":{"type":"string","title":"Category","description":"Interpretation category."},"subcategory":{"type":"string","title":"Subcategory","description":"Interpretation subcategory."},"map_elements":{"anyOf":[{"items":{"$ref":"#/components/schemas/NotamMapElementDTO"},"type":"array"},{"type":"null"}],"title":"Map Elements","description":"List of map elements extracted from the interpretation."},"affected_elements":{"items":{"$ref":"#/components/schemas/AffectedElementDTO"},"type":"array","title":"Affected Elements","description":"List of affected elements described in the NOTAM."},"schedules":{"items":{"$ref":"#/components/schemas/NotamScheduleInterpretationDTO"},"type":"array","title":"Schedules","description":"List of schedule interpretations for the NOTAM."},"schedule_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Schedule Description","description":"Human-readable schedule description."}},"type":"object","required":["description","excerpt","category","subcategory"],"title":"NotamInterpretationDTO"},"NotamMapElementDTO":{"properties":{"element_type":{"type":"string","title":"Element Type","description":"Type of the map element (e.g., line, polygon, point)."},"coordinates":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Coordinates","description":"Coordinates of the map element."},"description":{"type":"string","title":"Description","description":"Description of the map element."},"area_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area Number","description":"Optional area number identifier for the element."},"geojson":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geojson","description":"GeoJSON representation of the map element."},"bottom":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Bottom","description":"Lower vertical limit with value, unit, reference, value_ft, and raw_string."},"top":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Top","description":"Upper vertical limit with value, unit, reference, value_ft, raw_string, and optional embedded height data."}},"type":"object","required":["element_type","coordinates","description"],"title":"NotamMapElementDTO","description":"Data Transfer Object for NOTAM map elements."},"AffectedElementDTO":{"properties":{"type":{"type":"string","title":"Type","description":"Type of the affected element."},"identifier":{"type":"string","title":"Identifier","description":"Identifier of the affected element."},"effect":{"type":"string","title":"Effect","description":"Effect experienced by the element."},"details":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Details","description":"Additional details regarding the effect, if any."}},"type":"object","required":["type","identifier","effect"],"title":"AffectedElementDTO"},"NotamScheduleInterpretationDTO":{"properties":{"source":{"type":"string","title":"Source","description":"Source of the schedule interpretation."},"description":{"type":"string","title":"Description","description":"Description of the schedule interpretation."},"rrule":{"type":"string","title":"Rrule","description":"Recurrence rule for the schedule."},"duration_hrs":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration Hrs","description":"Duration of each recurrence of the schedule period in hours."},"is_sunrise_sunset":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Sunrise Sunset","description":"Indicates if the schedule is based on sunrise/sunset timings."}},"type":"object","required":["source","description","rrule"],"title":"NotamScheduleInterpretationDTO"}}},"paths":{"/notams":{"get":{"parameters":[{"description":"Classifications to exclude: DOM, FDC, INTL, MIL. When empty, no classifications are excluded.","required":false,"deprecated":false,"schema":{"anyOf":[{"items":{"type":"string","enum":["DOM","FDC","INTL","MIL"]},"type":"array","minItems":1},{"type":"null"}],"title":"Excluded Classifications","description":"Classifications to exclude: DOM, FDC, INTL, MIL. When empty, no classifications are excluded."},"name":"excluded_classifications","in":"query","allowEmptyValue":false,"allowReserved":false},{"description":"List of NOTAM IDs","required":false,"deprecated":false,"schema":{"items":{"type":"string"},"type":"array","title":"Notam Ids","description":"List of NOTAM IDs"},"name":"notam_ids","in":"query","allowEmptyValue":false,"allowReserved":false},{"description":"Start date for the time period (YYYY-MM-DDTHH:MM:SSZ). When not provided, default to current UTC time.","required":false,"deprecated":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Starts At","description":"Start date for the time period (YYYY-MM-DDTHH:MM:SSZ). When not provided, default to current UTC time."},"name":"starts_at","in":"query","allowEmptyValue":false,"allowReserved":false},{"description":"End date for the time period (YYYY-MM-DDTHH:MM:SSZ). When not provided, default to 365 days from starts_at.","required":false,"deprecated":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ends At","description":"End date for the time period (YYYY-MM-DDTHH:MM:SSZ). When not provided, default to 365 days from starts_at."},"name":"ends_at","in":"query","allowEmptyValue":false,"allowReserved":false},{"description":"Whether to always include EST times in the window, even if the notam already expired.","required":false,"deprecated":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Always Include Est","description":"Whether to always include EST times in the window, even if the notam already expired.","default":true},"name":"always_include_est","in":"query","allowEmptyValue":false,"allowReserved":false},{"description":"Page number to retrieve. Defaults to 1.","required":false,"deprecated":false,"schema":{"type":"integer","title":"Page","description":"Page number to retrieve. Defaults to 1.","default":1},"name":"page","in":"query","allowEmptyValue":false,"allowReserved":false},{"description":"Number of NOTAMs per page. Defaults to 30.","required":false,"deprecated":false,"schema":{"type":"integer","maximum":30,"minimum":1,"title":"Per Page","description":"Number of NOTAMs per page. Defaults to 30.","default":30},"name":"per_page","in":"query","allowEmptyValue":false,"allowReserved":false},{"description":"List of 4-character ICAO airport codes or 3-character domestic airport codes. Maximum 5 locations. Can be provided as location.","required":false,"deprecated":false,"schema":{"items":{"type":"string","maxLength":4,"minLength":3,"pattern":"^[A-Za-z0-9]{3,4}$"},"type":"array","maxItems":5,"minItems":1,"title":"Location","description":"List of 4-character ICAO airport codes or 3-character domestic airport codes. Maximum 5 locations. Can be provided as location."},"name":"location","in":"query","allowEmptyValue":false,"allowReserved":false},{"description":"Filter by Q-code(s) (e.g., QMRLC, QWULW). Returns only NOTAMs with matching Q-codes.","required":false,"deprecated":false,"schema":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Qcode","description":"Filter by Q-code(s) (e.g., QMRLC, QWULW). Returns only NOTAMs with matching Q-codes."},"name":"qcode","in":"query","allowEmptyValue":false,"allowReserved":false},{"description":"Filter by interpretation category(ies). Valid values: ALL, AERODROME, AIRSPACE, NAVIGATION, COMMUNICATION, OPERATIONS, OBSTACLES, ADMINISTRATIVE, WEATHER, SAFETY, OTHER. When 'ALL' is provided, no category filtering is applied. Note: Filtering happens after interpretation; total_count reflects pre-filter count and results may be fewer than per_page.","required":false,"deprecated":false,"schema":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Category","description":"Filter by interpretation category(ies). Valid values: ALL, AERODROME, AIRSPACE, NAVIGATION, COMMUNICATION, OPERATIONS, OBSTACLES, ADMINISTRATIVE, WEATHER, SAFETY, OTHER. When 'ALL' is provided, no category filtering is applied. Note: Filtering happens after interpretation; total_count reflects pre-filter count and results may be fewer than per_page."},"name":"category","in":"query","allowEmptyValue":false,"allowReserved":false},{"description":"Filter by interpretation subcategory(ies). Returns only NOTAMs with matching subcategories. Note: Filtering happens after interpretation; total_count reflects pre-filter count and results may be fewer than per_page.","required":false,"deprecated":false,"schema":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Subcategory","description":"Filter by interpretation subcategory(ies). Returns only NOTAMs with matching subcategories. Note: Filtering happens after interpretation; total_count reflects pre-filter count and results may be fewer than per_page."},"name":"subcategory","in":"query","allowEmptyValue":false,"allowReserved":false},{"description":"Filter by affected element effect and/or type. Format: 'effect:closed,type:runway' or 'closed runway' or 'closed' or 'runway'. Valid effects: CLOSED, RESTRICTED, HAZARD, UNSERVICEABLE, WORK_IN_PROGRESS, CAUTION. Valid types: AERODROME, RUNWAY, TAXIWAY, APPROACH, NAVAID, AIRSPACE, APRON, LIGHTING, SERVICE, PROCEDURE, OTHER. Note: Filtering happens after interpretation; total_count reflects pre-filter count and results may be fewer than per_page.","required":false,"deprecated":false,"schema":{"anyOf":[{"items":{"$ref":"#/components/schemas/AffectedElementFilter"},"type":"array"},{"type":"null"}],"title":"Affected Element","description":"Filter by affected element effect and/or type. Format: 'effect:closed,type:runway' or 'closed runway' or 'closed' or 'runway'. Valid effects: CLOSED, RESTRICTED, HAZARD, UNSERVICEABLE, WORK_IN_PROGRESS, CAUTION. Valid types: AERODROME, RUNWAY, TAXIWAY, APPROACH, NAVAID, AIRSPACE, APRON, LIGHTING, SERVICE, PROCEDURE, OTHER. Note: Filtering happens after interpretation; total_count reflects pre-filter count and results may be fewer than per_page."},"name":"affected_element","in":"query","allowEmptyValue":false,"allowReserved":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotamListResult"}}}}},"deprecated":false}}}}
```
