skillfed

pysignalclirestapi

Small python library for the Signal Cli REST API

pysignalclirestapi v0.3.25 75.3K downloads/30d#14,731 on PyPI30
Permissive license Active released

What it is and what it does

pysignalclirestapi is a thin Python wrapper around the Signal Cli REST API, a separate HTTP service that bridges Signal messaging into programmatic workflows. It provides methods to send and receive Signal messages, manage groups, handle attachments, manage contacts, and interact with Signal identities and reactions—all by wrapping HTTP calls to an already-running signal-cli-rest-api server.

The library depends on requests for HTTP communication and six for Python 2/3 compatibility. Many endpoints are marked as working, but the maintainer notes incomplete testing on newer additions; some group operations, contact sync, and device-specific features remain untested or in-progress. You must have the signal-cli-rest-api service running separately and registered with a Signal phone number before using this library.

Use it for:

  • Send automated Signal notifications or alerts from a Python application to registered Signal users.
  • Build a bot or automation that receives and responds to Signal messages programmatically.
  • Manage Signal groups (create, update, add/remove members) from a Python script or service.
  • Integrate Signal messaging into a larger application workflow without direct Signal client integration.
  • Retrieve and manage Signal attachments, profiles, and contact information via API.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Python client library for the Signal Cli REST API, enabling programmatic sending and receiving of Signal messages through an HTTP interface.

Yes, if you already have signal-cli-rest-api running and need a Python client. The library is actively maintained, has low install friction, and covers the core messaging use cases (send, receive, groups). However, be aware that many endpoints are marked untested or in-progress; test thoroughly before relying on group management or contact sync in production. The small community (30 stars) means fewer real-world bug reports.

Install

pysignalclirestapi on PyPI

pip

pip install pysignalclirestapi

uv

uv add pysignalclirestapi

poetry

poetry add pysignalclirestapi

Installing pysignalclirestapi

Before you install

Low install friction with only two runtime dependencies (requests and six). Active maintenance with a recent commit on 2026-07-03 and a release on 2026-03-19, though the repository is small (30 stars) and the package acknowledges incomplete endpoint testing.

License in practice

MIT license (permissive) means you can use, modify, and distribute this package freely with minimal restrictions.

Quickstart

pip install pysignalclirestapi

from pysignalclirestapi import SignalCliRestApi

signal = SignalCliRestApi(SERVER, SERVER_NUMBER)
message = signal.send_message(message=myMessage, recipients=myFriendSteve)
received = signal.receive(send_read_receipts=True)

The signal-cli-rest-api HTTP service must be running and accessible at the specified server address, and your account must be registered with a valid Signal phone number.

Verify before relying

  • Whether all endpoints marked 'In Progress' or 'Untested' in the documentation are production-ready or carry known limitations
  • Compatibility with different versions of the signal-cli-rest-api backend service
  • Whether the package works with both API V1 and V2 (send_message notes V1 untested)

Package facts

License not declared (permissive)
Python support supports the current Python release (>=2.7)
Install friction low — pure-Python wheel
Runtime dependencies 2 — requests, six
Maintenance actively maintained — 148 days since the last release
Last repo commit
First released
Downloads 75,313/month — #14,731 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pysignalclirestapi-0.3.25-py3-none-any.whl

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Tags

signal messaging api pythonsignal cli rest clientsend signal messages programmaticallysignal api python wrappersignal protocol http client
signal-messagingrest-api-client

More Internet packages