Skip to content

Introduction

The name Apprise (/əˈpraɪz/) is pronounced like “uh-prise”, similar to surprise or arise, with emphasis on the second syllable.

Apprise is a notification routing library that standardizes how messages are delivered to dozens of different services. It takes the complexity out of sending notifications.

It does not replace chat platforms, email providers, or alerting systems. Instead, it provides a single, consistent way to send notifications to them.

Whether you are a system administrator running scripts, a developer building an application, or a DevOps engineer managing distributed services, Apprise removes the need to learn and maintain dozens of vendor-specific APIs.

At the core of Apprise is the Universal Notification URL.

Instead of learning a unique payload format for every service, you configure destinations using a single, predictable syntax:

service://credentials/direction/?parameter=value

If you later decide to switch from one service to another, your application logic does not change. You simply update the URL configuration.

This makes notifications portable, maintainable, and easy to reason about.

Apprise is unique because it isn’t just a library; it is a platform that exists in three complementary forms.

For Developers

At its core, Apprise is a lightweight Python library. You embed it directly into your application and send notifications in just a few lines of code.

import apprise
apobj = apprise.Apprise()
# Notification destinations are configured separately
apobj.notify(
body="Hello World",
title="My Notification",
)

The same code works regardless of which notification services you configure.

For system administrators and automation

Apprise ships with a powerful CLI that exposes the same functionality without requiring Python code. This is ideal for cron jobs, backup scripts, monitoring hooks, and CI/CD pipelines.

Terminal window
# e.g: Send a notification to Discord
apprise -t "Backup Complete" -b "The server is safe" \
"discord://webhook_id/webhook_token"

For centralized and networked environments

Apprise is also available as a stateless, containerized API server. This allows you to operate a centralized “notification gateway” for multiple systems.

You can:

  • Send notifications directly with each request (stateless)
  • Store configurations server-side and reference them by key (stateful)

This is especially useful for microservices, shared infrastructure, and teams that want centralized control.

  • supported services, from popular chat platforms to specialized gateways
  • Format-aware delivery, including Markdown, HTML, and plain text
  • Attachment support, automatically adapted to each service’s capabilities
  • High performance, with parallel notification delivery
  • Minimal dependencies, designed to stay lightweight
If you are…Start with…
Building a Python applicationThe Python Library
Automating scripts or system tasksThe CLI Tool
Centralizing notifications across systemsThe API Server

From here, the Getting Started section will walk you through installation, configuration, and your first notification.