gsmarena.com APIgsmarena.com ↗
Access GSMArena phone specs, brand listings, search, pricing, and user reviews via a structured API. 4 endpoints returning normalized smartphone data.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/0449e854-6b54-4825-8567-f8f7678c893c/list_brands' \ -H 'X-API-Key: $PARSE_API_KEY'
Get a list of all mobile phone brands available on GSMArena. Returns brand names, URLs, IDs, and device counts.
No input parameters required.
{
"type": "object",
"fields": {
"brands": "array of objects containing name, url, brand_id, and device_count"
},
"sample": {
"data": {
"brands": [
{
"url": "https://www.gsmarena.com/acer-phones-59.php",
"name": "Acer",
"brand_id": "59",
"device_count": 113
},
{
"url": "https://www.gsmarena.com/alcatel-phones-5.php",
"name": "alcatel",
"brand_id": "5",
"device_count": 414
}
]
},
"status": "success"
}
}About the gsmarena.com 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.
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.
- Build a phone comparison tool using normalized
display,platform, andbatteryfields fromget_phone - Populate a product database with full spec sheets by iterating
list_brands→list_phones→get_phone - Track multi-currency pricing across devices using the
pricingarray returned byget_phone - Power a natural-language phone search feature using the
search_phonesendpoint with keyword queries - Analyze user sentiment by processing the
reviewsarray fromget_phoneacross a category of devices - Generate chipset or SoC comparison datasets using
platformfields likechipset,cpu_brand, andprocess_nm - Monitor device catalog size changes per brand using
device_countfromlist_brands
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 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.
Does GSMArena have an official developer API?+
What does the `get_phone` endpoint return beyond basic 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?+
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`?+
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.