---
name: "phone_search_numbers"
area: "phone"
title: "Find a phone number"
price: "free"
method: "POST"
url: "https://api.conecto.chat/v1/tools/phone_search_numbers"
mcp_server: "https://api.conecto.chat/mcp/phone"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/phone/phone_search_numbers"
---

# Find a phone number (`phone_search_numbers`)

Phone numbers the business can rent right now, each with the monthly price and a quote to rent it.

Numbers the business can rent right now, with the monthly price. Rent one by passing its quote to phone_rent_number (quotes last 30 minutes). Bots can rent numbers where the carrier needs no identity documents and answering a call costs less than the $0.25 a minute charged, which includes the US and Canada; for other countries this says why not.

Price: Free up to 1,000,000 reads a month for the whole account, then $0.50 per 10,000 reads. A call that fails costs nothing.

## Use it when

The business wants its own number; pass a quote from the reply to phone_rent_number.

## Say this to your agent

> Find us a Portland number, area code 503, to forward the shop's line to.

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `country` | string | no | Two-letter country code, e.g. US or CA. Matches ^[A-Za-z]{2}$. |  | `"US"` |
| `type` | string | no |  | `"local"`, `"mobile"` | `"local"` |
| `area_code` | string | no | Digits the number should start with after the country code, e.g. 503. Matches ^[0-9]{2,6}$. |  |  |
| `city` | string | no | A city the local number should belong to. Up to 80 characters. |  |  |

## Example

Written for Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon.

MCP: call `phone_search_numbers` on the MCP server `https://api.conecto.chat/mcp/phone` with these arguments:

```json
{
  "country": "US",
  "area_code": "503"
}
```

REST:

```bash
curl https://api.conecto.chat/v1/tools/phone_search_numbers \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country": "US", "area_code": "503"}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "phone_search_numbers",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.00",
  "balance_usd": "$19.75",
  "result": {
    "country": "US",
    "type": "local",
    "monthly_usd": "$2.00",
    "per_minute_usd": "$0.25",
    "numbers": [
      {
        "number": "+15035550123",
        "locality": "Portland",
        "region": "OR",
        "quote": ".eJwtjUEKwyAQRe8y24aiCW48RaF0LWkUIjWOTMYUKb17J9LZfP5_D-YDjJjAQlkxB0chs8t1ewaCAd5Ir73MSwCrB_jPFi7aqMkYo_Q4ibVgzUxNwOMulVsRHxIuc5LaM_KJb0ic5uxlLYRH9IHchpnX1FzdvRj6qk2n8fw5qn7fHzzENEc:1xHLlE:WAXCgrxIOtc5vCHoOTW-b_R7TrUUfEBMtUXkgFimLts"
      },
      {
        "number": "+15035550124",
        "locality": "Portland",
        "region": "OR",
        "quote": ".eJwtjUEKwyAQRe8y24aiad14ikLpWqwKkRpHJpOUUHr3TqSz-fz_HswHGLGAhTZhTY5SZVfX-ZkIBngjvZbmQwKrB_jPFk7aqIsxRunxKlbAtTLtAh53qbw38aFg8EVqz8wHviFx8TXK2gi3HBO5GStPZXfrEsXQZ206zcfPUfX7_gA9KTRI:1xHLlE:jTesquZW-YB25KuLDg3OtXNvH2DeVn19iyHA0UwqiPg"
      }
    ],
    "available": true,
    "message": null
  }
}
```

`result`: The country and type, the monthly and per-minute prices, available, and the numbers with their locality, region and a quote that lasts 30 minutes. For a country whose numbers need identity documents: needs_documents: true, no numbers and a message saying so; calls_too_costly: true where answering a call costs more than the per-minute price covers.

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `no_numbers` | 404 | The carrier has no numbers of that type there right now, or does not serve the country. | Try without area_code, with a city, or with type mobile. |
| `phone_unavailable` | 503 | The phone service is not switched on yet, or has no voices right now. | Try again later; nothing was charged. |

The refusals every tool can give (401 key, 402 balance, 429 limits) are on the errors page: https://conecto.chat/docs/errors.md

## Related

- [phone_rent_number](https://conecto.chat/tools/phone/phone_rent_number.md): Rents a number found by phone_search_numbers; this call pays the first month. Quoted, up to $25.00.
- [phone_setup_assistant](https://conecto.chat/tools/phone/phone_setup_assistant.md): Sets how the business's numbers answer (the agent's webhook or taking messages), the greeting, voice and hours, and whether messages become tickets. $0.001 a call.
- [phone_get_assistant](https://conecto.chat/tools/phone/phone_get_assistant.md): How the business's numbers answer, whether they answer right now (and why not), and the voices to choose from. Free up to 1,000,000 reads a month.
- [phone_list_numbers](https://conecto.chat/tools/phone/phone_list_numbers.md): The numbers the business rents, with their monthly price and next renewal. Free up to 1,000,000 reads a month.
- [phone_list_calls](https://conecto.chat/tools/phone/phone_list_calls.md): Calls to and from the business's numbers, newest first: who, when, how long and what it cost, missed ones included. Free up to 1,000,000 reads a month.
- [phone_get_call](https://conecto.chat/tools/phone/phone_get_call.md): One call with its whole transcript: who said what, and when. Free up to 1,000,000 reads a month.
- [phone_release_number](https://conecto.chat/tools/phone/phone_release_number.md): Gives a number back for good: it stops answering at once and its rent ends. Free.
