A carrier lookup maps an address to the mobile operator that owns the range. Mobile traffic often leaves through a carrier gateway, so the address belongs to the operator rather than the handset. The result tells you which network the request came from and whether the address is mobile at all. A carrier lookup is a network fact, so it stays true while the session lasts.
What a carrier lookup returns
The response has an operator field with the label from the mobile range database. When the address is not in a mobile range, the value is undefined. That is a normal answer, not an error. A desktop connection or a data center address will usually return the same value.
curl "https://api2.globus.studio/v2/carrier?ip=8.8.8.8&format=json"
One label, not three fields
The contract returns the operator label from the database, including the country prefix. It does not split the label into carrier, network and country fields. A client that needs separate fields should parse the label once and store the parts it understands. A label that does not match the expected pattern should stay as it is.
Carrier-grade NAT
Mobile networks put many users behind one address. The address identifies the gateway, not the handset. Two requests from the same address can come from different people in different cities. Treat the carrier result as a property of the network path, and do not bind a session to a mobile address without a fallback.
Roaming and VPNs
A roaming phone can appear on a visited network. A VPN on a phone can hide the carrier entirely. A carrier lookup reports the network that owns the address, which may be neither the home carrier nor the user country. A missing operator is a normal result, and a mismatch is context rather than proof of fraud.
When to use it
A storefront can offer carrier billing only when the network supports it. A fraud check can treat a mobile address differently from a data center address. A support tool can route a request to the right team when a user cannot read a verification code.
A carrier lookup runs after the user enters a phone number, not on every page view. Cache the result for the session. If the operator is unknown, hide the billing option instead of showing a method that will fail.
Carrier billing and the phone number
Carrier billing needs an eligible number and an operator that supports the flow. The IP address is a hint about the network, not a check of the number. Ask the payment provider whether the number can be charged, and use the carrier lookup to decide whether to show the option at all.
If the lookup returns an operator, show the option and let the provider confirm. If it returns undefined, hide the option and keep the card form. A failed carrier charge costs a support ticket and a lost order, while a hidden option costs nothing.
How the mobile ranges are maintained
A carrier lookup depends on a current list of mobile ranges. Allocations move between operators, new blocks appear and old blocks stay in use longer than a spreadsheet suggests. The service keeps a local list and refreshes it on a schedule, so a result describes the range as the list knows it today.
A carrier lookup that returns undefined for a known mobile address usually means the range is new or the operator is small. Report that case with the address and the date, and check again after the next refresh. Do not treat one missing range as a reason to drop the check.
IPv4 and IPv6
Mobile networks assign IPv6 addresses, and a carrier lookup can return undefined for an IPv6 block that the list does not cover yet. Test both families before a launch. If the IPv6 answer is missing, fall back to the IPv4 result for the same user when one is available. A carrier lookup is a signal, so a gap should hide an option, not break a page.
Rate limits and caching
The endpoint is fast and rate limited. A carrier lookup result changes slowly for one address, so cache it for the session or for a day. A cached answer keeps the checkout fast and reduces the chance that a rate limit hides the option from a real customer.
A support example
A customer cannot receive a verification code. A carrier lookup shows a mobile network, and the support team can route the case to the provider that handles that network. If the lookup returns undefined, the address is not in a mobile range, and the team checks the number and the device instead. The carrier lookup does not read the code; it only narrows the path.
Data and limits
The carrier lookup database covers the major mobile ranges that the service can identify, and it is the same source behind the carrier lookup in the guide. Smaller operators and new allocations may be missing. The endpoint is fast and rate limited like the other cheap calls. Cache the result per address for a day if you call it often.
A carrier lookup fits a slow-changing decision. Do not call it for every asset on a page, and do not treat a missing operator as a reason to block a login. Use the result where the network changes the offer, such as carrier billing or a country default, and keep the card path open.
The limit is there to keep the endpoint fast for everyone. A carrier lookup that runs once per session is cheap; a carrier lookup on every image request is not. Treat the check as a step in a flow, not as a filter on a loop.
Related endpoints
A carrier lookup answers a narrower question than geolocation: which network owns the address, not where the person is. For a country or a city, use the IP geolocation API. For a bot or a data center, start with IP bot detection. The carrier lookup guide covers signup flows and roaming.
Further reading: ITU-T E.212 mobile network codes.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
ip |
string | yes | IPv4 or IPv6 address. |
format |
string | no | plain or json. Default: plain. |
Example request
curl -s "https://api2.globus.studio/v2/carrier"