Sparetext
All comparisons

Sparetext vs textbee

textbee is an open-source Android SMS gateway with a hosted dashboard and a REST API.

If you're on textbee and want iPhone, an AI agent that can text and wait for the reply, or texts that wait out Android's sending limit instead of failing, Sparetext takes textbee's requests as they are. If you want to host everything yourself, stay with textbee.

Choose Sparetext if

  • You have an iPhone, or a Mac next to one.
  • An AI agent should send a text and wait for the reply (wait_for_reply), signing in to Claude or ChatGPT with OAuth.
  • You want 10,000 texts a month on Pro for less than textbee's 5,000.
  • Long texts and bursts must not fail at Android's 30-parts-a-minute limit.
  • You want failures named (TP-Status, no service) and radio errors retried.

Choose textbee if

  • You want to self-host the server and app (Docker, your own Firebase).
  • You want an open-source codebase you can change.

Feature by feature

FeatureSparetexttextbee
Texts come from your own numberYes: Your phone's SIMYes: Your Android's SIM
iPhoneYes: Through a Mac relay, a Shortcut, or tap to sendNo: Android only
MCP server for Claude, ChatGPT and other agentsYes: Hosted, with OAuth sign-in: send, send a text per person, wait for a reply, read threads, check phonesYes: Hosted: send_sms, get_messages, list_devices
An agent can wait for the person's replyYes: wait_for_reply returns the reply, or a code in itPartly: Poll get_messages
Connect an assistant without pasting a keyYes: Add the URL as a connector in Claude or ChatGPT and sign inPartly: Not stated in their docs
Cost per textYes: None from us; your carrier planYes: None from them; your carrier plan
Free planYes: 1 phone, 300 texts a monthYes: 1 phone, 300 a month, 50 a day
Paid planYes: $12.74 a month or $84.99 a year: 5 phones, 10,000 texts; from $5 in many countriesYes: $14.99 a month or $99.99 a year: 5 phones, 5,000 texts
Registration before US texts (A2P 10DLC)Partly: No registration step; carriers can still filter business texts from a personal SIMPartly: The same
Delivery reportsYes: Per part; a failure names the carrier's TP-StatusPartly: Any report counts as delivered
Android's limit of 30 parts a minuteYes: Counted per part; texts wait instead of failingNo: Fixed 5 s gap; the limit isn't read
Retries when the radio refusesYes: Held and sent when service is back, up to 30 minNo: Fails
WebhooksYes: HMAC with a timestamp, 8 tries over 28 hoursYes: HMAC, 10 tries over 30 days
A different text per recipientYes: messages[] in one call; CSV with {{column}} in the dashboardYes: Bulk API and a CSV wizard with templates
Choose the SIM per textYes: sim: 1 or 2; never falls back to the other numberYes: simSubscriptionId
Scheduling and expiryYes: scheduledAt, and ttl per textPartly: scheduledAt; no expiry per text
Sending hoursYes: Per phone, by weekday, in its time zoneNo: Not found
Open source, self-hostedNo: Hosted onlyYes: Docker, with your own Firebase
End-to-end encryptionYes: Opt-in: AES-256-GCM on your devices, words and pictures both ways; each text bound to its numberNo: Texts travel in the push message
MMSYes: Android, and the Mac relay, so iPhone owners tooNo: SMS only
Thousands of texts a day, short codes, sender IDsNo: Carriers filter bulk texts from a personal SIMNo: Same limit: a phone

Swipe the table sideways for every column. →

Switching from textbee

Sparetext answers at textbee's paths with textbee's body and answer: send-sms, send-bulk-sms and sms-batch, per device or not. Change the base URL and the key.

textbee

bash
curl -X POST https://api.textbee.dev/api/v1/gateway/devices/$DEVICE_ID/send-sms \
  -H "x-api-key: $TEXTBEE_API_KEY" -H "content-type: application/json" \
  -d '{"recipients": ["+12025550123"], "message": "Hello"}'

Sparetext

bash
curl -X POST https://sparetext.dev/api/v1/gateway/devices/$DEVICE_ID/send-sms \
  -H "x-api-key: $SPARETEXT_API_KEY" -H "content-type: application/json" \
  -d '{"recipients": ["+12025550123"], "message": "Hello"}'

Every endpoint, with Node and Python too, is in the API reference.

Questions people ask

Is Sparetext compatible with textbee?
Yes. POST /api/v1/gateway/send-sms and /gateway/send-bulk-sms take textbee's recipients, message, simSubscriptionId and scheduledAt (and the older receivers and smsBody), per device or not, and answer with textbee's fields: success, message, smsBatchId and recipientCount. GET /gateway/devices/{id}/sms-batch/{batchId} answers with the batch and its texts.
Does textbee work with iPhone?
No, textbee's app is Android only. Sparetext sends from an iPhone's number through a Mac relay (fully automatic), a Shortcut while the app is open, or tap to send.
Does textbee have an MCP server?
Yes: a hosted one with send_sms, get_messages and list_devices. Sparetext's also has wait_for_reply (the agent waits for the person's answer, or a code in it) and whole conversations, signs in with OAuth so Claude and ChatGPT connectors need no pasted key, and also sends from an iPhone.
How do the prices compare?
Both are free for 1 phone and 300 texts a month, and neither charges per text. textbee Pro is $14.99 a month for 5 phones and 5,000 texts; Sparetext Pro is $12.74 a month for 5 phones and 10,000 texts, and less in many countries.

More comparisons

Checked on October 29, 2026 against each product's own docs, pricing pages and source code. Something out of date? Write to hello@sparetext.dev and we'll fix it. Sources: textbee on GitHub, textbee docs, textbee pricing.

Try it on the phone you have.

Free for 1 phone and 300 texts a month. An Android pairs in two minutes.

Create your account