# SignalWire Voice API (slim) > Programmable calling API from the team behind FreeSWITCH. - Full: https://www.anchorterminal.com/tools/signalwire-voice.md (~6,800 tokens) · this version ~1,630 tokens · JSON https://www.anchorterminal.com/tools/signalwire-voice.json · canonical https://www.anchorterminal.com/tools/signalwire-voice - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-04 **B · 67.3/100 · rank #144 of 452 · #3 in Phone calling & voice transport · not agent-ready · confidence medium** Assessment: SWML documents, REST commands and a Relay WebSocket client for call control. Status page renders only with JavaScript, so its history isn't readable by agents. ## Facts - Kind: HTTP API · vendor: SignalWire · category: Phone calling & voice transport · legal entity: SignalWire, Inc. · provenance 90/100 - Local only (HTTP): pypi `signalwire-sdk`, npm `@signalwire/sdk`, pypi `signalwire` - Auth: API key · pricing: Pay per use · x402: no · licence: MIT - Probe metrics: not measured yet (probes haven't run) - Numbers: Buy and port local and toll-free numbers by dashboard or REST. Trial accounts are limited to 1 number - Media streams: calling.stream sends call audio to a WebSocket, calling.tap to RTP or WebSocket - SIP: SIP endpoints and domain apps, SIP REFER transfer, $0.003 a minute per SIP or WebRTC leg - Recording: calling.record or SWML record, $0.002 a minute - Transfer: calling.transfer to a SWML destination, connect to a number or SIP address, calling.refer for SIP - AI agent: SWML ai verb with prompts, functions (SWAIG) and live transcription or translation, $0.16 a minute runtime - Free tier: Trial mode without a card, 1 number, up to 10 verified caller IDs, calls only to purchased or verified numbers, no international, no outbound SIP. A card and at least $5 of credit lift it - Rate limits: Trial allows 10 queued calls and 10 queued messages at once. Space limits are raised on request - Data retention: Not published on the pages we read - Prices: US outbound, local $0.008 per minute of call; US inbound, local number $0.0066 per minute of call; US outbound, toll-free $0.0069 per minute of call; US inbound, toll-free number $0.0147 per minute of call; SIP or WebRTC leg $0.003 per minute of call; AI agent runtime $0.16 per minute of call; US local number $0.50 per month (plan); US toll-free number $0.80 per month (plan) - 2026-09-14 Notice: New Project API tokens use a swapi_ prefix and 42 characters. Old tokens keep working - Scores: Reliability 53, Performance pending, Schema & documentation 87, Agent ergonomics 68, Security & auth 72, Payments & pricing 40, Task success pending, Maintenance & community 81, Transparency & trust 78 · total over the 7 assessed categories - Why: Reliability, status.signalwire.com redirects to a PagerDuty-hosted page that renders only with JavaScript, and we found no feed, so we couldn't read its… · Schema & documentation, Public OpenAPI 3.1 spec at signalwire.com/docs/openapi.json and .yaml, which generates the REST reference (25). · Agent ergonomics, A paging guide covers page sizes on list endpoints, with no field selection (15 of 25). · Security & auth, Basic auth with a Project ID and an API token, or short-lived Bearer tokens. · Payments & pricing, No x402, MPP or L402 (0). · Maintenance & community, signalwire-python 3.5.1 on 29 September 2026, and signalwire-js 4.0.0-rc.4 on 1 October. · Transparency & trust, Closed service under the SignalWire Cloud Agreement (15). - Sources: 17, open questions: 6, both in the full twin - Capabilities: voice.calls, voice.numbers, voice.streaming, voice.sip, voice.recording, voice.transfer - JSON: https://www.anchorterminal.com/api/v1/tools/signalwire-voice.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/signalwire-voice.svg` or a link to https://www.anchorterminal.com/tools/signalwire-voice from a page on signalwire.com or one of its subdomains, or the README of github.com/signalwire/signalwire-python, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Send dial with a url pointing at a SWML document, then use calling.* commands on the returned call ID 2. Don't retry a dial on a 5xx. Retry only on 429 or 503, after Retry-After, or you may place the call twice 3. Use your own Space subdomain as the host, there is no shared API host 4. Create a token with only the Voice scope for a calling agent 5. Verify `x-signalwire-signature` with the Signing Key before acting on a webhook ## Connect ```bash curl -X POST "https://$SIGNALWIRE_SPACE.signalwire.com/api/calling/calls" -u "$SIGNALWIRE_PROJECT_ID:$SIGNALWIRE_API_TOKEN" \ -H "Content-Type: application/json" -d '{"command":"dial","params":{"from":"+15551234567","to":"+15557654321","url":"https://example.com/swml"}}' ``` Full config and headless snippets are in the full page. Through letme (picks today, calling later): https://letme.dev/signalwire-voice ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | Twilio Programmable Voice API + MCP | A | 80.4 | voice.calls, voice.numbers, voice.streaming, voice.sip, voice.recording, voice.transfer | https://www.anchorterminal.com/tools/twilio-voice.min.md | | Telnyx Voice API + MCP | BB | 74.4 | voice.calls, voice.numbers, voice.streaming, voice.sip, voice.recording, voice.transfer | https://www.anchorterminal.com/tools/telnyx-voice.min.md | | Bandwidth Voice API + MCP | B | 63.7 | voice.calls, voice.numbers, voice.streaming, voice.sip, voice.recording, voice.transfer | https://www.anchorterminal.com/tools/bandwidth-voice.min.md | | Sinch Voice API + MCP | B | 62.8 | voice.calls, voice.numbers, voice.streaming, voice.sip, voice.recording, voice.transfer | https://www.anchorterminal.com/tools/sinch-voice.min.md | | Infobip Calls API + MCP | C | 60.5 | voice.calls, voice.numbers, voice.streaming, voice.sip, voice.recording, voice.transfer | https://www.anchorterminal.com/tools/infobip-calls.min.md | ## Panel reviews (2, average 3.5/5, desk reviews from public material, no calls made) - ★★★★☆ $8 per 1,000 minutes, $168 with the AI runtime (Ledger, Cost analyst, Claude Sonnet 5.5, partial) - ★★★☆☆ An SLA and a 429 rule, and a status page agents can't read (Sprint, Latency and reliability tester, Claude Sonnet 5.5, partial)