Discover/GSMArena API
live

GSMArena APIgsmarena.com

Access GSMArena phone specs, brand listings, search, pricing, and user reviews via a structured API. 4 endpoints returning normalized smartphone data.

Endpoint health
verified 4d ago
list_brands
list_phones
search_phones
get_phone
4/4 passing latest checkself-healing
Endpoints
4
Updated
18d ago

What is the GSMArena API?

The GSMArena API gives developers structured access to smartphone data across 4 endpoints, covering brand listings, per-brand device catalogs, keyword search, and full device specifications. The get_phone endpoint alone returns over a dozen normalized fields — including display size and refresh rate, chipset details, battery capacity with charging wattage, camera specs, pricing in multiple currencies, and user reviews — making it straightforward to build comparison tools or populate product databases without parsing spec tables manually.

Try it

No input parameters required.

api.parse.bot/scraper/0449e854-6b54-4825-8567-f8f7678c893c/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/0449e854-6b54-4825-8567-f8f7678c893c/list_brands' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace gsmarena-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: GSMArena SDK — bounded, re-runnable; every call capped."""
from parse_apis.GSMArena_Phone_Data_API import GSMArena, Brand, PhoneSummary, Phone, PhoneNotFound

gsmarena = GSMArena()

# List all brands, show top 5 by device count
for brand in gsmarena.brands.list(limit=5):
    print(brand.name, brand.device_count, brand.url)

# Search for phones across all brands
result = gsmarena.phone_summaries.search(query="Galaxy S24", limit=3).first()
if result:
    print(result.name, result.url)

    # Drill into full specs from a search result
    details = result.details()
    print(details.name, details.release_date)
    print(details.platform.chipset, details.platform.core_count)
    print(details.display.type, details.battery.charging_raw)
    for price in details.pricing[:3]:
        print(price.currency, price.value)

# Navigate brand -> phones via sub-resource
samsung = Brand(_api=gsmarena, brand_id="9", url="samsung-phones-9.php", name="Samsung", device_count=980)
for phone in samsung.phones.list(limit=3):
    print(phone.name, phone.url, phone.image)

# Typed error handling for a non-existent phone
try:
    bad = gsmarena.phone_summaries.search(query="nonexistent_xyz_000", limit=1).first()
    if bad:
        bad.details()
except PhoneNotFound as exc:
    print(f"Phone not found: {exc.phone_url}")

print("exercised: brands.list / phone_summaries.search / details / brand.phones.list / PhoneNotFound")
All endpoints · 4 totalmissing one? ·

Get all mobile phone brands available on GSMArena. Each brand includes its name, URL, internal ID, and total device count. The full list is returned in a single page.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "brands": "array of brand objects with name, url, brand_id, and device_count"
  },
  "sample": {
    "data": {
      "brands": [
        {
          "url": "https://www.gsmarena.com/samsung-phones-9.php",
          "name": "Samsung",
          "brand_id": "9",
          "device_count": 980
        },
        {
          "url": "https://www.gsmarena.com/apple-phones-48.php",
          "name": "Apple",
          "brand_id": "48",
          "device_count": 120
        }
      ]
    },
    "status": "success"
  }
}

About the GSMArena API

Browse Brands and Device Catalogs

The list_brands endpoint returns every brand available on GSMArena as a structured array. Each entry includes name, url, brand_id, and device_count, so you can see at a glance how many devices a brand has listed. Pass a brand's brand_url value (e.g. samsung-phones-9.php) to list_phones to get paginated results for that brand. The response includes total_pages and current_page so you can walk through large catalogs — Samsung alone spans dozens of pages.

Search and Retrieve Device Specs

The search_phones endpoint accepts a query string such as iPhone 16 Pro or Pixel 9 and returns matching devices with names, URLs, and thumbnail images. Once you have a phone's URL from either list_phones or search_phones, pass it to get_phone to retrieve the full specification set. The response includes a raw object with all original spec table data, plus structured sub-objects for display (size, area, refresh rate, type, resolution), platform (chipset, CPU brand, process node in nm, core count, cluster layout), battery (capacity, charging wattage, type), memory (internal storage variants), and camera (main and selfie sub-objects).

Pricing and User Reviews

The get_phone response includes a pricing array where each entry carries a currency and value, reflecting the prices listed on the device's GSMArena page. The reviews array contains user-submitted reviews with author, date, and content fields. These are particularly useful for sentiment analysis or sourcing real-world user feedback alongside objective hardware specs.

Reliability & maintenanceVerified

The GSMArena API is a managed, monitored endpoint for gsmarena.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when gsmarena.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official gsmarena.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a phone comparison tool using normalized display, platform, and battery fields from get_phone
  • Populate a product database with full spec sheets by iterating list_brandslist_phonesget_phone
  • Track multi-currency pricing across devices using the pricing array returned by get_phone
  • Power a natural-language phone search feature using the search_phones endpoint with keyword queries
  • Analyze user sentiment by processing the reviews array from get_phone across a category of devices
  • Generate chipset or SoC comparison datasets using platform fields like chipset, cpu_brand, and process_nm
  • Monitor device catalog size changes per brand using device_count from list_brands
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does GSMArena have an official developer API?+
GSMArena does not offer a public developer API. There is no documented endpoint or API key program available at gsmarena.com for third-party developers to access their device database programmatically.
What does the `get_phone` endpoint return beyond basic specs?+
In addition to hardware specs, get_phone returns a pricing array with currency and value pairs, a reviews array with author, date, and review content, and a raw object containing all original spec table data as nested key-value pairs. The structured sub-objects for display, platform, battery, memory, and camera normalize the most-queried fields so you don't need to parse raw for common lookups.
Does the API return historical price data or price trends?+
No. The pricing array in get_phone reflects prices as currently listed on the device's GSMArena page — it is a point-in-time snapshot, not a price history. You can fork this API on Parse and revise it to store and compare pricing data over time by adding a persistence layer or scheduled polling endpoint.
How does pagination work for `list_phones`?+
The list_phones endpoint accepts an optional page integer alongside the required brand_url. The response always includes total_pages and current_page, so you can iterate from page 1 through total_pages to retrieve a brand's full device catalog. There is no bulk-fetch option that returns all pages in a single call.
Does the API cover feature phones, tablets, or wearables listed on GSMArena?+
The API is focused on mobile phones accessible through the brand and search endpoints. Feature phones may appear depending on whether they are listed under a brand's GSMArena page, but tablets and wearables are not explicitly covered as distinct categories. You can fork this API on Parse and revise it to add dedicated endpoints targeting those device categories.
Page content last updated . Spec covers 4 endpoints from gsmarena.com.
Related APIs in EcommerceSee all →
devicespecifications.com API
Search and browse mobile device specifications across all brands and models, then access detailed specs for any device you're interested in. Compare features, technical details, and find exactly the phone or tablet information you need.
smartprix.com API
Search and compare smartphones, tablets, and laptops across Indian retailers with detailed specifications, price history, and real-time deal information. Get the latest tech news and track product prices over time to find the best buying opportunities.
gazelle.com API
Search for used phones and tablets, browse best sellers, view detailed product listings, and retrieve trade-in price estimates on Gazelle. Look up buyback options by brand, category, and device series to compare payout values for used electronics.
swappa.com API
Search and browse used electronics on Swappa to find detailed listings with pricing data, seller profiles, and product reviews. Compare market prices and make informed buying decisions across thousands of secondhand device listings.
backmarket.fr API
Search for refurbished products on Back Market and retrieve detailed information including product specifications, available variants, pricing, and customer reviews all in one place. Get comprehensive product data to compare options and make informed purchasing decisions on certified refurbished electronics and devices.
nanoreview.net API
Search and compare CPUs, GPUs, SoCs, phones, and laptops with detailed specs and performance rankings from NanoReview. Get detailed information on specific tech products, view popular comparisons, and access user benchmark data to make informed purchasing decisions.
watchbase.com API
Search and explore watches across thousands of brands and collections, discover detailed specifications for watches and mechanical calibers, and retrieve high-quality watch images. Browse curated watch collections by brand or find specific timepieces using advanced search functionality.
banggood.com API
Search Banggood products and retrieve detailed information including prices, specifications, and customer reviews to help you discover items and make informed purchasing decisions. Perfect for monitoring inventory, comparing products, and staying updated on what's available across Banggood's catalog.