Инструкция
Всё, что нужно, чтобы получить профиль: как передать ключ, какие параметры существуют, какие значения они принимают и что делать с ошибками. Общее описание сервиса — на странице «О сервисе».
Быстрый старт
Один GET-запрос, ключ в заголовке — и в ответе профиль целиком.
Никаких предварительных вызовов, сессий и токенов.
curl -H "X-Api-Key: ВАШ_КЛЮЧ" \
"https://androidsystem.westernadv.ru/?getDev=samsung&getCountry=russia"
Всё остальное необязательно. Минимальный работающий запрос — только ключ: бренд, страна и оператор тогда выбираются случайно.
curl -H "X-Api-Key: ВАШ_КЛЮЧ" "https://androidsystem.westernadv.ru/"
Как передать ключ
Два способа, оба рабочие. Заголовок предпочтительнее: ключ, переданный в адресе, оседает в логах веб-сервера, в реферере и в истории прокси — то есть в местах, доступных шире, чем сам сервис.
# рекомендуемый способ
X-Api-Key: ВАШ_КЛЮЧ
# работает для совместимости
https://androidsystem.westernadv.ru/?key=ВАШ_КЛЮЧ
Если заданы оба, приоритет у заголовка. Передавайте ключ ровно так, как он
выдан: в параметре key лишние пробелы по краям значимы и дают
Invalid API key — в заголовке они срезаются.
Параметры запроса
Все параметры необязательны и передаются в строке запроса. Неизвестные параметры игнорируются.
| Параметр | По умолчанию | Значения |
|---|---|---|
getDev |
rnd |
Бренд устройства из списка ниже, строчными
буквами: samsung, xiaomi,
oppo. rnd — любой бренд.
Неизвестный бренд даёт 404. |
getMod |
не задан | Код конкретной модели. Работает самостоятельно, указывать
вместе с getDev не нужно. Коды выдаются по
запросу: нужна определённая модель из
списка устройств —
напишите.
Неизвестная модель даёт 404. |
getCountry |
случайная | Страна из списка ниже, строчными
буквами и по-английски: russia,
uk, czech. Определяет оператора,
номер, координаты, часовой пояс и язык. |
getCpu |
4 |
Число ядер. Можно диапазоном: getCpu=4-8 — значение
выбирается случайно внутри него. |
getRam |
4 |
В гигабайтах, диапазон тоже допустим:
getRam=4-8. В ответе значение приходит
в мегабайтах: 4 → 4096. |
getScrW |
720 |
Ширина экрана в пикселях. Диапазоны здесь не поддерживаются. |
getScrH |
1280 |
Высота экрана в пикселях. |
getDpi |
240 |
Плотность экрана. |
getLanguage |
по стране | Локаль вида ru-RU. Передаётся в ответ как есть, без
проверки. Если не задан — берётся локаль указанной страны, а
при неизвестной стране en-US. |
Числовые параметры не проверяются.
getCpu=abc не вызовет ошибку — в профиль уйдёт
CPU: 0. Передавайте целые числа либо диапазон
N-M из двух целых чисел.
Чего выбрать нельзя
- Оператора. Он выбирается случайно среди операторов указанной страны. Управлять можно только страной.
- Город. Координаты задаются страной; выбрать конкретный регион внутри неё параметром нельзя.
- Название Wi-Fi-сети. Берётся случайно из общего списка и со страной не связано.
- Количество профилей за запрос. Один вызов — один профиль. Нужно сто — сто вызовов.
Страны
Значение для getCountry — из списка ниже. Именно оно
определяет оператора, префикс номера телефона, координаты, часовой
пояс и язык профиля.
Всего 25 стран.
argentinaaustraliaaustriabelgiumbrazilcanadaczechfrancegermanyindiaindonesiairelanditalyjapankazakhstanmexiconetherlandspolandromaniarussiaspainswedenukukraineusa
Страны вне списка не поддерживаются. Запрос с чужим
значением getCountry вернёт
500
Failed to generate IMSI, а не пустой профиль. Нужна
страна, которой здесь нет, — напишите, справочники пополняются.
Операторы
Оператор выбирается случайно среди операторов указанной страны — задать его
параметром нельзя. Здесь видно, какие операторы могут достаться профилю
при том или ином значении getCountry.
Всего 90 операторов.
| Страна | Оператор |
|---|---|
argentina |
claro |
argentina |
movistar |
argentina |
personal |
argentina |
tuenti |
australia |
optus |
australia |
telstra |
australia |
tpg |
australia |
vodafone |
austria |
a1 |
austria |
magenta |
austria |
three |
belgium |
base |
belgium |
orange |
belgium |
proximus |
brazil |
claro |
brazil |
oi |
brazil |
tim |
brazil |
vivo |
canada |
bell |
canada |
freedom |
canada |
rogers |
canada |
telus |
czech |
o2 |
czech |
tmobile |
czech |
vodafone |
france |
bouygues |
france |
orange |
france |
sfr |
germany |
o2 |
germany |
telekom |
germany |
vodafone |
india |
airtel |
india |
bsnl |
india |
jio |
india |
vi |
indonesia |
indosat |
indonesia |
smartfren |
indonesia |
telkomsel |
indonesia |
tri |
indonesia |
xl |
ireland |
meteor |
ireland |
three |
ireland |
vodafone |
italy |
tim |
italy |
vodafone |
italy |
windtre |
japan |
au |
japan |
docomo |
japan |
rakuten |
japan |
softbank |
kazakhstan |
altel |
kazakhstan |
beeline |
kazakhstan |
kcell |
kazakhstan |
tele2 |
mexico |
altan |
mexico |
att |
mexico |
movistar |
mexico |
telcel |
netherlands |
kpn |
netherlands |
tmobile |
netherlands |
vodafone |
poland |
orange |
poland |
play |
poland |
plus |
poland |
tmobile |
romania |
digi |
romania |
orange |
romania |
vodafone |
russia |
beeline |
russia |
megafon |
russia |
mts |
russia |
tele2 |
spain |
movistar |
spain |
orange |
spain |
vodafone |
sweden |
3 |
sweden |
tele2 |
sweden |
telenor |
sweden |
telia |
uk |
ee |
uk |
o2 |
uk |
three |
uk |
vodafone |
ukraine |
kyivstar |
ukraine |
lifecell |
ukraine |
vodafone |
usa |
att |
usa |
tmobile |
usa |
uscellular |
usa |
verizon |
Устройства
Раскройте бренд, чтобы увидеть его модели. Название бренда в заголовке
блока — это значение для getDev.
Всего 250 моделей от 18 производителей.
asus
— 3 модели
- ROG Phone 7
- Zenfone 10
- Zenfone 9
google
— 14 моделей
- Pixel 4a 5G
- Pixel 5
- Pixel 6
- Pixel 6 Pro
- Pixel 6a
- Pixel 7
- Pixel 7 Pro
- Pixel 7a
- Pixel 8
- Pixel 8 Pro
- Pixel 8a
- Pixel 9
- Pixel 9 Pro
- Pixel 9 Pro XL
honor
— 8 моделей
- 200 5G
- 70 5G
- 90 5G
- Magic5 Lite 5G
- Magic6 Pro
- X7a
- X8a
- X9a 5G
infinix
— 5 моделей
- Hot 30
- Note 30
- Note 40
- Smart 8
- Zero 30 5G
lg
— 22 модели
- D820 Nexus 5
- G4 Beat
- G5 H850
- G6
- G6+
- G7 ThinQ
- G8 ThinQ
- G8s ThinQ
- G8X ThinQ
- K71
- K92 5G
- Q6
- Stylo 5
- V20
- V30
- V30+
- V40 ThinQ
- V50 ThinQ
- V510N
- V60 ThinQ 5G
- Velvet
- Wing
motorola
— 10 моделей
- Edge 40
- Edge 40 Neo
- Edge 50 Pro
- Moto E13
- Moto G Power 5G
- Moto G34 5G
- Moto G54 5G
- Moto G73 5G
- Moto G84 5G
- Razr 40 Ultra
nothing
— 3 модели
- Phone (1)
- Phone (2)
- Phone (2a)
oneplus
— 8 моделей
- 10 Pro 5G
- 11 5G
- 12
- 12R
- 9 Pro
- Nord 2T 5G
- Nord 3 5G
- Nord CE 3 Lite 5G
oppo
— 30 моделей
- A12
- A15
- A16
- A17
- A18
- A3
- A31C
- A38
- A5 2020
- A53 5G
- A54 5G
- A57
- A58 4G
- A5s
- A60
- A77s
- A78
- A79 5G
- A98 5G
- F9
- Find N2 Flip
- Find X6 Pro
- Find X7 Ultra
- Reno10
- Reno10 Pro
- Reno10 Pro+
- Reno11 5G
- Reno11 F 5G
- Reno8 T 4G
- Reno9 A
poco
— 8 моделей
- C65
- F4
- F5 Pro
- F6
- M6 Pro
- X5 5G
- X6
- X6 Pro
realme
— 10 моделей
- 10
- 11 Pro 5G
- 11 Pro+ 5G
- 12 Pro 5G
- 12 Pro+ 5G
- 9i
- C53
- C55
- GT Neo 5
- narzo 60 5G
redmi
— 14 моделей
- 10
- 10 Prime 2022
- 12
- 12 5G
- 12C
- 13C
- 14C 5G
- A2+
- Note 10 Pro
- Note 12 Pro+
- Note 13
- Note 13 Pro
- Note 13 Pro+ 5G
- Note 9 Pro
samsung
— 34 модели
- Galaxy A05s
- Galaxy A12
- Galaxy A14 5G
- Galaxy A15
- Galaxy A23
- Galaxy A25 5G
- Galaxy A34
- Galaxy A35 5G
- Galaxy A54
- Galaxy A55 5G
- Galaxy A73 5G
- Galaxy M14 5G
- Galaxy M34 5G
- Galaxy Note20 Ultra 5G
- Galaxy S10
- Galaxy S10 Exynos
- Galaxy S20 FE 5G
- Galaxy S21
- Galaxy S21 FE 5G
- Galaxy S21 Ultra 5G
- Galaxy S22 5G
- Galaxy S22 Ultra 5G
- Galaxy S23
- Galaxy S23 FE
- Galaxy S23 Ultra
- Galaxy S23+
- Galaxy S24
- Galaxy S24 Ultra
- Galaxy S24+
- Galaxy S25
- Galaxy S25 Ultra
- Galaxy S25+
- Galaxy Z Flip5
- Galaxy Z Fold5
sharp
— 3 модели
- AQUOS R8 pro
- AQUOS sense8
- AQUOS wish3
sony
— 23 модели
- Xperia 1
- Xperia 1 II
- Xperia 1 III
- Xperia 1 IV
- Xperia 10 II
- Xperia 10 III
- Xperia 10 IV
- Xperia 5
- Xperia 5 II
- Xperia 5 III
- Xperia 5 IV
- Xperia 5 V
- Xperia L1 Dual G3312
- Xperia Pro-I
- Xperia XA1
- Xperia XA2
- Xperia XZ Premium
- Xperia XZ1 F8341
- Xperia XZ2
- Xperia XZ2 Compact
- Xperia XZ3
- Xperia Z C6602
- Xperia Z5
tecno
— 5 моделей
- Camon 20 Pro
- Camon 30
- Pova 5
- Spark 10 Pro
- Spark 20
vivo
— 30 моделей
- iQOO Neo 7 Pro
- iQOO Z7 Pro
- S1
- S1 Pro
- V20
- V27
- V27 Pro
- V27e
- V29
- V29 Pro
- V29e
- V30
- V30 Pro
- V40 SE
- X100
- Y100
- Y11
- Y12
- Y15 2019
- Y16
- Y17
- Y17S
- Y20
- Y21
- Y27
- Y28s 5G
- Y33s
- Y36 5G
- Y53i
- Y91
xiaomi
— 20 моделей
- 12 Pro
- 12T
- 13 Pro
- 13T
- 13T Pro
- Mi Note 10
- Note 12
- Poco X3 Pro
- Poco X5 Pro
- Redmi Note 11E Pro
- Redmi Note 8
- Redmi Note 8 Pro
- Xiaomi 11 Lite 5G NE
- Xiaomi 11T Pro
- Xiaomi 12 Lite
- Xiaomi 13
- Xiaomi 13 Lite
- Xiaomi 14
- Xiaomi 14 Ultra
- Xiaomi 14T Pro
Модель и страна независимы: getDev=xiaomi прекрасно
сочетается с любой страной из списка.
Ответ
Всегда application/json; charset=utf-8, 24 поля, порядок
полей постоянный.
Пример ответа на запрос
?getDev=samsung&getCountry=russia&getCpu=8&getRam=8&getScrW=1080&getScrH=2340&getDpi=420
{
"roProductBrand": "samsung",
"roProductModel": "SM-S918B",
"roHardware": "snapdragon8gen2",
"IMEI": "354721887119926",
"BluetoothMAC": "00:1E:52:B0:DD:6E",
"MobileOperatorName": "mts",
"MobileOperatorCode": "25001",
"IMSI": "250010529749703",
"ICCID": "89250016804016689534",
"WifiName": "Hyrule",
"Wifi": "4A:B2:6D:AC:03:0A",
"MobilePhoneNumber": "+79136925491",
"MobileCountry": "ru",
"Latitude": "55.7145072",
"Longitude": "37.5666733",
"Timezone": "Europe/Moscow",
"AndroidID": "7DF50337770A5C32",
"MediaDrmDeviceID": "0EE2ABEB-CC7C-431E-94F5-052978C309B0",
"CPU": 8,
"RAM": 8192,
"ScreenW": 1080,
"ScreenH": 2340,
"DPI": 420,
"Language": "ru-RU"
}
| Поле | Что это |
|---|---|
roProductBrand |
Бренд устройства |
roProductModel |
Заводское обозначение модели |
roHardware |
Аппаратная платформа устройства |
IMEI |
Уникальный номер телефона, соответствующий его модели |
BluetoothMAC |
MAC-адрес Bluetooth |
MobileOperatorName |
Название мобильного оператора |
MobileOperatorCode |
Код мобильного оператора |
IMSI |
Идентификатор SIM-карты в сети оператора |
ICCID |
Серийный номер SIM-карты |
WifiName |
Название Wi-Fi-сети |
Wifi |
MAC-адрес Wi-Fi |
MobilePhoneNumber |
Номер телефона в международном формате |
MobileCountry |
Двухбуквенный код страны |
Latitude, Longitude |
Координаты точки внутри выбранной страны |
Timezone |
Часовой пояс страны |
AndroidID |
Идентификатор системы Android |
MediaDrmDeviceID |
Идентификатор устройства для защищённого воспроизведения |
CPU |
Число ядер процессора |
RAM |
Объём оперативной памяти, в мегабайтах |
ScreenW, ScreenH,
DPI |
Ширина, высота и плотность экрана — те, что переданы в запросе |
Language |
Язык и региональные настройки устройства |
Коды ответа
Ошибка приходит тем же JSON, в поле error; у части ошибок
есть ещё поле message с пояснением. Ориентироваться надёжнее
на HTTP-код, а не на текст.
| Код | error | Что произошло |
|---|---|---|
| 200 | — | Профиль в теле ответа |
| 401 | API key is missing |
Не передан ни заголовок X-Api-Key, ни параметр
key |
| 403 | Invalid API key |
Такого ключа нет. Проверьте, не обрезался ли ключ при копировании и не добавились ли пробелы по краям |
| 403 | Key disabled |
Ключ выключен вручную — напишите нам |
| 403 | License expired |
Срок лицензии вышел, ключ нужно продлить |
| 404 | Device not found |
Нет устройства под заданный getDev или
getMod. Сверьтесь со
списком устройств |
| 429 | Rate limit exceeded |
Превышено число запросов в минуту. В заголовке
Retry-After — через сколько секунд повторять |
| 429 | Daily limit exceeded |
Исчерпан суточный лимит. В теле есть limit,
used и resets_at — момент сброса |
| 429 | Too many failed attempts |
С вашего адреса шло слишком много запросов с неверным ключом. Исправьте ключ и подождите — с верным ключом сервис отвечает как обычно |
| 500 | Failed to generate IMSI |
Чаще всего — getCountry вне
списка стран |
| 500 | Internal server error |
Сбой на нашей стороне. Повторите позже и сообщите нам |
Лимиты по умолчанию не выставлены: Rate limit exceeded и
Daily limit exceeded приходят только тем ключам, для которых
лимит согласован отдельно. Too many failed attempts от лимитов
не зависит и защищает от перебора чужих ключей.
Примеры
Профиль конкретной модели
curl -H "X-Api-Key: ВАШ_КЛЮЧ" \
"https://androidsystem.westernadv.ru/?getMod=КОД_МОДЕЛИ&getCountry=russia"
Флагманское железо, случайный бренд
curl -H "X-Api-Key: ВАШ_КЛЮЧ" \
"https://androidsystem.westernadv.ru/?getCpu=8&getRam=8-12&getScrW=1080&getScrH=2340&getDpi=420"
Профиль с принудительной локалью
curl -H "X-Api-Key: ВАШ_КЛЮЧ" \
"https://androidsystem.westernadv.ru/?getCountry=germany&getLanguage=en-US"
PHP
$ch = curl_init('https://androidsystem.westernadv.ru/?getDev=samsung&getCountry=russia');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-Api-Key: ВАШ_КЛЮЧ']);
$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$profile = json_decode($body, true);
if ($status !== 200) {
// $profile['error'] — что именно не так
}
Python
import requests
r = requests.get(
"https://androidsystem.westernadv.ru/",
headers={"X-Api-Key": "ВАШ_КЛЮЧ"},
params={"getDev": "samsung", "getCountry": "russia"},
timeout=15,
)
if r.status_code == 200:
profile = r.json()
else:
print(r.status_code, r.json().get("error"))
Если что-то не работает
- Приходит
Invalid API key, хотя ключ верный - Проверьте пробелы по краям и полноту ключа при копировании. Ключ передаётся ровно как выдан.
- Все профили одной страны похожи
- Так и задумано: страна задаёт часовой пояс, локаль и географию. Различаются идентификаторы, оператор, номер, модель и точные координаты.
- Нужен профиль страны, которой нет в списке
- Справочники пополняются — напишите, какая страна нужна.
- Нужны тысячи профилей в сутки
- Ограничений по умолчанию нет, запрашивайте сколько нужно. О больших объёмах всё же стоит предупредить: лимиты выставляются по фактическому потреблению, и лучше, если ваш реальный пик нам известен заранее.
Для связи и предложений
Вопросы по работе API, получение и продление ключа, пожелания к справочникам и новым параметрам: https://t.me/pautomatizer
Общее описание сервиса и состав данных — на странице «О сервисе».