Metrik API

Real-time LLM performance data

← Back to Dashboard

Introduction

The Metrik API provides real-time Time to First Token (TTFT) data for 26+ LLM models across OpenAI, Anthropic, Google, and xAI.

Data is updated hourly and includes performance comparisons, provider averages, and change tracking.

Base URL

https://metrik.vercel.app/api/v1

Rate Limits

Requests per Hour
100
Rate Limit Window
1 hour
Authentication
None

Rate limit headers: Every response includes X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset

Endpoints

GET/ttft

Get latest TTFT data for all models

Example Request

curl https://metrik.vercel.app/api/v1/ttft

Example Response

{
  "success": true,
  "version": "1.0",
  "timestamp": "2025-01-15T12:02:00Z",
  "data": {
    "summary": {
      "total_models": 26,
      "average_ttft": 589,
      "fastest_model": {
        "name": "Grok Code Fast",
        "model_id": "grok-code-fast-1",
        "provider": "xAI",
        "ttft": 211
      },
      "slowest_model": {
        "name": "GPT-4o Mini",
        "model_id": "gpt-4o-mini",
        "provider": "OpenAI",
        "ttft": 3228
      }
    },
    "providers": [
      {
        "name": "xAI",
        "model_count": 6,
        "average_ttft": 290,
        "models": [
          {
            "name": "Grok Code Fast",
            "model_id": "grok-code-fast-1",
            "ttft": 211,
            "change_from_last_hour": -87,
            "status": "operational"
          }
          // ... more models
        ]
      }
      // ... more providers
    ]
  }
}

Code Examples

JavaScript / Node.js

const response = await fetch('https://metrik.vercel.app/api/v1/ttft');
const data = await response.json();

console.log(`Fastest model: ${data.data.summary.fastest_model.name}`);
console.log(`Average TTFT: ${data.data.summary.average_ttft}ms`);

Python

import requests

response = requests.get('https://metrik.vercel.app/api/v1/ttft')
data = response.json()

print(f"Fastest model: {data['data']['summary']['fastest_model']['name']}")
print(f"Average TTFT: {data['data']['summary']['average_ttft']}ms")

Error Responses

429 - Rate Limit Exceeded
{
  "success": false,
  "error": "Rate limit exceeded",
  "message": "You have exceeded the limit of 100 requests per hour",
  "retry_after": 3600
}
503 - No Data Available
{
  "success": false,
  "error": "No data available",
  "message": "Waiting for first hourly measurement"
}

Need Help?

Have questions or need higher rate limits? Get in touch!

Contact Us