Signal website screenshot

Signal

Signal is a privacy-focused messaging platform that provides end-to-end encrypted communication through open-source applications on mobile and desktop. Their developer ecosystem centers around the open-source Signal Protocol, client SDKs, and server infrastructure, enabling developers to study, audit, and integrate secure messaging capabilities. The Signal Protocol is the most widely deployed end-to-end encryption protocol in the world, used by Signal, WhatsApp, Google Messages, and other platforms.

Signal publishes 9 APIs on the APIs.io network, including Accounts API, Attachments API, Certificates API, and 6 more. Tagged areas include Encryption, Messaging, Security, Cryptography, and Open-Source.

The Signal catalog on APIs.io includes 1 event-driven AsyncAPI specification, 1 JSON-LD context, and 3 Spectral governance rulesets.

Signal’s developer surface includes authentication, documentation, engineering blog, support, GitHub presence, and 7 more developer resources.

41.3/100 developing ▬ flat Agent 21/100 agent aware saas Full breakdown ↓
scored 2026-09-08 · rubric v0.20.0
AccessPaid
1 APIs
EncryptionMessagingSecurityCryptographyOpen-SourcePrivacy

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-09-08 · rubric v0.20.0
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it carries 10 points of the composite. It is scored from the published contracts themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in front of it, and the first time that check is skipped a duplicate record is created. Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet, not penalised by it.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/signal: open an issue to ask a question, or submit a pull request to add artifacts. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

APIs 14

Individual APIs this provider publishes, each with its own machine-readable definition.

Signal Protocol Specifications

The Signal Protocol Specifications define the core cryptographic protocols that underpin Signal's end-to-end encrypted messaging. These include the X3DH (Extended Triple Diffie-...

Signal libsignal SDK

The libsignal SDK provides platform-agnostic APIs used by the official Signal clients and server. It implements the Signal Protocol including the Double Ratchet algorithm, as we...

Signal Android SDK

Signal-Android is the open-source Android client for the Signal encrypted messaging platform. It provides the full messaging experience including end-to-end encrypted text messa...

Signal iOS SDK

Signal-iOS is the open-source iOS client for the Signal encrypted messaging platform. It delivers end-to-end encrypted messaging, voice calls, video calls, and group communicati...

Signal Desktop SDK

Signal-Desktop is the open-source desktop client for the Signal encrypted messaging platform, built with Electron and TypeScript. It provides end-to-end encrypted messaging, voi...

Signal Accounts API

Account management endpoints for configuring account settings, managing capabilities, and account lifecycle operations.

Signal Attachments API

Attachment handling endpoints for uploading and downloading media files associated with messages.

Signal Certificates API

Certificate endpoints for retrieving delivery certificates used in sealed sender message delivery.

Signal Devices API

Device management endpoints for linking, unlinking, and managing devices associated with a Signal account.

Signal Keys API

Pre-key bundle management endpoints for uploading and retrieving public key material used in the Signal Protocol key exchange.

Signal Messages API

Message sending and receiving endpoints for delivering encrypted messages between Signal users.

Signal Profiles API

Profile management endpoints for setting and retrieving user profile information including names, avatars, and capabilities.

Signal Registration API

Account registration endpoints for creating new Signal accounts via phone number verification.

Signal Stickers API

Sticker pack management endpoints for uploading and retrieving sticker packs.

Scroll for all 14

Open Collections 11

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

API Collection

OPEN COLLECTION

Signal Server API

OPEN COLLECTION

Scroll for all 11

Pricing Plans 1

Published pricing tiers and plan structures.

Signal Plans Pricing

1 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Signal Rate Limits

1 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

Signal Server Real-Time Events

The Signal Server real-time messaging interface provides WebSocket connections for persistent, bidirectional communication between Signal clients and the server. When a client h...

ASYNCAPI

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Signal Context

0 classes · 10 properties

JSON-LD

Spectral Rules 3

Spectral governance rulesets for linting and validating these APIs.

Signal API Rules

8 rules · 1 errors 6 warnings 1 info

SPECTRAL

Signal API Rules

6 rules · 4 warnings 2 info

SPECTRAL

Signal API Rules

8 rules · 2 errors 4 warnings

SPECTRAL

JSON Schema 1

Standalone JSON Schema definitions for this provider's data models.

Signal Protocol Entities

0 properties

JSON SCHEMA

JSON Structure 1

JSON Structure definitions describing this provider's data shapes.

Signal Server Structure

0 properties

JSON STRUCTURE

Examples 2

Example request and response payloads for these APIs.

Security Posture 3

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Signal Authentication

http · 2 schemes

SECURITY

Signal Domain Security

TLSv1.3 · DNSSEC · DMARC

SECURITY

Signal Vulnerability Disclosure

security.txt · contact published

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Signal Agentic Access

18 operations · 9 acting

18 operations · 9 acting

AGENTIC

Resources

Documentation 1

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 1

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 3

The organization behind the API

Source (apis.yml)

apis.yml Raw ↑
aid: signal
url: https://raw.githubusercontent.com/api-evangelist/signal/refs/heads/main/apis.yml
apis:
- aid: signal:signal-protocol-specifications
  name: Signal Protocol Specifications
  tags:
  - Encryption
  - Messaging
  - Cryptography
  - Security
  - Protocols
  humanURL: https://signal.org/docs/
  properties:
  - url: https://signal.org/docs/
    type: Documentation
  description: The Signal Protocol Specifications define the core cryptographic protocols that underpin Signal's end-to-end
    encrypted messaging. These include the X3DH (Extended Triple Diffie-Hellman) key agreement protocol for establishing shared
    secrets between parties, the Double Ratchet Algorithm for deriving new encryption keys per message, the PQXDH (Post-Quantum
    Extended Diffie-Hellman) protocol for quantum-resistant key agreement, and XEdDSA for EdDSA-compatible signature schemes.
    These specifications are published independently so they can be adopted by other projects beyond Signal itself.
- aid: signal:signal-libsignal-sdk
  name: Signal libsignal SDK
  tags:
  - SDK
  - Encryption
  - Cryptography
  - Java
  - Swift
  - TypeScript
  - Rust
  humanURL: https://github.com/signalapp/libsignal
  properties:
  - url: https://github.com/signalapp/libsignal
    type: GitHub
  - url: https://github.com/signalapp/libsignal
    type: Documentation
  description: The libsignal SDK provides platform-agnostic APIs used by the official Signal clients and server. It implements
    the Signal Protocol including the Double Ratchet algorithm, as well as other cryptographic primitives such as AES-GCM
    encryption and zero-knowledge group functionality. The core implementations are written in Rust, with bindings exposed
    as Java, Swift, and TypeScript libraries.
- aid: signal:signal-android-sdk
  name: Signal Android SDK
  tags:
  - Android
  - Mobile
  - Messaging
  - Encryption
  - Open-Source
  tags_raw:
  - Android
  - Mobile
  - Messaging
  - Encryption
  - Open Source
  humanURL: https://github.com/signalapp/Signal-Android
  properties:
  - url: https://github.com/signalapp/Signal-Android
    type: GitHub
  - url: https://github.com/signalapp/Signal-Android
    type: Documentation
  description: Signal-Android is the open-source Android client for the Signal encrypted messaging platform. It provides the
    full messaging experience including end-to-end encrypted text messages, voice calls, video calls, group chats, and media
    sharing. The application integrates the libsignal protocol library for cryptographic operations and communicates with
    the Signal Server for message routing and delivery.
- aid: signal:signal-ios-sdk
  name: Signal iOS SDK
  tags:
  - iOS
  - Mobile
  - Messaging
  - Encryption
  - Open-Source
  tags_raw:
  - iOS
  - Mobile
  - Messaging
  - Encryption
  - Open Source
  humanURL: https://github.com/signalapp/Signal-iOS
  properties:
  - url: https://github.com/signalapp/Signal-iOS
    type: GitHub
  - url: https://github.com/signalapp/Signal-iOS
    type: Documentation
  description: Signal-iOS is the open-source iOS client for the Signal encrypted messaging platform. It delivers end-to-end
    encrypted messaging, voice calls, video calls, and group communications on iPhone and iPad devices. The application uses
    the libsignal protocol library for all cryptographic operations and connects to the Signal Server infrastructure for message
    delivery and synchronization.
- aid: signal:signal-desktop-sdk
  name: Signal Desktop SDK
  tags:
  - Desktop
  - Electron
  - Messaging
  - Encryption
  - Open-Source
  tags_raw:
  - Desktop
  - Electron
  - Messaging
  - Encryption
  - Open Source
  humanURL: https://github.com/signalapp/Signal-Desktop
  properties:
  - url: https://github.com/signalapp/Signal-Desktop
    type: GitHub
  - url: https://github.com/signalapp/Signal-Desktop
    type: Documentation
  description: Signal-Desktop is the open-source desktop client for the Signal encrypted messaging platform, built with Electron
    and TypeScript. It provides end-to-end encrypted messaging, voice calls, video calls, and group communications on Windows,
    macOS, and Linux. The desktop client links to an existing Signal mobile account and synchronizes messages across devices.
- aid: signal:signal-accounts-api
  name: Signal Accounts API
  description: Account management endpoints for configuring account settings, managing capabilities, and account lifecycle
    operations.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Account
  tags_raw:
  - Accounts
  properties:
  - type: OpenAPI
    url: openapi/signal-accounts-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
- aid: signal:signal-attachments-api
  name: Signal Attachments API
  description: Attachment handling endpoints for uploading and downloading media files associated with messages.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Attachments
  properties:
  - type: OpenAPI
    url: openapi/signal-attachments-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
- aid: signal:signal-certificates-api
  name: Signal Certificates API
  description: Certificate endpoints for retrieving delivery certificates used in sealed sender message delivery.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Certificates
  properties:
  - type: OpenAPI
    url: openapi/signal-certificates-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
- aid: signal:signal-devices-api
  name: Signal Devices API
  description: Device management endpoints for linking, unlinking, and managing devices associated with a Signal account.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Devices
  properties:
  - type: OpenAPI
    url: openapi/signal-devices-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
- aid: signal:signal-keys-api
  name: Signal Keys API
  description: Pre-key bundle management endpoints for uploading and retrieving public key material used in the Signal Protocol
    key exchange.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Keys
  properties:
  - type: OpenAPI
    url: openapi/signal-keys-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
- aid: signal:signal-messages-api
  name: Signal Messages API
  description: Message sending and receiving endpoints for delivering encrypted messages between Signal users.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Message
  tags_raw:
  - Messages
  properties:
  - type: OpenAPI
    url: openapi/signal-messages-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
- aid: signal:signal-profiles-api
  name: Signal Profiles API
  description: Profile management endpoints for setting and retrieving user profile information including names, avatars,
    and capabilities.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Profiles
  properties:
  - type: OpenAPI
    url: openapi/signal-profiles-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
- aid: signal:signal-registration-api
  name: Signal Registration API
  description: Account registration endpoints for creating new Signal accounts via phone number verification.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Registration
  properties:
  - type: OpenAPI
    url: openapi/signal-registration-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
- aid: signal:signal-stickers-api
  name: Signal Stickers API
  description: Sticker pack management endpoints for uploading and retrieving sticker packs.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Stickers
  properties:
  - type: OpenAPI
    url: openapi/signal-stickers-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
name: Signal
tags:
- Encryption
- Messaging
- Security
- Cryptography
- Open-Source
- Privacy
tags_raw:
- Encryption
- Messaging
- Security
- Cryptography
- Open Source
- Privacy
kind: contract
deliveryModel:
  model: saas
  open_source: false
  commercial: true
  callable_host: true
  label: Hosted service · you call their endpoint
  confidence: high
  source:
  - openapi
  - pricing
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: paid
  onboarding: unknown
  trial: false
  try_now: false
  public: false
  label: Paid
  confidence: medium
  source:
  - plans
  - authentication
  - security
  generated: '2026-09-03'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/signal.png
access: 3rd-Party
created: '2026-03-20'
modified: '2026-05-19'
position: Consuming
segments:
- Messaging
- Security
- Cryptography
description: Signal is a privacy-focused messaging platform that provides end-to-end encrypted communication through open-source
  applications on mobile and desktop. Their developer ecosystem centers around the open-source Signal Protocol, client SDKs,
  and server infrastructure, enabling developers to study, audit, and integrate secure messaging capabilities. The Signal
  Protocol is the most widely deployed end-to-end encryption protocol in the world, used by Signal, WhatsApp, Google Messages,
  and other platforms.
common:
- type: AgenticAccess
  url: agentic-access/signal-agentic-access.yml
- type: VulnerabilityDisclosure
  url: security/signal-vulnerability-disclosure.yml
- type: DomainSecurity
  url: security/signal-domain-security.yml
- type: Authentication
  url: authentication/signal-authentication.yml
- type: LinkedIn
  url: https://www.linkedin.com/company/signal-messenger
- type: Website
  url: https://signal.org/
- type: Documentation
  url: https://signal.org/docs/
- type: Blog
  url: https://signal.org/blog/
- type: Support
  url: https://support.signal.org/
- type: TermsOfService
  url: https://signal.org/legal/
- type: PrivacyPolicy
  url: https://signal.org/legal/#privacy-policy
- type: GitHub
  url: https://github.com/signalapp
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
specificationVersion: '0.23'

Work with this as data

Every provider here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This provider
curl "https://apis.io/api/v1/providers/signal"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/signal/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/signal/evidence"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.