Back to Nodes

n8n-nodes-unlimited-messaging

v0.1.22
Last updated Oct 19, 2026

n8n community node for Unlimited Messaging — send and receive WhatsApp messages in your workflows on unlimitedmessaging.app

13 Weekly Downloads
1,491 Monthly Downloads

Description

Unlimited Messaging SDK

Official TypeScript and Python clients for the Unlimited Messaging API — send and receive WhatsApp messages programmatically.

![npm version](https://www.npmjs.com/package/@unlimited-messaging/sdk)
![npm downloads](https://www.npmjs.com/package/@unlimited-messaging/sdk)
![PyPI version](https://pypi.org/project/unlimited-messaging/)
![PyPI downloads](https://pypi.org/project/unlimited-messaging/)
![Bundle size](https://bundlephobia.com/package/@unlimited-messaging/sdk)
![CI](https://github.com/unlimitedmessaging/unlimited-messaging-sdk/actions/workflows/release.yml)
![License](https://github.com/unlimitedmessaging/unlimited-messaging-sdk/blob/main/LICENSE)
![Socket](https://socket.dev/npm/package/@unlimited-messaging/sdk)

Installation

TypeScript / Node.js package

npm install @unlimited-messaging/sdk

Python package

pip install unlimited-messaging

Quick start

TypeScript

import { UnlimitedMessagingApiClient } from "@unlimited-messaging/sdk";

const client = new UnlimitedMessagingApiClient({ token: process.env.API_TOKEN, });

// Send a message const message = await client.message.send({ recipient: "+33612345678", text: "Hello!", });

console.log(message.id, message.status);

// List messages const result = await client.message.findAll({ page: 1, limit: 20, });

console.log(${result.total} messages);

// List linked SIMs const sims = await client.sim.getLinkedSims();

Python

import os
from unlimited_messaging import UnlimitedMessagingApi

client = UnlimitedMessagingApi( token=os.environ["API_TOKEN"], )

Send a message

message = client.message.send( recipient="+33612345678", text="Hello!", )

print(message.id, message.status)

List messages

result = client.message.find_all(page=1, limit=20) print(f"{result.total} messages")

List linked SIMs

sims = client.sim.getlinkedsims()

Authentication

All endpoints require a Bearer token. Pass it as the token option when initialising the client. You can generate a token from your dashboard.

API reference

The full API spec is in openapi.yaml. More examples are available in examples/.

Messages

| Method | Description |
| ————————————– | —————————————– |
| message.send / message.send | Send a WhatsApp message |
| message.findAll / message.find_all | List messages with pagination and filters |
| message.findOne / message.find_one | Get a single message by ID |

#### Send options

| Field | Type | Required | Description |
| ———– | —— | ——– | ——————————– |
| recipient | string | yes | Phone number (E.164 format) |
| text | string | yes | Message content (max 1600 chars) |
| simId | string | no | Force a specific SIM |

#### List filters

| Field | Type | Description |
| ——– | —— | ———————————————————————— |
| page | number | Page number (default: 1) |
| limit | number | Results per page, max 100 (default: 20) |
| status | string | Filter by status: PENDING SENDING SENT DELIVERED READ FAILED |
| simId | string | Filter by SIM |
| search | string | Search in content |

SIMs

| Method | Description |
| ——————————————- | ————————— |
| sim.getLinkedSims / sim.getlinkedsims | Get the list of linked SIMs |

Async support (Python)

import asyncio
from unlimited_messaging import AsyncUnlimitedMessagingApi

client = AsyncUnlimitedMessagingApi(token="...")

async def main(): message = await client.message.send( recipient="+33612345678", text="Hello async!", )

asyncio.run(main())

Local development

Requires Docker (for Fern code generation).

Regenerate SDKs after openapi.yaml changes

make generate

Install SDKs locally for testing

make install

Run examples

APITOKEN=yourtoken python3 examples/python/src/send_message.py APITOKEN=yourtoken npx tsx examples/typescript/src/send-message.ts

Links