+GSMArena API
GSMArena phone, tablet and watch specifications as clean JSON, with normalized numbers.
The API.SH GSMArena API turns GSMArena's spec database into structured JSON. List every brand, page through a brand's devices newest first, search phones, tablets and watches by name, and read a device's full specification sheet grouped as on the site: network, launch, body, display, platform, memory, cameras, battery, test results and more. Each sheet also carries normalized numbers such as weight, battery mAh, display size, resolution and PPI, RAM and storage options and camera megapixels.
- 4 endpoints
- from $1 / 1,000 calls
- 1,000 free credits / month
- failed calls free
GET https://api.api.sh/gsmarena/v1/ search
{ "success": true } What you can build with the GSMArena API
Phone comparison sites and apps
Fill a comparison tool with full spec sheets and normalized values you can sort and filter on.
Device catalog for e-commerce
Match the phones you sell to their GSMArena specs and pictures, by name or model alias.
New release tracking
Page through a brand's devices newest first to catch new announcements and their one-line spec summary.
Market and hardware research
Collect chipset, battery, display and camera data across brands to study how specs change over time.
GSMArena data you get
Field names from real responses. Numbers come parsed, URLs absolute, dates in ISO 8601.
GSMArena API endpoints and prices
Every GSMArena endpoint costs 1 credit per call: credits are $1 per 1,000 on a monthly plan, $2 pay-as-you-go. Pricing
| GSMArena device search /gsmarena/ | $1 · $2 PAYG 1 credit |
| GSMArena brand devices /gsmarena/ | $1 · $2 PAYG 1 credit |
| GSMArena brands /gsmarena/ | $1 · $2 PAYG 1 credit |
| GSMArena phone specs /gsmarena/ | $1 · $2 PAYG 1 credit |
Call the GSMArena API
GSMArena device search: GET https://api.api.sh/gsmarena/
curl "https://api.api.sh/gsmarena/v1/search?q=galaxy+s24" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/gsmarena/v1/search",
params={"q": "galaxy s24"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/gsmarena/v1/search");
url.searchParams.set("q", "galaxy s24");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); # Google Sheets (API.SH add-on)
=APISH("/gsmarena/v1/search", "q", "galaxy s24")
# Zapier, Make, n8n (verified node): pick the API.SH app,
# choose "GSMArena" and "GSMArena device search".
# AI agents (Claude, ChatGPT, Cursor): add the
# API.SH MCP server https://api.sh/mcp - Create a free accountConfirm your email and get 1,000 free credits every month. No card needed.
- Create an API keyOne key works for all 483 platforms.
- Send the requestJSON back in one call. Add
output=csvoroutput=ndjsonfor files.
Why API.SH for GSMArena data
- Public data only: no GSMArena login, cookies or account needed
- One key and one response shape for GSMArena and 482 other platforms
- Built and maintained by API.SH, not third-party publishers
- Pay per call; errors on our side cost nothing
- Live status for every endpoint
API.SH vs the official GSMArena API
GSMArena has no official public API. What ranks for 'GSMArena API' is unofficial GitHub wrappers and community projects that parse the site and break when it changes. API.SH maintains the parsing for you and returns specs as JSON with one key.
Instead of a GitHub gsmarena-api wrapper, a dated Kaggle dataset or an Apify spec actor, API.SH gives you current data, one key and a fixed price per call.
GSMArena API questions
What GSMArena data can I get?+
Every brand with its device count (/gsmarena/v1/brands), a brand's devices newest first (/gsmarena/v1/brand), device search by name (/gsmarena/v1/search) and a device's full spec sheet with normalized values (/gsmarena/v1/phone).
How much does the GSMArena API cost?+
Every GSMArena endpoint costs 1 credit per call. On a monthly plan 1,000 credits cost $1 (Starter is $50/month for 50,000 credits). Pay-as-you-go is $2 per 1,000 credits, with top-ups from $15 that never expire.
Is there a free trial?+
Yes. Every account gets 1,000 free credits every month. That is 1,000 calls to /gsmarena/v1/brand at 1 credit each.
Is there an official GSMArena API?+
No. GSMArena does not publish a developer API, so the projects you find on GitHub are unofficial parsers. API.SH is a maintained alternative that returns the same public spec data as JSON.
Is there a free GSMArena API?+
Every API.SH account gets 1,000 free credits every month, enough to try every endpoint. Free GitHub wrappers exist too, but you host and fix them yourself.
Do I need a GSMArena account or API key from GSMArena?+
No. API.SH reads public GSMArena pages only. You only need your API.SH key.
Can I use it from Python?+
Yes. Call it with any HTTP client or the official Python SDK. Search with q, then pass the device id to /gsmarena/v1/phone, or call /gsmarena/v1/phone with q to look up a device by name directly.
How do I get started?+
1. Sign up at api.sh. 2. Copy your API key from the dashboard. 3. Call /gsmarena/v1/phone with a device name in q, such as Galaxy S25 Ultra. Every parameter and request examples are in the docs at https://api.sh/docs. You can also use the JS or Python SDK, Google Sheets, Zapier, Make, n8n or the MCP server at https://api.sh/mcp.