Phone — entry 004 of 7

Phone Specification

Verified Jul 2026

Phone Specs API is an open-source, keyless wrapper around GSMArena's device database, returning brand lists, per-phone specifications, and search results as JSON — maintained by a single developer (Azhari Muhammad M) and deployed on Vercel. Both README-documented custom domains (api-mobilespecs.azharimm.dev for v1, phone-specs-api-2.azharimm.dev for v2) no longer resolve, but the underlying Vercel deployment is still live and reachable directly: its root endpoint returned a 200 JSON payload confirming auth "None" and https true, and a live OPTIONS preflight carried Access-Control-Allow-Origin: * (cors reconfirmed "yes"); the /brands and /latest routes intermittently 500 with a 429 from the upstream GSMArena scrape target, a source-side rate-limit rather than the API itself being down.

Phone Specification is a free, keyless wrapper around GSMArena's device database. Its README-documented custom domains (api-mobilespecs.azharimm.dev and phone-specs-api-2.azharimm.dev) no longer resolve at all — DNS fails outright — but the underlying Vercel deployment behind them is still live and reachable directly at phone-specs-api.vercel.app, and its root endpoint returns a JSON map of every route (brands, per-brand phone lists, phone specs by slug, search, latest, top-by-interest, top-by-fans) with no key required for any of them.

phone-specificationsgsmarenaopen-sourcedevice-data
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score74out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs0/20No docs or spec available
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 74 on greatapis.com
<a href="https://greatapis.com/api/phone-specification/"><img src="https://greatapis.com/badge/phone-specification.svg" alt="Scored 74 on greatapis.com"></a>

Auth quickstart

  1. No API key required. A live GET against the root endpoint returns `{"status":true,"data":{...}}` describing every route with no credentials needed, and every probe this run — brand list, phone list, top lists — succeeded fully unauthenticated.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

List phones for a brand

GEThttps://phone-specs-api.vercel.app/brands/razer-phones-117

200 application/json; charset=utf-8

{"status":true,"data":{"title":"Razer phones","current_page":1,"last_page":1,"phones":[{"brand":"Razer ","phone_name":"Phone 2","slug":"razer_phone_2-9363","image":"https://fdn2.gsmarena.com/vv/bigpic/razer-phone2-.jpg","detail":"http://phone-specs-api.vercel.app/razer_phone_2-9363"},{"brand":"Razer ","phone_name":"Phone","slug":"razer_phone-8923","image":"https://fdn2.gsmarena.com/vv/bigpic/razer-phone.jpg","detail":"http://phone-specs-api.vercel.app/razer_phone-8923"}]}}

Developer reference

Base URLhttps://phone-specs-api.vercel.app

Gotchas & limits

  • `GET /search` is broken on the live deployment: a live probe of `/search?query=iphone` returned HTTP 500 with `{"status":false,"error":"Something went wrong: Error: Could not find Chrome (ver. 123.0.6312.58)..."}` — the backend shells out to Puppeteer to scrape GSMArena's search results and no Chrome binary is installed on this serverless deployment, so the route fails on every call, not intermittently.
  • An unknown or malformed brand slug does not 404: a live `GET /brands/nonexistent-9999` returned HTTP 200 with `{"status":true,"data":{"title":"","current_page":1,"last_page":1,"phones":[]}}` — check for an empty `phones` array, not the HTTP status, to detect a missing brand.
  • `GET /top-by-fans` mislabels its own `title` field: a live probe returned `"title":"Top By Daily Interest"` — the exact same string `GET /top-by-interest` returns — even though `/top-by-fans` ranks by a `favorites` count and `/top-by-interest` ranks by a `hits` count. Both returned 10 phones live this run; don't rely on the `title` field to distinguish the two lists.
  • The README's own custom domains (api-mobilespecs.azharimm.dev, phone-specs-api-2.azharimm.dev) fail DNS resolution entirely (confirmed live this run) — the API has already moved on itself: every self-referential `detail`/`example` URL it returns points at the live `phone-specs-api.vercel.app` host, not the dead custom domains, though always with a plain `http://` scheme. That plain `http://` request itself works, but only as a 308 redirect to the `https://` version of the same path (confirmed live) — this quickstart uses `https://` directly throughout.