Docs
Phone numbers

Search numbers to buy

GEThttps://api.norreach.app/v1/phone-numbers/available

Numbers on sale now in a country (ISO alpha-2) of a type (local, mobile, tollfree), optionally containing some digits, in an area code, a city or (US / Canada) a state, and able to do sms, voice or mms. Up to 20 at a time, with the monthly price in minor units when the listing says. Some countries need a business verification first (GET /number-verifications/requirements). Buying is POST /phone-numbers.

numbers:readOperation id: search_available_numbers
GET/phone-numbers/available
curl -X GET "https://api.norreach.app/v1/phone-numbers/available" \
  -H "Authorization: Bearer $NORREACH_API_KEY"
Search numbers to buy
{
  "object": "list",
  "data": [
    {
      "object": "available_number",
      "number": "+46812345679",
      "country": "SE",
      "type": "local",
      "locality": "Stockholm",
      "region": null,
      "capabilities": {
        "voice": true,
        "sms": true,
        "mms": false
      },
      "monthly_price": {
        "amount_minor": 300,
        "currency": "USD"
      },
      "upfront_price": null
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Authorizations

Authorizationstringheaderrequired

Bearer authentication: send Authorization: Bearer <key>, with an API key or an OAuth access token. The key needs the scope numbers:read. API keys and scopes

Query parameters

countrystringqueryrequired

ISO 3166-1 alpha-2, e.g. SE.

typeenumquery
One of:localmobiletollfree
containsstringquery

Digits the number should contain.

area_codestringquery
localitystringquery

A city.

regionstringquery

A state or province (US and Canada only).

smsenumquery
One of:truefalse
voiceenumquery
One of:truefalse
mmsenumquery
One of:truefalse

Response

200application/json— Search numbers to buy

object"list"required
dataobject[]required
Show child attributes
data[].object"available_number"required
data[].numberstringrequired

E.164 — pass it to POST /phone-numbers.

data[].countrystringrequired
data[].typeenumrequired
One of:localmobiletollfree
data[].localitystring | nullrequired
data[].regionstring | nullrequired
data[].capabilitiesobjectrequired
Show child attributes
data[].capabilities.voicebooleanrequired
data[].capabilities.smsbooleanrequired
data[].capabilities.mmsbooleanrequired
data[].monthly_priceobject | nullrequired

What the number costs per month, when the listing says (rounded up to the currency's minor unit).

data[].upfront_priceobject | nullrequired

A one-time cost at purchase, when there is one.

has_morebooleanrequired
next_cursorstring | nullrequired

Errors

Errors are application/problem+json with a stable code.

StatusCodeMeaning
400bad_requestThe request couldn't be read.
400unknown_fieldThe request has a field this operation doesn't know.
401unauthorizedA valid API key is required.
403insufficient_scopeThis API key doesn't have the scope this operation needs.
403feature_not_enabledThe API isn't switched on for this workspace.
422validation_failedThe request has invalid fields.
429rate_limitedToo many requests. Slow down and try again.
500server_errorSomething went wrong on our side.
503unavailableThe API isn't available right now. Try again shortly.