# Quickstart

Your first dataset call in three steps.

## 1. Get a key

Choose a [plan](https://gloom.sh/datasets/console/billing), verify your email, then [create a key](https://gloom.sh/datasets/console/keys).

```bash
export GLOOM_DATASETS_KEY=gds_...
```

## 2. Call a dataset

Read GPU rental prices. Each language makes the same request.

**curl**

```
curl https://api.gloom.sh/v1/gpu/prices \
  -H "Authorization: Bearer $GLOOM_DATASETS_KEY"
```

**Python**

```
import os
import requests

response = requests.get(
    "https://api.gloom.sh/v1/gpu/prices",
    headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"},
)
response.raise_for_status()
print(response.json())
```

**TypeScript**

```
const response = await fetch(
  "https://api.gloom.sh/v1/gpu/prices",
  { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } },
)
if (!response.ok) throw new Error(await response.text())
console.log(await response.json())
```

## 3. Read the answer

```json
{
  "data": {
    "generatedAt": "2026-10-08T19:02:49.834Z",
    "status": "available",
    "asOf": "2026-10-08T19:01:51.633Z",
    "stale": false,
    "gaps": [],
    "rows": [
      {
        "source": "aws-list",
        "skuKey": "aws:H100:80:SXM:list",
        "provider": "AWS",
        "providerClass": "hyperscaler",
        "region": "US East (N. Virginia)",
        "gpuModel": "H100",
        "gpuCount": 8,
        "formFactor": "SXM",
        "memoryGb": 80,
        "basis": "list",
        "pricePerGpuHr": 6.88,
        "priceNodeHr": 55.04,
        "currency": "USD",
        "availability": null,
        "observedAt": "2026-10-07T21:46:34.608Z",
        "effectiveAt": null,
        "provenance": "live",
        "sourceUrl": null,
        "evidenceUrl": null,
        "provenanceLabel": "live observation",
        "id": "aws-list:aws:H100:80:SXM:list",
        "label": "H100 80GB SXM",
        "sourceLabel": "AWS",
        "change1d": 0,
        "change7d": null,
        "change30d": null,
        "stale": false,
        "lastError": null
      },
      {
        "source": "azure",
        "skuKey": "azure:H100:80:SXM:list",
        "provider": "Azure",
        "providerClass": "hyperscaler",
        "region": "eastus",
        "gpuModel": "H100",
        "gpuCount": 8,
        "formFactor": "SXM",
        "memoryGb": 80,
        "basis": "list",
        "pricePerGpuHr": 12.29,
        "priceNodeHr": 98.32,
        "currency": "USD",
        "availability": null,
        "observedAt": "2026-10-07T21:46:30.672Z",
        "effectiveAt": "2023-12-01T00:00:00.000Z",
        "provenance": "live",
        "sourceUrl": null,
        "evidenceUrl": null,
        "provenanceLabel": "live observation",
        "id": "azure:azure:H100:80:SXM:list",
        "label": "H100 80GB SXM",
        "sourceLabel": "Azure",
        "change1d": 0,
        "change7d": null,
        "change30d": null,
        "stale": false,
        "lastError": null
      },
      // … 3 more items
    ]
  },
  "meta": {
    "dataset": "gpu",
    "requestId": "sample-request",
    "asOf": null,
    "dataThrough": "2026-10-08T19:01:51.633Z",
    "historyStart": null,
    "updatedAt": "2026-10-08T19:01:51.633Z",
    "page": null,
    "next": null,
    "coverage": {
      "totalRows": 279,
      "gaps": []
    },
    "source": [
      {
        "attribution": "Cloud infrastructure providers"
      },
      {
        "attribution": "Compute rental marketplaces"
      },
      // … 2 more items
    ]
  }
}
```

Trimmed · 2026-10-08

`X-Credits-Cost`: spent. `X-Credits-Remaining`: balance. See [Errors](https://gloom.sh/datasets/docs/errors) for failures.

[Next Authentication and keys](https://gloom.sh/datasets/docs/authentication)
