Modern NOTAM DataIntegration Platform
Access real-time NOTAM data with our powerful, developer-friendly API. Built for scale, security, and reliability.
Instant access to global NOTAM updates with support for multiple airports and custom datetime ranges.
Built for engineers with comprehensive documentation and dedicated developer support for seamless integration.
Credit-based pricing with no hidden fees. Pay only for what you use.
Enterprise-grade infrastructure with high availability and reliable performance monitoring.
Convert complex NOTAMs into clear, flight-dedicated briefings with intelligent processing.
Dedicated oncall support for enterprise customers and comprehensive documentation resources.
Monitor API usage with ease.
Industry-standard security with end-to-end encryption and secure authentication protocols.
API Endpoints
Explore our powerful endpoints with interactive examples and comprehensive documentation.
/v2/notams
Access real-time NOTAMs with detailed components and intelligent categorization.
Key Features
- Real-time NOTAM updates from global sources
- Access to atomic elements for granular data parsing
- Integrated map data for visualization
- Scheduling information with RRULE support
- Intelligent categorization across 42 standardized categories
Parameters
locations
ICAO codes (comma-separated)starts_at
ISO 8601 datetimeends_at
ISO 8601 datetimepage
Page number (default: 1)import requests
api_key = 'your_api_key_here'
base_url = 'https://api.notamify.com/api/v2/notams'
params = {
'locations': 'KJFK',
'starts_at': '2025-09-18T00:00:00',
'ends_at': '2025-09-19T00:00:00',
'page': 1
}
headers = {
'Authorization': f'Bearer {api_key}'
}
all_notams = []
page = 1
try:
while True:
params['page'] = page
response = requests.get(base_url, params=params, headers=headers)
response.raise_for_status()
data = response.json()
notams = data.get('notams', [])
all_notams.extend(notams)
# Check pagination info
current_page = data.get('page', 1)
per_page = data.get('per_page', 30)
total_count = data.get('total_count', 0)
print(f"Fetched page {current_page}, got {len(notams)} NOTAMs")
# Check if we've retrieved all NOTAMs
if len(all_notams) >= total_count or len(notams) < per_page:
break
page += 1
print(f"Total NOTAMs retrieved: {len(all_notams)} out of {total_count}")
except requests.exceptions.RequestException as e:
print(f"Error fetching NOTAMs: {e}")
Transparent Pricing
1. Base Subscription
Required for API access
7 days free trial. Cancel anytime
2. Select Your API Credit Package
Intro
50 API credits included
- $0.3 per credit
- Standard support
Growth
300 API credits included
- $0.263 per call
- Technical consultation
Scale
1,000 API credits included
- $0.199 per credit
- Integration support
Enterprise
For organizations needing custom solutions and high-volume API access
- Custom monthly billing
- Usage-based pricing
- Custom integrations
- Dedicated support
- Additional data endpoints