AI Agents API LibrarySMS and messaging apps

SMS and messaging apps APIs and MCP servers for AI agents

Send and receive SMS and messages on WhatsApp, LINE or Telegram through a messaging provider's API.

12 sms and messaging apps APIs an AI agent can call: auth method and header, official MCP server (9), free tier (4), docs links. Machine-readable JSON included. Agents: fetch catalog/sms-messaging.json instead of parsing this page. Last checked 2026-11-04.

Ratings and usage (★) fetched: .

ServiceWhat an agent can doAuthMCP serverFree tierDetails (with sources)NotesProof (ratings, usage)
AWS End User Messaging SMSSend SMS, MMS and voice messages and manage sender numbers, opt-outs and registrations via the AWS SMS and Voice v2 API.cloud IAM
AWS Signature Version 4 with IAM credentials (use an AWS SDK or CLI: aws pinpoint-sms-voice-v2 send-text-message)
officialPaid only; US SMS $0.00774/message + $0.00421 carrier fee (10DLC or toll-free)Base URL: https://sms-voice.{region}.amazonaws.com
Free plan: none ↗
Rate limits: SendTextMessage 1 request/s per region by default (raisable); 1 msg/s per recipient; sandbox $1/month spend ↗
Example call: send an SMS text message: POST https://sms-voice.{region}.amazonaws.com/ ↗
SMS to Poland: $0.03222 per outbound SMS to Poland (USD, all networks, all number types) ↗
Sender registration: US: no sender IDs; you must request and register a US number (10DLC, toll-free or short code). Poland: sender IDs and long codes supported, no registration flagged. UK, Spain, India etc. require sender ID registration ↗
Trial limits: Sandbox: only to verified destination numbers (max 10), $1.00/month SMS spend limit (and $1 MMS); production access via AWS Support case per Region (first response within 24 h) ↗
MCP tools: 8: aws___run_script, aws___search_documentation, aws___read_documentation, aws___retrieve_skill, aws___list_regions, aws___get_regional_availability … ↗
New accounts start in a sandbox: $1/month spend limit, up to 10 verified destination numbers. Production access needs an AWS Support case (reviewed, about 24 h). US sending needs a registered 10DLC or toll-free number. SendTextMessage defaults to 1 request/s per region. The AWS MCP Server is generic (calls any AWS API).
Bird (formerly MessageBird)Send SMS, email and WhatsApp messages, verify phone numbers and track delivery via REST API or hosted MCP.API key / OAuth
Authorization: Bearer bk_<region>_... workspace API key (dashboard), or OAuth 2.0 user token (auth code + PKCE or device flow)
officialPaid only; prepaid wallet, US long code or toll-free $0.0035/SMS + carrier feesBase URL: https://us1.platform.bird.com/v1 (or https://eu1.platform.bird.com/v1)
Free plan: none ↗
Rate limits: Per-organization regional policies (e.g. sms_send); quota in RateLimit-Policy header; 429 with Retry-After ↗
Async jobs: POST /v1/sms/messages returns 202 Accepted with a message id; final status via webhooks or GET ↗
OAuth scopes: sms:write, sms_management:write, numbers:write ↗
Example call: send an SMS message: POST https://{region}.platform.bird.com/v1/sms/messages ↗
SMS to Poland: $0.035 per message segment to Poland (USD; alphanumeric, long code or short code; toll-free not published) ↗
Sender registration: US long codes need 10DLC brand + campaign registration; toll-free needs verification; US accepts no alphanumeric senders. Poland: alphanumeric, long code and short code need no registration ↗
MCP tools: 14: sms_send, sms_send_batch, sms_get, sms_list, sms_list_events, sms_senders_create … ↗
SMS draws on a prepaid wallet (402 if empty). Destination countries are default-deny except your home country; enable more in the dashboard. US long codes need 10DLC registration; the US has no alphanumeric senders. Hosted MCP uses OAuth; a local stdio MCP runs via the bird CLI (bird mcp).
InfobipSend SMS (and WhatsApp, Viber, RCS, email and voice messages) and fetch delivery reports via the Infobip REST API.API key
API key from the portal (Account Settings > API Keys, scope sms:message:send): Authorization: App <key>; requests go to your account's own base URL ({subdomain}.api.infobip.com, shown in the portal)
officialTrial: 60 days, 15 free SMS, no card; SMS only to up to 5 verified numbers, from the shared test sender (ServiceSMS); then pay as you goBase URL: https://{subdomain}.api.infobip.com (account-specific, shown in the portal)
Free plan: 15 SMS, up to 5 verified recipient numbers, 60 days (self-signup), one-time, no card ↗
Example call: send an SMS: POST https://{subdomain}.api.infobip.com/sms/3/messages ↗
Sender registration: Trial uses the shared test sender (ServiceSMS). Own alphanumeric senders or numbers are requested in the portal or via the Numbers API; some operators require sender ID registration before traffic (varies by operator). Poland-specific rules not published ↗
Trial limits: Self-signup trial: 60 days, 15 free SMS, only to up to 5 verified numbers, shared test sender; no card at signup; add funds to end the trial. Trial SMS not available to some countries (Belarus, China, Crimea, Cuba, Iran, Myanmar, New Zealand, North Korea, Northern Cyprus, South Sudan, Syria, Yemen, British Indian Ocean Territory) ↗
Each account has its own base URL; api.infobip.com alone is not a valid host for API calls. Custom senders (alphanumeric or numbers) are requested in the portal or via the Numbers API; some operators need sender registration before traffic. Hosted MCP servers per product at https://mcp.infobip.com/{server} (sms, whatsapp, viber, rcs, email, voice, message, 2fa, observe, account-management, ...; Streamable HTTP, /sse for SSE), auth with Authorization: App <key> or OAuth 2.1; a keyless docs-search server is at https://mcp.infobip.com/search. The SMS server has 10 tools; their names are not published in the docs or README. Self-signup trial excludes some countries (e.g. China, Iran, Cuba, New Zealand).—
LINE Messaging APILets an agent send and reply to messages, rich messages and broadcasts to users of a LINE Official Account and read user profiles.API key
Authorization: Bearer <CHANNEL_ACCESS_TOKEN> (issued for the Messaging API channel in LINE Developers Console)
officialFree Communication plan (Japan): 200 push/broadcast messages/month; reply messages are unlimited. Beyond that only paid plans (Light JPY 5,000 for 5,000 messages, Standard JPY 15,000 for 30,000). Free quotas vary by regionBase URL: https://api.line.me
Free plan: 200 messages (Communication plan, Japan), per month, no card ↗
Example call: send a push message: POST https://api.line.me/v2/bot/message/push ↗
Unit price: Japan Standard plan (JPY 15,000/mo incl. 30,000 messages): additional push messages up to JPY 3 each, counted per recipient; reply messages are free ↗
MCP tools: 13: push_text_message, push_flex_message, broadcast_text_message, broadcast_flex_message, get_profile, get_message_quota … ↗
Requires a LINE Official Account and a Messaging API channel. MCP server is local (stdio, npx @line/line-bot-mcp-server) with channel token and user ID env vars.
SinchSend and receive SMS (and WhatsApp, RCS and other channels) via the Conversation REST API.API key
Access key ID + secret (dashboard > Access keys): HTTP Basic, or exchange at https://auth.sinch.com/oauth2/token (client credentials) for a Bearer token
officialTrial: free trial credit and a free test number on signup, no card; then paid (US 10DLC $0.0078/SMS + carrier fees)Base URL: https://{region}.conversation.api.sinch.com (region: us, eu, br)
Free plan: Trial credit and one free test number on signup, one-time, no card ↗
Rate limits: 800 requests/s per project; app queue drains to channel at 20 msg/s by default; 429 when exceeded ↗
Example call: send an SMS via the Conversation API: POST https://{region}.conversation.api.sinch.com/v1/projects/{project_id}/messages:send ↗
Sender registration: US 10DLC needs a registered brand and a 10DLC campaign; toll-free numbers need TFN verification. Sender ID registration is recommended/required per country (details in dashboard Country Information) ↗
Trial limits: Trial credit on signup, no card; one free test number (buy numbers after testing); sandbox sends are simulated and only to phone numbers you have already verified ↗
Unit price: US SMS (10DLC or toll-free): $0.0078 per outbound message, plus carrier fees ↗
MCP tools: 11: send-text-message, send-media-message, send-template-message, send-choice-message, send-location-message, list-conversation-apps … ↗
The standalone SMS API is only for existing customers; new accounts send SMS through the Conversation API with an SMS channel. The trial test number can only text your own verified numbers. US A2P needs 10DLC or toll-free registration. MCP server (npm @sinch/mcp) is a developer preview, run locally or self-hosted.
SMSAPISend SMS (and MMS and voice messages) to Polish and international numbers via the SMSAPI REST API, with delivery reports by callback.API key
OAuth 2.0 API token created in the client panel (Ustawienia API > Tokeny API, pick scopes such as sms): Authorization: Bearer <token>
officialTrial: 50 free SMS on registration; until the account is activated by SMSAPI staff it can only send to the phone number used at registration; then prepaid from 0.17 PLN net/SMS (minimum top-up 49 PLN)Base URL: https://api.smsapi.pl (backup: https://api2.smsapi.pl; TLS 1.2 required)
Free plan: 50 SMS on registration; restricted accounts can send only to the number used at registration until activated, one-time ↗
Rate limits: 100 requests/s per IP; at most 10 send attempts to one number within 60 s ↗
Example call: send an SMS: POST https://api.smsapi.pl/sms.do ↗
SMS to Poland: 0.17 PLN net per SMS (prepaid, top-up 49-499.99 PLN); cheaper at larger top-ups; postpaid from 0.14-0.16 PLN net ↗
Sender registration: Default sender name is "Test". Own sender names (max 11 characters: a-z, A-Z, 0-9, dash, dot, space; not a phone number) are added in the panel (Pola Nadawcy) and verified by SMSAPI staff; only active names can be used in from. Adding one is free; approval time not published ↗
Trial limits: 50 free SMS on registration; company details are verified by customer service; a restricted account can send only to the number used at registration (error 98) until staff activate it. Card requirement not published ↗
Unit price: SMS in Poland (prepaid): 0.17 PLN net per SMS for top-ups of 49-499.99 PLN, lower at higher top-ups; postpaid from 0.14-0.16 PLN net; minimum top-up 49 PLN; fast=1 costs 1.5x ↗
MCP tools: 6: send_sms, get_sms, send_mms, get_contacts, get_groups, delete_contact ↗
Polish provider (smsapi.com is the international brand). Default sender name is "Test"; your own sender names (max 11 characters, letters required, no phone numbers) are added in the panel and verified by SMSAPI staff before use (adding one is free). test=1 returns the response without sending. Hosted MCP server at https://mcp.smsapi.io/ (Streamable HTTP; per-group endpoints /sms, /mms, /vms, /contacts, /account, /subusers, /short-url, /hlr, /blacklist) with OAuth web login or a static Bearer token; the tool list above is partial (only the names shown in the docs).—
Telegram Bot APISend/receive messages, media, and inline interactions via a simple HTTPS bot API.API key
token in URL path: https://api.telegram.org/bot<token>/METHOD
communityfree, no key needed beyond a bot token from @BotFatherBase URL: https://api.telegram.org/bot<TOKEN>
Free plan: free_tier, no card ↗
Rate limits: ~1 message/s per chat, 20 messages/min per group, ~30 messages/s for bulk; paid broadcasts up to 1,000/s ↗
Example call: send a text message: POST https://api.telegram.org/bot{token}/sendMessage ↗
MCP tools: 6: send_message, reply_to_message, edit_message, list_chats, send_file, download_media ↗
No single official SDK (community libraries only); a self-hosted local Bot API server option removes some file-size limits. Listed MCP server uses a user account via Telethon/MTProto (API_ID/API_HASH + session string from my.telegram.org), not the bot token.
TelnyxSend and receive SMS, MMS, RCS and WhatsApp messages and manage phone numbers via REST API.API key
Authorization: Bearer <TELNYX_API_KEY> (Mission Control Portal > API Keys)
officialTrial: $5 test credit, 1 verified number, 100 messages/day; then paid (US 10DLC $0.004/SMS part + carrier fees)Base URL: https://api.telnyx.com/v2
Free plan: $5 test credit, 1 verified number, 100 messages/day, one-time ↗
Rate limits: Send rate per sender: long code 0.1 msg/s (non-US), toll-free 20 msg/s, short code 1,000 msg/s; excess is queued ↗
Async jobs: Send is queued; delivery progress and final status arrive via messaging webhooks ↗
Example call: send an SMS: POST https://api.telnyx.com/v2/messages ↗
SMS to Poland: $0.037 per outbound SMS part to Poland (same rate for all listed Polish operators) ↗
Sender registration: US: 10DLC needs brand + campaign (TCR) registration; toll-free needs verification; alphanumeric not supported in US/CA. Poland: alphanumeric sender ID supported and preserved, no registration ↗
Trial limits: Trial: $5 testing credit; SMS only to 1 verified number, long code only, max 100 messages/day, 1 messaging profile ↗
MCP tools: 3: list_api_endpoints, get_api_endpoint_schema, invoke_api_endpoint ↗
US A2P messaging needs 10DLC registration; US long-code throughput is set per 10DLC campaign. Default send rates: long code 0.1 msg/s (non-US), toll-free 20 msg/s per number. Agents can sign up via a bot-challenge flow (telnyx.com/agent-signup.md).
TextbeltSend an SMS to a phone number (US or international) with one HTTP POST, and check delivery status and remaining credits.API key
A key sent in the 'key' form field: the shared free key 'textbelt' (1 SMS/day, no signup) or a paid key bought with a one-time card payment at https://textbelt.com/purchase/; appending '_test' to a key validates a request without sending.
—Free: shared key 'textbelt' sends 1 SMS per day; paid credits are a one-time purchaseBase URL: https://textbelt.com
Free plan: 1 SMS with the shared 'textbelt' key, per day, no card ↗
Rate limits: Free key: 1 SMS/day; paid keys limited by purchased credits ↗
Example call: send an SMS: POST https://textbelt.com/text ↗
SMS containing URLs need extra permission. Senders must identify their business; recurring messages need opt-out text (added by Textbelt). Reply webhooks for US numbers only. Use E.164 numbers. Delivery status for 1 week at /status/{textId}; remaining credits at /quota/{key}. Not for bulk or unsolicited messaging.—
TwilioSend/receive SMS, WhatsApp messages, and voice calls programmatically via REST API.API key
Basic auth: AccountSID:AuthToken (or API Key SID:Secret)
officialTrial: 100 SMS, 100 WhatsApp, 3,000 emails, 75 voice minutes; no card; one-time, expires after 30 days; SMS only to verified numbers within the signup country, using predefined templatesFree plan: 100 SMS, 100 WhatsApp messages, 3,000 emails, 75 voice minutes; 30 days; verified numbers in the signup country only, predefined templates, one-time, no card ↗
Example call: send an SMS: POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json ↗
SMS to Poland: $0.0457 per outbound SMS segment to Poland (mobile numbers); inbound $0.0075/segment; $0.001 fee per failed message ↗
Sender registration: US: 10DLC needs A2P brand + campaign registration; toll-free numbers cannot send to US/CA until verified. Poland: alphanumeric sender ID supported, no pre-registration; numeric IDs overwritten ↗
Trial limits: Trial: only to up to 5 verified numbers, only within sign-up country, pre-defined templates only (no custom bodies), trial number as sender, 100 free SMS, expires after 30 days ↗
Unit price: SMS to Poland: $0.0457 per outbound segment (mobile numbers and alphanumeric sender IDs); $0.001 fee per failed message ↗
Trial accounts can only message verified numbers; US SMS at scale requires A2P 10DLC registration. Hosted MCP is read-only docs/API-spec search; the executing server is Twilio Labs' npm @twilio-alpha/mcp (alpha).
Vonage APISend SMS, make voice calls, and build video apps via a unified communications REST API.API key
API key+secret for SMS/Number Insight; JWT bearer token for Voice/Video APIs
officialTrial: free credit on signup, no credit card required; then pay-as-you-go per requestFree plan: trial, one-time, no card ↗
Example call: send an SMS: POST https://rest.nexmo.com/sms/json ↗
SMS to Poland: $0.04843 per outbound SMS to Poland (per message); inbound $0.01091 ↗
Sender registration: US: alphanumeric not allowed; use registered 10DLC, toll-free or short code (10DLC mandatory once account leaves trial). Poland: alphanumeric generally supported, no registration stated; generic IDs (INFO, SMS) prohibited ↗
Trial limits: Trial: EUR 2 free credit; SMS only to your registered number + 4 verified test numbers; '[FREE SMS DEMO, TEST MESSAGE]' appended; trial credit cannot buy virtual numbers ↗
Unit price: SMS to Poland: $0.04843 per outbound message ↗
MCP tools: 8: balance, list-applications, create-application, search-available-numbers, SMS, whatsapp-send-text … ↗
Auth method differs per sub-API (API key/secret vs JWT), which agents must account for.
WhatsApp Business Cloud APISend/receive WhatsApp messages, template messages, and media programmatically via Graph API.OAuth 2.0
Authorization: Bearer <system-user access token>
communityFree: non-template (service) messages inside an open 24h customer service window; template messages billed per message (per-message pricing since 2025-07-01)Free plan: Non-template messages inside an open 24h customer service window are free; template messages billed per message ↗
Rate limits: Up to 80 messages/s per business phone number by default (upgradable) ↗
OAuth scopes: whatsapp_business_messaging, whatsapp_business_management ↗
Example call: send a text message: POST https://graph.facebook.com/v25.0/{phone-number-id}/messages ↗
Unit price: Non-template messages inside an open customer service window are free; template messages are charged per delivered message at rates by category and recipient country (rate cards linked on page) ↗
MCP tools: 9: send_text_message, send_image_message, send_template_message, get_message_templates, create_message_template, upload_media … ↗
Requires Meta Business verification and pre-approved message templates for outbound marketing/utility messages outside the 24h session window.

Other categories