This repository provides a mapping of device codes to marketing names for Android and other smartphones. The data is sourced from the publicly available Google Play supported devices list and updated automatically via GitHub Actions.
- Device code → Marketing name mapping
- Includes the brand of each device.
- Auto-updated everyday from Google’s CSV.
- JSON format for easy integration in apps, APIs, or scripts.
| CDN Providers | CDN URLs | Notes |
|---|---|---|
| jsDelivr | https://cdn.jsdelivr.net/gh/bsthen/device-models/devices.json |
✅ Fast, reliable, cached globally via Cloudflare. Recommended for production. |
| Statically.io | https://cdn.statically.io/gh/bsthen/device-models/main/devices.json |
✅ Fast, good for GitHub content, supports branches and tags. |
| Rawcdn.githack | https://rawcdn.githack.com/bsthen/device-models/main/devices.json |
✅ Good for production usage; caches aggressively. |
| Raw.githack | https://raw.githack.com/bsthen/device-models/main/devices.json |
✅ Good for testing or demo usage; caches aggressively. |
| gcore.jsdelivr.net (Mirror) | https://gcore.jsdelivr.net/gh/bsthen/device-models/devices.json |
🌍 Mirror of jsDelivr on Gcore network, used automatically by jsDelivr sometimes. |
| GitHub Raw URL | https://raw.githubusercontent.com/bsthen/device-models/main/devices.json |
{
"SM-G965F": {
"brand": "Samsung",
"name": "Samsung Galaxy S9+"
},
"SM-G960F": {
"brand": "Samsung",
"name": "Samsung Galaxy S9"
}
}import requests
DEVICES_URL = "https://cdn.jsdelivr.net/gh/bsthen/device-models/devices.json"
resp = requests.get(DEVICES_URL)
device_map = resp.json()
device_code = "SM-G965F"
device = device_map.get(device_code)
if device:
print(f"{device_code} → {device['brand']} {device['name']}")
else:
print("Device not found")from fastapi import FastAPI, HTTPException
import requests
app = FastAPI()
DEVICES_URL = "https://cdn.jsdelivr.net/gh/bsthen/device-models/devices.json"
device_map = requests.get(DEVICES_URL).json()
@app.get("/device")
def get_device(code: str):
device = device_map.get(code.upper())
if device:
return {"code": code, "brand": device.get("brand"), "name": device.get("name")}
raise HTTPException(status_code=404, detail="Device not found")
This repository uses GitHub Actions to automatically fetch the latest supported devices CSV from Google, convert it to JSON, and commit updates everyday.
This repository is licensed under the Apache License 2.0.
-
The dataset is based on Google’s publicly available supported devices list: https://storage.googleapis.com/play_public/supported_devices.html
-
Device codes are usually manufacturer/model identifiers (e.g., SM-G965F for Samsung Galaxy S9+).