Skip to content

MNP Lookup (GET)

The Reloadly Node SDK allows you to perform a Mobile Number Portability (MNP) lookup to retrieve details about a mobile number, including its current operator.

Authentication and token refresh are handled automatically by the SDK.

Path Parameters

ParameterTypeRequiredDescriptionExample
phoneNumberYesThe mobile number whose details are to be retrieved.8147658721
countryCodeStringYesThe ISO code of the country where the mobile number is registered.NG

Query Parameters

ParameterTypeDescriptionDefaultExample
suggestedAmountsMapBooleanIndicates if this field should be returned in the response.falsefalse
suggestedAmountsBooleanIndicates if this field should be returned in the response.falsefalse

Example with Error Handling

ts
import { Reloadly, ReloadlyAPIError } from 'reloadly-node';

const reloadlySDK = new Reloadly({
  clientId: process.env.RELOADLY_CLIENT_ID!,
  clientSecret: process.env.RELOADLY_CLIENT_SECRET!,
  environment: 'sandbox', // or "production"
});

async function main() {
  try {
    const mnpLookupGET = await reloadlySDK.airtime.mnpLookupGET({
      path: {
        countryCode: 'NG',
        phone: 8147658721,
      },
      query: {
        suggestedAmountsMap: false,
        suggestedAmounts: false,
      },
    });

    console.log('MNP Lookup result:', mnpLookupGET);
  } catch (error) {
    if (error instanceof ReloadlyAPIError) {
      console.error('Reloadly API Error:', error.message);
      console.error('Error details:', error.data);
    } else {
      console.error('Unexpected error:', error);
    }
  }
}

Response Example

json
{
  "id": 88,
  "operatorId": 88,
  "name": "Movistar Colombia",
  "bundle": false,
  "data": false,
  "comboProduct": false,
  "pin": false,
  "supportsLocalAmounts": false,
  "denominationType": "RANGE",
  "senderCurrencyCode": "USD",
  "senderCurrencySymbol": "$",
  "destinationCurrencyCode": "COP",
  "destinationCurrencySymbol": "$",
  "commission": 4.42,
  "internationalDiscount": 4.42,
  "localDiscount": 0,
  "mostPopularAmount": null,
  "minAmount": 5,
  "maxAmount": 5,
  "localMinAmount": null,
  "localMaxAmount": null,
  "country": {
    "isoName": "CO",
    "name": "Colombia"
  },
  "fx": {
    "rate": 2192.1867,
    "currencyCode": "COP"
  },
  "logoUrls": [
    "https://s3.amazonaws.com/rld-operator/3f4a8bcd3268-size-1.png",
    "https://s3.amazonaws.com/rld-operator/3f4a8bcd3268-size-2.png",
    "https://s3.amazonaws.com/rld-operator/3f4a8bcd3268-size-3.png"
  ],
  "fixedAmounts": [],
  "fixedAmountsDescriptions": [],
  "localFixedAmounts": [],
  "localFixedAmountsDescriptions": [],
  "suggestedAmounts": [7, 10, 15],
  "suggestedAmountsMap": {
    "7": 19482.51,
    "10": 27832.16,
    "15": 41748.23
  },
  "promotions": []
}

Notes

  • Works for both sandbox and production environments.
  • Path parameters phone and countryCode are required to identify the mobile number and its country.
  • Query parameters suggestedAmountsMap and suggestedAmounts are optional and default to false.
  • The response provides details such as operator ID, operator name, and whether the number has been ported.
  • Enabling suggestedAmounts or suggestedAmountsMap will include available recharge amounts or mappings in the response.
  • Token creation, storage, and automatic refresh are handled by the SDK.
  • The SDK automatically applies the correct Accept headers required for Airtime requests.
  • Error handling with ReloadlyAPIError ensures you can capture API-specific issues and unexpected runtime errors.
  • Useful for validating recipient numbers, determining the correct operator, and ensuring accurate top-ups.