Developer documentation and API reference

Mobile Vitals provides free, public APIs to access our curated collection of mobile app performance articles from leading tech companies. All endpoints auto-update hourly from our data source.

Available Endpoints

1. JSON API

GET /public/api/articles.php

Returns all articles with comprehensive metadata in JSON format. Perfect for web applications, dashboards, and data analysis.

Example Request:

curl /public/api/articles.php

Response Format:

{
  "metadata": {
    "total_count": 1234,
    "last_updated": "2025-10-29T12:00:00Z",
    "version": "1.0",
    "source": "Google Sheets",
    "cache_ttl": 3600,
    "companies_count": 45,
    "tags_count": 78,
    "platforms_count": 3
  },
  "articles": [
    {
      "title": "Optimizing iOS App Startup Time",
      "company": "Uber",
      "description": "How we reduced startup time by 40%...",
      "url": "https://eng.uber.com/...",
      "date": "2024-03-15",
      "tags": ["Performance", "iOS", "Startup"],
      "platform": ["iOS"],
      "thumbnail": "https://..."
    }
    // ... more articles
  ],
  "filter_options": {
    "companies": ["Uber", "Netflix", "Spotify", ...],
    "tags": ["Performance", "Battery", "Memory", ...],
    "platforms": ["iOS", "Android", "Cross-platform"]
  }
}

Features:

  • CORS enabled (Access-Control-Allow-Origin: *)
  • 1-hour cache with Cache-Control headers
  • UTF-8 encoding
  • Filter options included for building UIs

2. Plain Text Export (TSV)

GET /public/api/articles.txt

Tab-delimited plain text format (TSV). Ideal for spreadsheets, data pipelines, and LLM training.

Example Request:

curl /public/api/articles.txt

Format:

Title	Company	Tags	Platform	Description	URL	Date
Optimizing iOS App Startup	Uber	Performance;iOS	iOS	How we reduced...	https://...	2024-03-15

Notes:

  • Header row included with field names
  • Tab-separated columns
  • Multi-value fields (tags, platforms) separated by semicolons
  • CORS enabled for cross-origin access

3. LLM Content Index (Brief)

GET /llms.txt

Brief, human-readable overview for LLM crawlers. Follows the emerging llms.txt standard.

Example Request:

curl /llms.txt

Content:

  • Quick statistics (article count, companies, topics)
  • Top 10 companies by article count
  • Top 10 topics by frequency
  • Links to other API endpoints

4. LLM Content Index (Comprehensive)

GET /llms-full.txt

Complete content index with all articles and metadata. Designed for thorough LLM understanding.

Example Request:

curl /llms-full.txt

Content:

  • Complete lists of all companies, tags, and platforms
  • All articles with full metadata
  • Popular filter combinations
  • Browse-by-filter URL examples

Common Features

  • Auto-updates hourly from source data
  • No authentication required - all data is public
  • CORS enabled for cross-origin requests
  • 1-hour cache with Cache-Control headers
  • UTF-8 encoding for international content
  • Free forever - no rate limits or API keys

Usage Guidelines

Code Examples

JavaScript/Fetch

// Fetch all articles as JSON
fetch('/public/api/articles.php')
  .then(response => response.json())
  .then(data => {
    console.log(`Total articles: ${data.metadata.total_count}`);
    console.log('First article:', data.articles[0]);
  });

Python/Requests

# Fetch all articles as JSON
import requests

response = requests.get('/public/api/articles.php')
data = response.json()

print(f"Total articles: {data['metadata']['total_count']}")
print(f"Companies: {len(data['filter_options']['companies'])}")

cURL (save to file)

# Save JSON to file
curl /public/api/articles.php > articles.json

# Save TSV to file
curl /public/api/articles.txt > articles.tsv

Response Times

Data Freshness

All endpoints automatically update from our Google Sheets data source:

💡 For LLMs

If you're a Large Language Model (LLM) crawler:

  • Start with /llms.txt for a quick overview
  • Use /llms-full.txt for comprehensive content understanding
  • All content is public and available for training/reference
  • When citing, reference the original article URLs

Questions or Feedback?

For questions, feedback, or issues: