Docs

19:16 UTC

Power your products with real-time GPU compute pricing and memory spot price data. Access the Ornn GPU Price Index and Memory Pricing through our simple REST API.

Quick Start

Get started in minutes with our simple API

View Guide →

API Reference

Complete reference for all endpoints

Explore APIs →
curl "https://api.ornnai.com/api/daily-index-simple" \
  -H "Authorization: Bearer YOUR_API_KEY"

Authentication

All API requests require authentication using a Bearer token in the Authorization header.

Authorization: Bearer YOUR_API_KEY

Getting an API Key

  1. Sign up or log in to your Ornn account
  2. Navigate to the Data page
  3. Click "Create New Key" in the API Keys section
  4. Copy and securely store your API key

Quick Start

Make your first API call in under a minute.

1. Get Your API Key

Create an API key from the data dashboard.

2. Make Your First Request

curl "https://api.ornnai.com/api/daily-index-simple" \
  -H "Authorization: Bearer YOUR_API_KEY"

3. Parse the Response

{
  "success": true,
  "data": {
    "gpu_type": "H100 SXM",
    "index_value": 1.66,
    "date": "2026-02-26"
  }
}

API Reference

GET/healthNo Auth

Check API availability and database connectivity. No authentication required.

Response

{
  "status": "healthy",
  "timestamp": "2024-12-11T18:04:42.484Z",
  "database": "connected"
}
GET/api/gpu-types

Retrieve a list of all GPU types currently tracked by Ornn Data.

Response

{
  "success": true,
  "data": [
    {"gpu_name": "A100 SXM4", "region": ""},
    {"gpu_name": "B200", "region": ""},
    {"gpu_name": "H100 SXM", "region": ""},
    {"gpu_name": "H200", "region": ""},
    {"gpu_name": "RTX 5090", "region": ""},
    {"gpu_name": "RTX PRO 6000 WS", "region": ""}
  ]
}
GET/api/daily-index-simple

Get the latest daily index value. Returns only gpu_type, index_value, and date. Query for a specific GPU or get all GPUs at once.

Query Parameters

ParameterTypeRequiredDescription
gpuTypestringNoGPU model name. If not specified, returns all GPUs.

Example Request

# Get specific GPU
curl "https://api.ornnai.com/api/daily-index-simple?gpuType=H100%20SXM" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Get all GPUs
curl "https://api.ornnai.com/api/daily-index-simple" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response (Single GPU)

{
  "success": true,
  "data": {
    "gpu_type": "H100 SXM",
    "index_value": 1.89,
    "date": "2024-12-11"
  }
}

Response (All GPUs)

{
  "success": true,
  "date": "2026-02-26",
  "data": [
    { "gpu_type": "A100 SXM4", "index_value": 0.833, "date": "2026-02-26" },
    { "gpu_type": "B200", "index_value": 3.001, "date": "2026-02-26" },
    { "gpu_type": "H100 SXM", "index_value": 1.657, "date": "2026-02-26" },
    { "gpu_type": "H200", "index_value": 2.282, "date": "2026-02-26" },
    { "gpu_type": "RTX 5090", "index_value": 0.476, "date": "2026-02-26" },
    { "gpu_type": "RTX PRO 6000 WS", "index_value": 0.89, "date": "2026-02-26" }
  ],
  "count": 6
}
GET/api/gpu/:gpuName/history-simple

Retrieve historical GPU price index values.

Query Parameters

ParameterTypeRequiredDescription
gpuNamestringYesGPU model name (path parameter, URL encoded)
startDatestringYesStart date (YYYY-MM-DD or ISO 8601)
endDatestringYesEnd date (YYYY-MM-DD or ISO 8601)
regionstringNoRegion name (default: "")
limitnumberNoMaximum records to return (default: 100, max: 1000)

Example Request

curl "https://api.ornnai.com/api/gpu/H100%20SXM/history-simple?startDate=2024-11-14&endDate=2024-11-21&granularity=daily" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "query": {
    "gpu_name": "H100 SXM",
    "start_date": "2024-11-14T00:00:00.000Z",
    "end_date": "2024-11-21T00:00:00.000Z",
    "records_found": 7,
    "limit_applied": 100
  },
  "data": [
    {
      "timestamp": "2024-11-20T21:00:00.000Z",
      "index_value": 2.409
    },
    {
      "timestamp": "2024-11-19T21:00:00.000Z",
      "index_value": 2.387
    }
  ]
}
GET/api/gpu/:gpuName/volatility

Retrieve rolling volatility of log returns for a GPU over a specified date range. Volatility is calculated as the standard deviation of daily log returns over a rolling window, annualized by multiplying by √365.

Query Parameters

ParameterTypeRequiredDescription
gpuNamestringYesGPU model name (path parameter, URL encoded)
startDatestringYesStart date (YYYY-MM-DD or ISO 8601)
endDatestringYesEnd date (YYYY-MM-DD or ISO 8601)
regionstringNoRegion name (default: "")
windowDaysnumberNoRolling window size in days (default: 30, range: 1-365)

Example Request

curl "https://api.ornnai.com/api/gpu/H100%20SXM/volatility?startDate=2024-01-01&endDate=2024-12-31&windowDays=30" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "query": {
    "gpu_name": "H100 SXM",
    "region": "",
    "start_date": "2024-01-01T00:00:00.000Z",
    "end_date": "2024-12-31T00:00:00.000Z",
    "records_found": 365,
    "window_days": 30,
    "data_granularity": "daily"
  },
  "data": [
    {
      "recorded_at": "2024-12-31T20:00:00.000Z",
      "exact_timestamp": "2024-12-31T20:00:00.000Z",
      "gpu_type": "H100 SXM",
      "region": "global",
      "index_value": 4.7,
      "rolling_volatility": 0.15,
      "window_days": 30
    },
    {
      "recorded_at": "2024-12-30T20:00:00.000Z",
      "exact_timestamp": "2024-12-30T20:00:00.000Z",
      "gpu_type": "H100 SXM",
      "region": "global",
      "index_value": 4.72,
      "rolling_volatility": 0.14,
      "window_days": 30
    }
  ]
}
GET/api/gpu/:gpuName/volume-metrics

Retrieve historical GPU utilization ratios. Utilization ratio represents the percentage of GPUs that are currently rented (rented_quantity / (rented_quantity + available_quantity)).

Query Parameters

ParameterTypeRequiredDescription
gpuNamestringYesGPU model name (path parameter, URL encoded)
startDatestringYesStart date (YYYY-MM-DD or ISO 8601)
endDatestringYesEnd date (YYYY-MM-DD or ISO 8601)
regionstringNoRegion name (default: "")
limitnumberNoMaximum records to return (default: 10000)

Example Request

curl "https://api.ornnai.com/api/gpu/H100%20SXM/volume-metrics?startDate=2024-11-14&endDate=2024-11-21&granularity=daily" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "query": {
    "gpu_name": "H100 SXM",
    "region": "",
    "start_date": "2024-11-14T00:00:00.000Z",
    "end_date": "2024-11-21T00:00:00.000Z",
    "records_found": 8,
    "limit_applied": 10000,
    "data_granularity": "daily"
  },
  "data": [
    {
      "recorded_at": "2024-11-21T00:00:00.000Z",
      "exact_timestamp": "2024-11-21T00:00:00.000Z",
      "utilization_ratio": 0.71
    },
    {
      "recorded_at": "2024-11-20T00:00:00.000Z",
      "exact_timestamp": "2024-11-20T00:00:00.000Z",
      "utilization_ratio": 0.68
    }
  ]
}

Memory API Reference

Access DRAM, Flash, and Module spot prices from DRAMeXchange. Memory prices are updated daily at 9:00 AM ET.

GET/api/memory-types

Retrieve a list of all memory types currently tracked, organized by category (dram, flash, module).

Query Parameters

ParameterTypeRequiredDescription
categorystringNoFilter by category: "dram", "flash", or "module"

Example Request

curl "https://api.ornnai.com/api/memory-types" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "data": [
    { "memory_type": "DDR5 16Gb (2Gx8) 4800/5600", "category": "dram" },
    { "memory_type": "DDR4 16Gb (2Gx8) 3200", "category": "dram" },
    { "memory_type": "MLC 64Gb 8GBx8", "category": "flash" },
    { "memory_type": "SLC 2Gb 256MBx8", "category": "flash" },
    { "memory_type": "DDR5 UDIMM 16GB 4800/5600", "category": "module" },
    { "memory_type": "DDR5 RDIMM 32GB 4800/5600", "category": "module" }
  ]
}
GET/api/memory-index

Get current spot prices for memory types. Returns the latest daily prices with change percentages and weekly high/low values.

Query Parameters

ParameterTypeRequiredDescription
typestringNoSpecific memory type name (URL encoded)
categorystringNoFilter by category: "dram", "flash", or "module"

Example Request

curl "https://api.ornnai.com/api/memory-index?category=dram" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "date": "2026-02-19T00:00:00.000Z",
  "data": [
    {
      "memoryType": "DDR5 16Gb (2Gx8) 4800/5600",
      "category": "dram",
      "price": 38.067,
      "changePct": 0.09,
      "weeklyHigh": 53,
      "weeklyLow": 25,
      "sourceUpdatedAt": "Feb.13 2026    18:10 (GMT+8)",
      "date": "2026-02-19T00:00:00.000Z",
      "updatedAt": "2026-02-19T14:03:01.304Z"
    },
    {
      "memoryType": "DDR4 16Gb (2Gx8) 3200",
      "category": "dram",
      "price": 78.409,
      "changePct": 0.82,
      "weeklyHigh": 91.5,
      "weeklyLow": 25,
      "sourceUpdatedAt": "Feb.13 2026    18:10 (GMT+8)",
      "date": "2026-02-19T00:00:00.000Z",
      "updatedAt": "2026-02-19T14:03:01.304Z"
    }
  ],
  "count": 7
}
GET/api/memory/:memoryType/history

Retrieve historical price data for a specific memory type. Data is ordered chronologically (oldest first).

Query Parameters

ParameterTypeRequiredDescription
memoryTypestringYesMemory type name (path parameter, URL encoded)
startDatestringNoStart date (YYYY-MM-DD or ISO 8601)
endDatestringNoEnd date (YYYY-MM-DD or ISO 8601)
limitnumberNoMaximum records to return (default: 1000)

Example Request

curl "https://api.ornnai.com/api/memory/DDR5%2016Gb%20(2Gx8)%204800%2F5600/history?startDate=2026-01-01&endDate=2026-02-19&limit=30" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "memoryType": "DDR5 16Gb (2Gx8) 4800/5600",
  "count": 3,
  "data": [
    {
      "date": "2026-01-27T00:00:00.000Z",
      "memoryType": "DDR5 16Gb (2Gx8) 4800/5600",
      "category": "dram",
      "price": 36.6,
      "weeklyHigh": 55,
      "weeklyLow": 26,
      "changePct": -0.18,
      "sourceUpdatedAt": "Jan.27 2026    18:10 (GMT+8)",
      "timestamp": "2026-01-27T14:01:56.839Z"
    },
    {
      "date": "2026-01-28T00:00:00.000Z",
      "memoryType": "DDR5 16Gb (2Gx8) 4800/5600",
      "category": "dram",
      "price": 36.6,
      "weeklyHigh": 55,
      "weeklyLow": 26,
      "changePct": 0,
      "sourceUpdatedAt": "Jan.28 2026    18:10 (GMT+8)",
      "timestamp": "2026-01-28T14:03:03.538Z"
    }
  ]
}

Error Handling

The API uses standard HTTP status codes and returns structured error responses.

StatusMeaning
200Success
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing API key
404Not Found - GPU or data not available
500Internal Server Error

Error Response Format

{
  "error": "Unauthorized",
  "message": "Invalid API key"
}

Rate Limits

API requests are limited to 10,000 requests per hour per API key.

Best Practices

Store API keys securely

Never commit keys to version control or expose in client-side code

Cache responses

The index updates daily. Cache responses to reduce API calls

Handle errors gracefully

Implement proper error handling and retry logic with exponential backoff

Use appropriate endpoints

Use the daily-index-simple endpoint for current values, historical endpoints for trends

Support

Need help? We're here to assist you.

Ornn Assistant

Ask about GPU prices

Hi! I'm Ornn Assistant.

Ask me about GPU prices, trends, or comparisons.