New12,480+ smartphones indexed — free sandbox tier on every plan.Edge-cached JSON responses, typically under 100ms.Official SDKs available on NuGet (C#) and NPM (TypeScript).New12,480+ smartphones indexed — free sandbox tier on every plan.Edge-cached JSON responses, typically under 100ms.Official SDKs available on NuGet (C#) and NPM (TypeScript).
Get Free API Key
REST API & SDK SPECIFICATION

Smartphones API Documentation

The DeviceSpecs API delivers machine-readable specifications and benchmark telemetry for over 12,480+ smartphones. Sourced directly from hardware registers, raw marketing strings are parsed into strongly-typed numerical values (screen size in inches, refresh rates in Hz, battery in mAh, clock speed in GHz, and RAM/storage capacities in GB).

⚡ PRODUCTION EDGE BASE URL
https://deviceultraparser.p.rapidapi.com/api/values

RapidAPI Authentication

All requests to the production API gateway require your RapidAPI key passed via HTTP request headers:

HTTP Headers
x-rapidapi-key: YOUR_RAPIDAPI_KEY
x-rapidapi-host: deviceultraparser.p.rapidapi.com

Keys are provisioned instantly upon subscription on the RapidAPI Portal. A free sandbox tier is included for all developers.

.NET / C# Official Client SDK

NuGet v1.1.1

Install the strongly-typed NuGet package via .NET CLI:

Terminal
dotnet add package DeviceSpecs

C# Asynchronous Usage Example

Program.cs
1using DeviceSpecs;
2
3// 1. Initialize Client with RapidAPI Key
4using var client = new DeviceSpecsClient("YOUR_RAPIDAPI_KEY");
5
6// 2. Fetch Single Device Normalized Specs
7var pixel = await client.GetSpecsAsync("Google", "Pixel 9 Pro");
8Console.WriteLine($"Display: {pixel.NormalizedSpecs?.Display?.SizeInches} inch {pixel.NormalizedSpecs?.Display?.RefreshRateHz}Hz");
9
10// 3. Multi-Parameter Deep Query Filter
11var flagships = await client.Where()
12 .ManufacturerIs(Brands.Samsung)
13 .RamGreaterThanOrEqual(12)
14 .DisplayRefreshRateGreaterThanOrEqual(120)
15 .BatteryCapacityGreaterThanOrEqual(5000)
16 .ExecuteAsync();
17
18Console.WriteLine($"Matched {flagships.Count} flagship devices.");

TypeScript / Node.js Client SDK

NPM v1.0.0

Install the zero-dependency NPM package:

Terminal
npm i @granturismo/devicespecs

TypeScript Async Example

client.ts
1import { DeviceSpecsClient, Brands } from "@granturismo/devicespecs";
2
3const client = new DeviceSpecsClient("YOUR_RAPIDAPI_KEY");
4
5// 1. Fetch Single Device Normalized Specs
6const iphone = await client.getSpecs("Apple", "iPhone 15 Pro");
7console.log(`Processor: ${iphone.chipset}, RAM: ${iphone.normalizedSpecs?.memoryOptions?.availableRamGb} GB`);
8
9// 2. Multi-Parameter Deep Query Filter
10const flagships = await client.where()
11 .manufacturerIs(Brands.Google)
12 .ramGreaterThanOrEqual(16)
13 .displayRefreshRateGreaterThanOrEqual(120)
14 .execute();
15
16console.log(`Matched ${flagships.length} devices.`);
REST ENDPOINTS REFERENCE
GET

Single Phone Specifications

/api/values/clean/getspecs/{manufacturer}/{model}

Returns the complete normalized JSON specifications, display parameters, SoC registers, battery capacities, and benchmark scores for a single device.

ParameterTypeRequiredExample
manufacturerstringYesGoogle
modelstringYesPixel 9 Pro
cURL Request
curl --request GET \
--url 'https://deviceultraparser.p.rapidapi.com/api/values/clean/getspecs/Google/Pixel%209%20Pro' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' \
--header 'x-rapidapi-host: deviceultraparser.p.rapidapi.com'
GET

Devices by Manufacturer

/api/values/clean/getdevices/{manufacturer}

Fetch all indexed phone models for a specific manufacturer brand.

cURL Request
curl --request GET \
--url 'https://deviceultraparser.p.rapidapi.com/api/values/clean/getdevices/Apple' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' \
--header 'x-rapidapi-host: deviceultraparser.p.rapidapi.com'
GET

Devices by Chipset SoC

/api/values/clean/devicesbychipset/{chipset}

Retrieve all smartphones powered by a specific processor family (e.g. Snapdragon-8-Gen-3, Apple-A18-Pro).

cURL Request
curl --request GET \
--url 'https://deviceultraparser.p.rapidapi.com/api/values/clean/devicesbychipset/Snapdragon-8-Gen-3' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' \
--header 'x-rapidapi-host: deviceultraparser.p.rapidapi.com'
GET

Deep Query Multi-Filter Engine

/api/values/clean/devices?ram_gte=16&refresh_rate_gte=120&battery_gte=5000

Filter phones across multiple hardware dimensions using suffix operators.

cURL Request
curl --request GET \
--url 'https://deviceultraparser.p.rapidapi.com/api/values/clean/devices?ram_gte=16&refresh_rate_gte=120&battery_gte=5000' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' \
--header 'x-rapidapi-host: deviceultraparser.p.rapidapi.com'
STRONGLY-TYPED HARDWARE SCHEMAS

Schema Inspector

All JSON payloads adhere to normalized schemas with typed numeric fields and boolean capability flags:

DisplayMetrics
sizeInches: number
panelType: string
refreshRateHz: number
peakBrightnessNits: number
protectionType: string
CpuMetrics
totalCores: number
maxClockSpeedGhz: number
lithographyNm: number
MemoryMetrics
availableRamGb: number[]
availableStorageGb: number[]
storageTechnology: string
hasCardSlot: boolean
PowerMetrics
capacitiesMah: number[]
maxWiredChargingW: number
hasWirelessCharging: boolean
BenchmarkMetrics
antutuScore: string
geekbenchScore: string
measuredBatteryHours: number
EuLabelMetrics
energyClass: string
batteryEnduranceHours: number
repairabilityClass: string