What is GOV.UK Notify?
GOV.UK Notify is a government notification service that allows public sector organizations to send SMS, email, and letter notifications to citizens quickly and reliably. The service provides a REST API for integration, along with official client libraries for multiple programming languages.GOV.UK Notify handles millions of notifications daily for UK government services, providing reliable delivery tracking, multi-provider failover, and comprehensive reporting.
Key Features
Multi-Channel Delivery
Send SMS, emails, and physical letters through a single unified API with automatic provider routing.
Template Management
Create reusable message templates with personalisation fields for dynamic content.
Scalable Architecture
Built on Flask and Celery with PostgreSQL, designed to handle high-volume notification processing.
Multiple Providers
Integrated with AWS SES for email, Firetext and MMG for SMS, and DVLA for letter printing.
Delivery Tracking
Real-time status updates with detailed delivery receipts and failure notifications.
Rate Limiting
Built-in rate limiting and daily message caps to prevent abuse and manage costs.
Inbound SMS
Receive and process inbound SMS messages with webhook callbacks.
Bulk Processing
Upload CSV files to send thousands of personalized notifications in batch jobs.
Get Started
Quick Start
Send your first notification in minutes with step-by-step guidance.
System Architecture
Understand the system components and how they work together.
Authentication
Learn how to authenticate API requests with JWT tokens.
API Reference
Explore the complete public API reference with examples.
API Capabilities
The GOV.UK Notify API provides the following public endpoints:Send Notifications
Send Notifications
- POST /v2/notifications/sms - Send an SMS message
- POST /v2/notifications/email - Send an email
- POST /v2/notifications/letter - Send a letter (templated or precompiled PDF)
Query Notifications
Query Notifications
- GET /v2/notifications/ - Get notification status by ID
- GET /v2/notifications - List all notifications with filtering
- GET /v2/notifications//pdf - Download letter PDF
Template Management
Template Management
- GET /v2/template/ - Get a specific template
- GET /v2/templates - List all templates for your service
- POST /v2/template//preview - Preview a template with personalisation
Inbound Messages
Inbound Messages
- GET /v2/received-text-messages - Retrieve inbound SMS messages
Technology Stack
GOV.UK Notify is built with:- Python 3.13 - Runtime environment
- Flask - Web framework for REST API
- Celery - Asynchronous task queue for notification processing
- PostgreSQL - Primary data store with read replicas
- Redis - Caching and Celery message broker
- AWS Services - SES (email), S3 (document storage), CloudFront (CDN)
- SQLAlchemy - ORM and database migrations via Alembic
Who Uses Notify?
GOV.UK Notify is used by hundreds of UK government services to:- Send appointment reminders and confirmations
- Deliver application status updates
- Issue payment receipts and invoices
- Provide password reset and verification codes
- Send policy renewal notices and reminders
- Communicate emergency alerts and service updates
Support & Documentation
Core Concepts
Learn about services, templates, and notifications
Client Libraries
Use official clients for Python, Ruby, Java, Node.js, and more
Operations Guide
Deploy and operate your own instance