# 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](/notamify-api/basics/notam-time-filtering.md).

**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."},"subtype":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subtype","description":"Optional more specific subtype of the affected element."},"semantics":{"anyOf":[{"$ref":"#/components/schemas/AffectedElementSemanticsDTO"},{"type":"null"}],"description":"Machine-readable operational semantics for the statement."}},"type":"object","required":["type","identifier","effect"],"title":"AffectedElementDTO"},"AffectedElementSemanticsDTO":{"properties":{"conditions":{"items":{"$ref":"#/components/schemas/AffectedElementClauseDTO"},"type":"array","title":"Conditions","description":"Machine-readable conditions, including stand or gate subsets when explicitly stated."},"exceptions":{"items":{"$ref":"#/components/schemas/AffectedElementClauseDTO"},"type":"array","title":"Exceptions","description":"Machine-readable exceptions."},"changes":{"items":{"$ref":"#/components/schemas/AffectedElementChangeDTO"},"type":"array","title":"Changes","description":"Machine-readable changes."},"references":{"items":{"$ref":"#/components/schemas/AffectedElementReferenceDTO"},"type":"array","title":"References","description":"References to related objects."}},"type":"object","title":"AffectedElementSemanticsDTO"},"AffectedElementClauseDTO":{"properties":{"dimension":{"type":"string","title":"Dimension","description":"Clause dimension."},"operator":{"type":"string","title":"Operator","description":"Clause operator."},"value":{"anyOf":[{"$ref":"#/components/schemas/ScalarMeasurementValueDTO"},{"$ref":"#/components/schemas/FractionalMeasurementValueDTO"},{"$ref":"#/components/schemas/GroupedMeasurementValueDTO"},{"$ref":"#/components/schemas/ProcedureCapabilityDTO"},{"items":{"type":"string","enum":["TAKEOFF","LANDING","APPROACH","ARRIVAL","DEPARTURE","TAXIING","LOCAL_FLIGHT","TRAINING_FLIGHT","CIRCUIT","INTERNATIONAL_FLIGHT","FIXED_WING","HELICOPTER","GLIDER","GENERAL_AVIATION","NON_SCHEDULED","NON_COMMERCIAL","SCHEDULED","IFR","VFR","STATE","MILITARY","A","B","C","D","E","F","H","LIGHT","MEDIUM","HEAVY","SUPER","ALTERNATE","DIVERSION","DESTINATION","AVGAS_100LL","AVGAS_100","AVGAS_B_91_115","AVGAS_UL91","AVGAS_UL94","AVGAS_UL85","AVGAS_82UL","AVGAS_91_96UL","AVGAS_80_87","AVGAS_115_145","JET_A","JET_A1","JET_B","JP_4","JP_5","JP_8","TS_1","MOGAS","HYDRANT","BOWSER","TANKER","FOLLOW_ME","MARSHALLER","PPR","EMERGENCY_FLIGHT","MEDICAL_FLIGHT","SAR_FLIGHT","STATE_FLIGHT","CUSTOMS_OFFICIAL_TRAFFIC","ALS","ALSF_2","SDF","ATIS","DATALINK_CLEARANCE","VGSI","PAPI","VASI","GLIDEPATH","GLIDESLOPE","LOCALIZER","RVR_MEASURING_EQUIPMENT","INNER_MARKER","DME","RADIO_ALTIMETER","RNAV_GPS","RADAR","AUTOPILOT","AIRSHOW","MILITARY_ACTIVITY","BLASTING_ACTIVITY","ROCKET_LAUNCH","UAS_ACTIVITY"]},"type":"array","minItems":1},{"items":{"type":"string"},"type":"array","minItems":1}],"title":"Value","description":"Typed clause value. Use comparable measurement objects for quantified values. For non-measurement clause values, always emit a list and use normalized literal tokens or justified raw strings inside that list."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit."},"details":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Details","description":"Optional human-readable clarification."}},"type":"object","required":["dimension","operator","value"],"title":"AffectedElementClauseDTO"},"ScalarMeasurementValueDTO":{"properties":{"kind":{"type":"string","const":"MEASUREMENT","title":"Kind","default":"MEASUREMENT"},"raw_string":{"type":"string","title":"Raw String"},"value":{"anyOf":[{"type":"integer"},{"type":"number"}],"title":"Value"},"unit":{"type":"string","title":"Unit"}},"type":"object","required":["raw_string","value","unit"],"title":"ScalarMeasurementValueDTO"},"FractionalMeasurementValueDTO":{"properties":{"kind":{"type":"string","const":"FRACTIONAL_MEASUREMENT","title":"Kind","default":"FRACTIONAL_MEASUREMENT"},"raw_string":{"type":"string","title":"Raw String"},"numerator":{"type":"integer","title":"Numerator"},"denominator":{"type":"integer","title":"Denominator"},"unit":{"type":"string","title":"Unit"}},"type":"object","required":["raw_string","numerator","denominator","unit"],"title":"FractionalMeasurementValueDTO"},"GroupedMeasurementValueDTO":{"properties":{"kind":{"type":"string","const":"MEASUREMENTS","title":"Kind","default":"MEASUREMENTS"},"raw_string":{"type":"string","title":"Raw String"},"values":{"items":{"$ref":"#/components/schemas/MeasurementComponentValueDTO"},"type":"array","title":"Values"}},"type":"object","required":["raw_string"],"title":"GroupedMeasurementValueDTO"},"MeasurementComponentValueDTO":{"properties":{"type":{"type":"string","enum":["ALTITUDE","HEIGHT"],"title":"Type"},"value":{"type":"integer","title":"Value"},"unit":{"type":"string","title":"Unit"}},"type":"object","required":["type","value","unit"],"title":"MeasurementComponentValueDTO"},"ProcedureCapabilityDTO":{"properties":{"scheme":{"type":"string","const":"ILS_CATEGORY","title":"Scheme"},"category":{"anyOf":[{"type":"string","enum":["CAT_I","CAT_II","CAT_IIIA","CAT_IIIB","CAT_IIIC"]},{"type":"null"}],"title":"Category"},"level":{"anyOf":[{"type":"string","enum":["LVL_1","LVL_2","LVL_3"]},{"type":"null"}],"title":"Level"},"classification":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Classification"},"source_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Label"}},"type":"object","required":["scheme"],"title":"ProcedureCapabilityDTO"},"AffectedElementChangeDTO":{"properties":{"subject":{"type":"string","title":"Subject","description":"Structured subject of the change."},"from":{"items":{"anyOf":[{"$ref":"#/components/schemas/ProcedureCapabilityDTO"},{"$ref":"#/components/schemas/ValueDTO"}]},"type":"array","title":"From","description":"Previous or superseded structured operands."},"to":{"items":{"anyOf":[{"$ref":"#/components/schemas/ProcedureCapabilityDTO"},{"$ref":"#/components/schemas/ValueDTO"}]},"type":"array","title":"To","description":"Current or replacement structured operands."},"details":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Details","description":"Optional human-readable clarification."}},"type":"object","required":["subject"],"title":"AffectedElementChangeDTO"},"ValueDTO":{"properties":{"kind":{"type":"string","const":"VALUE","title":"Kind","default":"VALUE"},"raw_string":{"type":"string","title":"Raw String"},"values":{"items":{"$ref":"#/components/schemas/ValueComponentDTO"},"type":"array","title":"Values"}},"type":"object","required":["raw_string"],"title":"ValueDTO"},"ValueComponentDTO":{"properties":{"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"value":{"anyOf":[{"type":"integer"},{"type":"string"}],"title":"Value"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["value"],"title":"ValueComponentDTO"},"AffectedElementReferenceDTO":{"properties":{"relation":{"type":"string","title":"Relation","description":"Relation to the referenced object."},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type","description":"Type of the referenced object when available."},"identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identifier","description":"Identifier of the referenced object when available."}},"type":"object","required":["relation"],"title":"AffectedElementReferenceDTO"},"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}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://skymerse.gitbook.io/notamify-api/active-notams-endpoint.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
