Look up a number's network
const url = 'https://api.poweredbyaura.com/v1/number-lookups';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"phone_number":"+2348000000007"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.poweredbyaura.com/v1/number-lookups \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "phone_number": "+2348000000007" }'Returns the network a number is on today, taking number porting into account. You do not have to call
this before a purchase: if you leave out network_id when you buy, Aura looks the number up for you.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
The number in E.164 format.
Examples
{ "phone_number": "+2348000000007"}Responses
Section titled “Responses”The number’s network.
object
Whether the number has moved from the network its prefix belongs to.
Examples
A ported number
{ "object": "number_lookup", "phone_number": "+2348000000007", "network_id": "net_ng_b", "ported": true, "looked_up_at": "2026-10-12T09:14:29Z"}Headers
Section titled “Headers”Example
req_7Kp2Vx9QmR4tA unique ID for this request. Quote it when you contact your technical contact.
The request is malformed or a field is invalid. Fix it before retrying.
object
object
A stable, machine-readable code. New codes may be added in v1, so treat an unknown code by its HTTP
status and retryable flag.
A human-readable explanation. Do not parse it; use code.
The request field the error is about, when there is one.
Whether the same request can succeed if you retry it later.
Extra facts about the error, such as the existing purchase or the network’s status.
object
Examples
{ "error": { "code": "invalid_phone_number", "message": "phone_number must be in E.164 format, such as +2348000000001.", "param": "phone_number", "retryable": false, "request_id": "req_9Qd4Hs1XvB7n" }}Headers
Section titled “Headers”Example
req_7Kp2Vx9QmR4tA unique ID for this request. Quote it when you contact your technical contact.
The API key is missing, wrong or revoked.
object
object
A stable, machine-readable code. New codes may be added in v1, so treat an unknown code by its HTTP
status and retryable flag.
A human-readable explanation. Do not parse it; use code.
The request field the error is about, when there is one.
Whether the same request can succeed if you retry it later.
Extra facts about the error, such as the existing purchase or the network’s status.
object
Examples
{ "error": { "code": "invalid_api_key", "message": "The API key is not valid.", "retryable": false, "request_id": "req_2Mz6Rt8KcW1p" }}Headers
Section titled “Headers”Example
req_7Kp2Vx9QmR4tA unique ID for this request. Quote it when you contact your technical contact.
The request is well formed but cannot be carried out. Nothing was bought.
object
object
A stable, machine-readable code. New codes may be added in v1, so treat an unknown code by its HTTP
status and retryable flag.
A human-readable explanation. Do not parse it; use code.
The request field the error is about, when there is one.
Whether the same request can succeed if you retry it later.
Extra facts about the error, such as the existing purchase or the network’s status.
object
Examples
{ "error": { "code": "bundle_unavailable", "message": "Bundle bnd_ng_a_10gb_30d cannot be bought right now.", "param": "bundle_id", "retryable": false, "request_id": "req_4Np9Kx2ZsD6v" }}{ "error": { "code": "network_mismatch", "message": "+2348000000007 is on net_ng_b, but bundle bnd_ng_a_1gb_1d is for net_ng_a.", "param": "bundle_id", "retryable": false, "request_id": "req_1Hb7Vc4MtQ9r", "details": { "detected_network_id": "net_ng_b" } }}Headers
Section titled “Headers”Example
req_7Kp2Vx9QmR4tA unique ID for this request. Quote it when you contact your technical contact.
Too many requests. Wait for Retry-After seconds, then retry.
object
object
A stable, machine-readable code. New codes may be added in v1, so treat an unknown code by its HTTP
status and retryable flag.
A human-readable explanation. Do not parse it; use code.
The request field the error is about, when there is one.
Whether the same request can succeed if you retry it later.
Extra facts about the error, such as the existing purchase or the network’s status.
object
Examples
{ "error": { "code": "rate_limited", "message": "Too many requests. Retry after 2 seconds.", "retryable": true, "request_id": "req_6Yf2Pk8GwN4s" }}Headers
Section titled “Headers”Example
req_7Kp2Vx9QmR4tA unique ID for this request. Quote it when you contact your technical contact.
Seconds to wait before retrying.
Requests allowed in the current window.
Requests left in the current window.
Seconds until the current window resets.
© 2026 Aura Mobile Communications Ltd ·poweredbyaura.com ·Privacy ·Terms