DEV Community

Tarun
Tarun

Posted on

I Built the API GSMArena Never Had (Mobile Specs + DXOMark Data)

I Built the API GSMArena Never Had (Mobile Specs + DXOMark Data)

If you’ve ever tried building anything around smartphone data, you’ve probably hit this problem:

👉 There is no clean, usable API for mobile specs.

GSMArena has everything — but:

  • no official API
  • inconsistent structure
  • scraping breaks easily

I ran into this while building my own apps, and after scraping the same data again and again…

I decided to fix it properly.


🚀 What I Built

A production-ready mobile specs API that provides:

  • 📱 Structured smartphone specifications (GSMArena)
  • 📸 Camera scores (DXOMark-style data)
  • 🔍 Smart search with relevance scoring
  • ⚡ Fast responses using Redis + LRU caching

⚡ Quick Example

Instead of scraping pages manually, you can just call:

GET /phone?name=samsung%20s26%20ultra
Enter fullscreen mode Exit fullscreen mode

After running locally:

👉 http://localhost:4000/phone?name=samsung%20s26%20ultra

You’ll get clean structured JSON instantly — no parsing required.


🔎 What You Can Search

Try queries like:

  • iphone 15 pro max
  • pixel 8
  • oneplus 12
  • samsung s24 ultra

The API handles:

  • fuzzy matching
  • relevance scoring
  • structured output

⚙️ Tech Stack

  • TypeScript + Node.js
  • Fastify (high-performance server)
  • Redis (caching layer)

🔥 What Makes It Different

This is not just a scraper — it’s designed as a usable system.

1. Smart Caching System

  • Redis + LRU cache
  • Prevents repeated scraping
  • Makes responses faster

2. Clean, Structured Output

Instead of raw HTML, you get:

  • normalized JSON
  • categorized specs
  • consistent schema

3. Smarter Search

  • Not basic string matching
  • Uses scoring logic for better relevance

4. Built for Real Use

  • Designed for actual projects
  • Handles repeated queries efficiently
  • Easy to integrate into apps

🛠️ Run It Locally

Clone and run:

git clone https://github.com/Sanjeevu-Tarun/gsmarena-dxomark-mobile-specs-api
cd gsmarena-dxomark-mobile-specs-api
npm install
npm run dev
Enter fullscreen mode Exit fullscreen mode

Server runs at:

http://localhost:4000
Enter fullscreen mode Exit fullscreen mode

Example:

http://localhost:4000/phone?name=iphone%2015
Enter fullscreen mode Exit fullscreen mode

🧩 Why I Built This

I was building apps like DeviceIntel and needed:

  • reliable device data
  • fast queries
  • reusable backend

Instead of solving it repeatedly,
I built this API once — properly.


💡 Where This Can Be Used

  • Mobile comparison apps
  • Tech dashboards
  • AI recommendation systems
  • Data analysis tools

🔗 GitHub Repo

👉 https://github.com/Sanjeevu-Tarun/gsmarena-dxomark-mobile-specs-api


👋 Final Thoughts

There’s a clear gap in structured mobile data APIs —
this is my attempt to fill that gap.

If you find it useful:

⭐ Star the repo
💬 Share feedback
🚀 Build something with it

Top comments (0)