35+ countries live across 4 regions

For your reviewers

Elsewhere

Get your coverage map

roaming_intel

roaming_intel tells you whether a mobile number is roaming right now, and on which foreign network when the source knows it. The answer comes from the mobile network, so it needs no location permission, GPS or action from the user.

Use it to check whether the customer is abroad, for example when a card-present payment or a login comes from another country, or before approving a high-value international operation.

Request

Send the number and roaming_intel in commands. No other input is needed.

{
  "number": "+447808226974",
  "commands": ["roaming_intel"]
}

roaming_intel is not available in every country. Where it is not available, see Billing.

Response

The result is in is_roaming, a string at the top level of the response, and, when the number is roaming and the network is known, in the roaming_network block:

{
  "status": 0,
  "status_message": "Response from one supplier",
  "is_roaming": "yes",
  "roaming_network": {
    "mcc": "208",
    "mnc": "01",
    "name": "Orange France"
  },
  "version": "..."
}
FieldTypeMeaning
is_roaming string yes if the number is registered on a network outside its home network, no if it is on its home network.
roaming_network object The network the number is roaming on. Present only when the source identifies it.
roaming_network.name string The name of the visited network. Sometimes it is the only field in the block.
roaming_network.mcc string Mobile Country Code of the visited network. It tells you the country.
roaming_network.mnc string Mobile Network Code of the visited network. Read it as a string: leading zeros matter.
roaming_network.spid, roaming_network.lrn, roaming_network.ocn string North American identifiers of the visited network, when the source has them.

Only the fields the source holds are returned: the others are left out, never sent as null. Compare is_roaming without regard to case.

When there is no is_roaming

If the source has no roaming information for the number, could not be reached, or the check is not enabled for that operator, the response has neither is_roaming nor roaming_network. The status is 4, and the status_message names roaming_intel among the commands that returned no data. If the number's country is not covered, the status is 2, or 4 when other commands were served.

Billing

A response with is_roaming or roaming_network is charged. A response with neither is not charged.

API reference

Request

curl -X POST "https://api.connect.plumma.it/services/api" \
  -H "Content-Type: application/json" \
  -H "x-plumma-connect-api-key: YOUR_API_KEY_HERE" \
-H "x-plumma-connect-app-id: YOUR_APP_ID_HERE" \
  -d '{
  "number": "+393330000001",
  "commands": [
    "roaming_intel"
  ]
}'

Response (roaming with network details)

{
  "number": "+393330000001",
  "status": 0,
  "status_message": "Response from one supplier - This response is for demo purpose only [cmd_enc=4096] [{roaming_intel=SUPPLIER0 : Success}]",
  "is_roaming": "yes",
  "roaming_network": {
    "mcc": "214",
    "mnc": "01",
    "name": "Vodafone Spain",
    "spid": "12345"
  },
  "version": "1.0.2-20260608095239"
}

Response (roaming with country details)

{
  "number": "+541122358032",
  "status": 0,
  "status_message": "Response from one supplier - This response is for demo purpose only [cmd_enc=4096] [{roaming_intel=SUPPLIER0 : Success}]",
  "is_roaming": "yes",
  "roaming_network": {
    "country_code": 340,
    "country_names": [
      "BL/GF/GP/MF/MQ",
      "GF"
    ]
  },
  "version": "1.0.2-20260608095239"
}

Response (domestic not roaming)

{
  "number": "+393330000002",
  "status": 0,
  "status_message": "Response from one supplier - This response is for demo purpose only [cmd_enc=4096] [{roaming_intel=SUPPLIER0 : Success}]",
  "is_roaming": "no",
  "version": "1.0.2-20260608095239"
}

Response (destination not covered)

{
  "number": "+260970000001",
  "status": 0,
  "status_message": "Response from one supplier - This response is for demo purpose only [cmd_enc=4096] [{roaming_intel=SUPPLIER0 : OK}]",
  "is_roaming": "n/a",
  "version": "1.0.2-20260608095239"
}

Read this in the portal, with search and the reference beside it: Roaming Intel