API Documentation

Global phone intelligence in one call — carrier, country, number type, formatting and timezones.

Authentication

Every request to /api/v1/lookup requires a bearer token. Generate one in your dashboard.

Authorization: Bearer nsk_live_XXXXXXXXXXXX

Endpoints

GET/api/v1/lookup?phone=+14155551234
POST/api/v1/lookup— body {"phone":"+1..."} or {"phones":["+1...",...]} (max 50)

Parameters

FieldTypeNotes
phonestringE.164 recommended. 6–20 digits.
phonesstring[]POST only. Up to 50.

Response

{
  "phone": "14155551234",
  "result": {
    "is_valid": true,
    "country_code": 1,
    "region_code": "US",
    "carrier": "AT&T",
    "location": "California",
    "number_type": "MOBILE",
    "formatted_international": "+1 415-555-1234",
    "formatted_national": "(415) 555-1234",
    "formatted_e164": "+14155551234",
    "time_zones": ["America/Los_Angeles"]
  }
}

Error codes

StatusCodeMeaning
400invalid_phonePhone number missing or malformed.
401unauthorized / invalid_keyMissing or unknown API key.
403key_disabled / key_expiredKey was revoked, disabled, or past its expiration date.
413batch_too_largeBatch exceeds 50 numbers.
429rate_limitedToo many requests. Slow down or upgrade.
500internal_errorSomething went wrong on our side.
502upstream_errorUpstream carrier database returned an error.
504upstream_timeoutUpstream took too long to respond.

Code samples

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://numscope.lovable.app/api/v1/lookup?phone=%2B14155551234"