VOOZH about

URL: https://dev.to/sanjeevutarun/i-built-the-api-gsmarena-never-had-mobile-specs-dxomark-data-4mc8

⇱ I Built the API GSMArena Never Had (Mobile Specs + DXOMark Data) - DEV Community


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

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

Server runs at:

http://localhost:4000

Example:

http://localhost:4000/phone?name=iphone%2015

🧩 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