Airtime
Search…
Auto-detect an operator
With the /operators/auto-detect/phone/{phone}/countries/{iso} endpoint, a user can retrieve the operator details of a mobile number and the ISO code of the country where the mobile number is registered
get
https://topups.reloadly.com
/operators/auto-detect/phone/{phone}/countries/{countryisocode}
Auto-detect operator
Do note that due to the regional differences across Indian operators, the Auto-detect endpoint is a PAID service for mobile numbers registered in India. This service costs 0.0013 USD per API call involving mobile numbers registered in India only. If you have any questions, you can always reach out to us via our developer community

Request samples

cURL
C#
Golang
Java
Node JS
PHP
Python
1
curl --location --request GET 'https://topups.reloadly.com/operators/auto-detect/phone/03238482221/countries/PK?suggestedAmountsMap=true&SuggestedAmounts=true' \
2
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN_HERE' \
3
--header 'Accept: application/com.reloadly.topups-v1+json'
Copied!
1
using System;
2
using System.Threading.Tasks;
3
using System.Net.Http;
4
using System.Text;
5
using Newtonsoft.Json;
6
7
namespace WebAPIClient {
8
class Program {
9
10
static async Task Main(string[] args) {
11
await ApiCall();
12
}
13
14
private static async Task ApiCall() {
15
16
var message = new HttpRequestMessage(HttpMethod.Get, "https://topups.reloadly.com/operators/auto-detect/phone/03238482221/countries/PK?suggestedAmountsMap=true&SuggestedAmounts=true");
17
18
message.Headers.TryAddWithoutValidation("Authorization", "Bearer YOUR_ACCESS_TOKEN_HERE");
19
message.Headers.TryAddWithoutValidation("Accept", "application/com.reloadly.topups-v1+json");
20
21
using
22
var httpClient = new HttpClient();
23
var response = await httpClient.SendAsync(message);
24
var responseBody = await response.Content.ReadAsStringAsync();
25
var result = JsonConvert.DeserializeObject < dynamic > (responseBody);
26
27
Console.WriteLine(result);
28
}
29
30
}
31
}
Copied!
1
package main
2
3
import (
4
"fmt"
5
"net/http"
6
"io/ioutil"
7
)
8
9
func main() {
10
11
url := "https://topups.reloadly.com/operators/auto-detect/phone/03238482221/countries/PK?suggestedAmountsMap=true&SuggestedAmounts=true"
12
method := "GET"
13
14
client := &http.Client {
15
}
16
req, err := http.NewRequest(method, url, nil)
17
18
if err != nil {
19
fmt.Println(err)
20
return
21
}
22
req.Header.Add("Authorization", "Bearer YOUR_ACCESS_TOKEN_HERE")
23
req.Header.Add("Accept", "application/com.reloadly.topups-v1+json")
24
25
res, err := client.Do(req)
26
if err != nil {
27
fmt.Println(err)
28
return
29
}
30
defer res.Body.Close()
31
32
body, err := ioutil.ReadAll(res.Body)
33
if err != nil {
34
fmt.Println(err)
35
return
36
}
37
fmt.Println(string(body))
38
}
Copied!
1
OkHttpClient client = new OkHttpClient().newBuilder()
2
.build();
3
Request request = new Request.Builder()
4
.url("https://topups.reloadly.com/operators/auto-detect/phone/03238482221/countries/PK?suggestedAmountsMap=true&SuggestedAmounts=true")
5
.method("GET", null)
6
.addHeader("Authorization", "Bearer YOUR_ACCESS_TOKEN_HERE")
7
.addHeader("Accept", "application/com.reloadly.topups-v1+json")
8
.build();
9
Response response = client.newCall(request).execute();
Copied!
1
var request = require('request');
2
var options = {
3
'method': 'GET',
4
'url': 'https://topups.reloadly.com/operators/auto-detect/phone/03238482221/countries/PK?suggestedAmountsMap=true&SuggestedAmounts=true',
5
'headers': {
6
'Authorization': 'Bearer YOUR_ACCESS_TOKEN_HERE',
7
'Accept': 'application/com.reloadly.topups-v1+json'
8
}
9
};
10
request(options, function (error, response) {
11
if (error) throw new Error(error);
12
console.log(response.body);
13
});
Copied!
1
<?php
2
3
$curl = curl_init();
4
5
curl_setopt_array($curl, array(
6
CURLOPT_URL => 'https://topups.reloadly.com/operators/auto-detect/phone/03238482221/countries/PK?suggestedAmountsMap=true&SuggestedAmounts=true',
7
CURLOPT_RETURNTRANSFER => true,
8
CURLOPT_ENCODING => '',
9
CURLOPT_MAXREDIRS => 10,
10
CURLOPT_TIMEOUT => 0,
11
CURLOPT_FOLLOWLOCATION => true,
12
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
13
CURLOPT_CUSTOMREQUEST => 'GET',
14
CURLOPT_HTTPHEADER => array(
15
'Authorization: Bearer YOUR_ACCESS_TOKEN_HERE',
16
'Accept: application/com.reloadly.topups-v1+json'
17
),
18
));
19
20
$response = curl_exec($curl);
21
22
curl_close($curl);
23
echo $response;
Copied!
1
import requests
2
import json
3
4
url = "https://topups.reloadly.com/operators/auto-detect/phone/03238482221/countries/PK?suggestedAmountsMap=true&SuggestedAmounts=true"
5
6
payload={}
7
headers = {
8
'Authorization': 'Bearer YOUR_ACCESS_TOKEN_HERE',
9
'Accept': 'application/com.reloadly.topups-v1+json'
10
}
11
12
response = requests.request("GET", url, headers=headers, data=payload)
13
14
print(response.text)
Copied!

Response parameters

Parameter
Type
Description
id/operatorId
integer
This indicates the operator's ID
name
string
The operator's name
bundle
boolean
Indicates if the operator has any existing bundle plans
data
boolean
Indicates if the operator has any existing data plans
pin
boolean
Indicates if the operator supports PIN transactions
supportsLocal
Amounts
boolean
Indicates if the operator can make top-ups in local amounts
denominationType
string
Indicates if the operator makes top-ups through a fixed amount or a range of amounts. Options include FIXED and RANGE
senderCurrencyCode
string
Indicates the currency code of the account where the top-up is being made from
senderCurrency
Symbol
string
Indicates the currency symbol of the account where the top-up is being made from
destination
CurrencyCode
string
Indicates the currency code of the mobile number where the top-up is being sent to
destination
CurrencySymbol
string
Indicates the currency symbol of the mobile number where the top-up is being sent to
commission
integer
Indicates if the operator offers a commission or discount
international
Discount
integer
Indicates if the operator offers a discount for top-ups made to foreign numbers
localDiscount
integer
Indicates if the operator offers a discount for top-ups made to local numbers
mostPopularAmount
integer
Indicates the amount that is often used to make a top-up
mostPopular
LocalAmount
integer
Indicates the amount that is often used to make a top-up locally
minAmount
integer
Indicates the minimum amount that can be used to make a top-up
maxAmount
integer
Indicates the maximum amount that can be used to make a top-up
localMinAmount
integer
Indicates the minimum amount that can be used to make a top-up locally
localMaxAmount
integer
Indicates the maximum amount that can be used to make a top-up locally
isoName
string
Indicates the country's ISO code
name
string
Indicates the country's name
rate
integer
Indicates the FX rate at which the top-up will be made
currencyCode
string
Indicates the code of the currency at which the top-up will be made
logoURLs
string
These are links to SVG images of the operator's logos
fixedAmounts
integer
Indicates the fixed amounts that a top-up can be made in with the operator
fixedAmounts
Description
string
Indicates the descriptions for the operator's fixed amounts
localFixedAmounts
integer
Indicates the local fixed amounts that a top-up can be made in with the operator
localFixedAmounts
Description
string
Indicates the descriptions for the operator's local fixed amounts
suggestedAmounts
integer
Indicates the suggested amounts that can be used to make a top-up with the operator
suggestedAmounts
Map
string
Indicates the suggested amounts that can be mapped through
promotions
string
Indicates the promotions currently offered by the operator
Last modified 7d ago