Linq
an iMessage API you can use from the command line
Last verified:
What is Linq?
Linq CLI is a command-line interface for the Linq messaging API that enables developers and teams to send iMessages, manage chats, and listen for webhooks directly from their terminal. It provides_programmatic access_to iMessage infrastructure with just a few keystrokes, eliminating the need for a graphical interface.
Key features include sending iMessages with effects like confetti and fireworks, adding tapback reactions, managing group conversations, real-time webhook listening with Stripe CLI-style forwarding for testing, an instant sandbox with a shared phone number for testing (20 contacts max), and token management directly from the CLI. The tool supports creating chats, sending messages to phone numbers in E.164 format, and listening for incoming events forwarded to local servers.
Linq CLI is designed for developers, DevOps engineers, and technical teams who want to integrate iMessage into their applications, automate messaging workflows, test messaging integrations, or build conversational AI agents that communicate over iMessage. It's trusted by 1000+ world-class teams and provides full API access for free on the tier.
The CLI installs via npm with a single command and requires authentication through signup. Users can send their first message in just 3 steps: install, authenticate, and send. It supports the full Linq Partner API which also covers RCS and SMS messaging infrastructure.
Linq pricing
Pricing model: Freemium
Free tier includes full API access with up to 20 contacts, inbound-first messaging requirement (someone must text you first), and a shared phone number. The sandbox has a 7-day time limit. Paid production lines are available with dedicated phone numbers and no contact limits, though specific pricing details for paid plans are not publicly listed on the CLI page. Users need to contact Linq for enterprise/pricing details.
Linq pros
- Send iMessages directly from terminal with few keystrokes
- Supports message effects like confetti and fireworks
- Add tapback reactions to messages
- Manage group conversations from CLI
- Real-time webhook listening with local server forwarding
- Instant sandbox with shared number for testing
- Token management directly from CLI
- Full API access included for free tier
- Simple 3-step setup process
- npm install -g for easy global installation
- Stripe CLI-style webhook listener for effortless testing
- Create chats with single command
- Supports E.164 phone number format
- Trusted by 1000+ world-class teams
- Open source CLI available on GitHub
Linq cons
- Free tier limited to 20 contacts maximum
- Free tier requires inbound-first messaging
- Shared phone number in sandbox (others use same number)
- 7-day time limit on sandbox testing
- Requires email signup to prevent spam
- CLI is shared due to infrastructure costs
- Only Mac/Linux terminal support implied
- Phone numbers must be in strict E.164 format
- Not all paid production line features in free tier
Frequently asked questions about Linq
What is Linq CLI?
Linq CLI is a command-line interface for the Linq messaging API that lets you send iMessages, manage chats, and listen for webhooks all from a few keystrokes in your terminal. You can create chats, send messages with effects, add reactions, and manage group conversations without a graphical interface.
How do I install Linq CLI?
Install Linq CLI globally via npm using the command: npm install -g @linqapp/cli. Alternatively, you can download and install from releases using the install script: curl -fsSL https://raw.githubusercontent.com/linq-team/linq-cli/main/install.sh | sh
What is the free tier limit?
The free tier allows you to manage up to 20 contacts and provides full API access. However, it requires inbound-first messaging, meaning someone must text you before you can text them. This limit exists to avoid spam.
Do I need an API key to use Linq CLI?
Yes, after installing the CLI you need to authenticate by running 'linq signup' to plug in your API keys. This authentication step is required before you can send iMessages from your terminal.
Can I test webhooks with Linq CLI?
Yes, Linq CLI includes a Stripe CLI-style webhook listener. Run 'linq webhooks listen --forward-to http://localhost:3000/webhook' to listen for incoming events in real-time and forward them to your local server for effortless testing.
What message effects are supported?
Linq CLI supports iMessage effects like confetti, fireworks, slam, gentle, invisible ink, and more. You can send messages with these effects when creating chats through the CLI.
Is the phone number in sandbox dedicated to me?
No, the sandbox uses a shared phone number, meaning a few other people will be using the same phone number as you. This is different from paid production lines which are dedicated. The sandbox also has a 7-day time limit.
Can I manage tokens from the CLI?
Yes, Linq CLI includes token management functionality. You can list, create, and delete your tokens directly from the CLI using the 'linq tokens' command.
What messaging protocols does Linq support?
Linq supports iMessage, RCS, and SMS messaging through its Partner API. The CLI primarily focuses on iMessage from your terminal, but the underlying API provides unified messaging across all three protocols with automatic or explicit protocol selection.