Pricing and limits
Creating an order is free. You pay for connected talk time, texts and phone numbers, from your prepaid wallet.
What you pay for
| Item | Launch plan ($79/month) | Developer plan ($0/month) |
|---|---|---|
API request (POST /v1/orders, GET, trigger URL) | Free | Free |
| Connected AI call, per started minute | $0.25 | $0.15 |
| Unanswered, busy or voicemail-machine dial | Free | Free |
| Fallback text, per segment | $0.02 | $0.015 |
| Local phone number, per month | $3.00 | $3.00 |
| Included each month | 200 talk minutes | None: pay as you go |
Agency plans have their own rates and can resell to their clients at their own prices. See the pricing page.
How a call is billed
- Time starts when a person answers, not when the phone rings.
- Talk time is rounded up to whole minutes: a 2 minute 14 second call bills 3 minutes. The webhook shows
duration_seconds,billed_minutesandcharged_cents. - A voicemail machine is detected before the agent speaks and we hang up. You pay nothing for it.
- A call is cut off after 30 minutes.
- Each call and each text is charged once. A repeated event on our side can never charge you twice.
High-cost and blocked numbers
A few US areas cost far more to call. We check every number when the order is created:
| Area | What happens |
|---|---|
| Most of the US, including Hawaii and toll-free numbers | Standard rate. |
| Alaska and some rural exchanges | Accepted, with a surcharge of $0.10 per connected minute on top of your plan rate. It is included in charged_cents. After a voicemail machine answers, we retry at most once more. |
| A small set of very high-cost rural exchanges | Not called. POST /v1/orders returns 422 high_cost_destination. |
v1 calls US numbers only. Numbers outside +1 are refused with 400 unsupported_destination; other +1 countries are not supported in v1, so do not send them.
Wallet minimum
- To create an order your wallet needs at least $1.00. Otherwise:
402 insufficient_balance. - When a dial is about to start, we set aside the cost of 5 minutes at your rate (at least $1.00). If your wallet cannot cover it, the order waits in
QUEUEDand is dialled as soon as it can. Nothing is lost, but nothing rings either, so keep a balance or turn on auto-refill. - The set-aside amount is released when the call ends, and only the real talk time is charged.
Calling hours: 8am to 8pm, the lead's time
Every dial, every retry and every fallback text happens only between 8:00 and 20:00 in the lead's local time. This is checked on our side; you cannot turn it off.
- The time zone comes from the number's area code. If an area code spans two time zones, it must be 8am to 8pm in both.
- For a number whose area code places nowhere (for example toll-free), it must be 8am to 8pm in every US time zone at once: roughly 2pm to 8pm Eastern.
- An order created outside these hours is accepted and waits.
estimated_dial_secondstells you how long. - A retry that would fall outside the window is moved to the next morning. Waiting for the window never uses up an attempt.
- If no calling window can be found in the next 3 days, the order is refused with
400 unsupported_destination. - The window applies every day of the week. We do not skip weekends or public holidays; if your state or industry restricts those days, do not send orders then.
Do-not-contact list
Your workspace keeps a list of numbers that asked not to be contacted. A number is added when the person:
- says they do not want more calls (the agent marks it during the call), or
- replies STOP (or STOPALL, UNSUBSCRIBE, CANCEL, END, QUIT, REVOKE, OPTOUT) to a text.
Either one blocks both calls and texts to that number from your workspace. Replying START lifts a STOP, but never a "stop calling" said on a call.
- A new order to a listed number is refused with
409 do_not_contact. - Every dial and retry checks the list again, so an order already queued is stopped (it ends
FAILED). - If the list cannot be read, we refuse (
503 suppression_unavailable) or hold the dial. We never call when we cannot check.
Coming soon An API to add numbers to the list, check a number, and export the list.
Live-call limit
- Each workspace has at most 2 outbound calls ringing or talking at the same time, by default. Further orders wait in
QUEUEDand start as lines free up. The limit can be raised (up to 50) on request. - Calls people make to your numbers have their own limit (5 at once per workspace, by default).
- The dialer picks up due orders about once a minute, and right away when you create an order.
Request limits
| Endpoint | Limit |
|---|---|
POST /v1/orders | 120 requests per minute per workspace (429 rate_limited with Retry-After). Calls are also paced by the live-call limit above. |
GET /v1/orders, /v1/me, /v1/agents | 120 requests per minute per workspace, counted apart from order creation (429 rate_limited with Retry-After). |
| Trigger URL | 60 leads per minute per URL (429 rate_limited, Retry-After: 60). |
| Trigger URL body | 64 KB. |