Build on Allora
Atlas
Overview

Atlas Data Platform

Atlas (opens in a new tab) is the Allora Forge timeseries data platform: a hosted service where ML builders discover, query, and stream the market data that powers Forge competitions and Allora workers. It is built for the model-building loop — backfill years of history for training, pull downsampled candles for feature engineering, and stream live rows at inference time — all through one REST API with one API key.

Atlas gives you:

  • A REST API at https://forge-data.allora.run/api for datasets, columns, and rows — see the Atlas API reference
  • Downsampled resolutions — query raw data points or pre-computed 5m, 1h, and 1d OHLCV aggregates with a single query parameter
  • Bulk download of historical ranges as JSON or CSV
  • Real-time streaming over Server-Sent Events (SSE)
  • A web UI at forge-data.allora.run (opens in a new tab) to browse datasets, search metadata, and preview data in the browser (log in with your API key)
  • Tag-based access control so public datasets are one API call away

The data model

Atlas organizes everything into three resources:

ResourceWhat it is
DatasetA named timeseries with a description and free-form JSON metadata (for example source, ticker, frequency)
ColumnA typed field of a dataset (for example open, close, volume as float)
RowOne observation: a timestamp plus a values object with one entry per column

For example, tiingo_btcusd_1min is the 1-minute BTC/USD candle dataset. Its metadata identifies the source and frequency, and its seven float columns are open, high, low, close, volume, volume_notional, and trades_done:

{
  "id": 3,
  "name": "tiingo_btcusd_1min",
  "description": "Tiingo 1-minute OHLCV data for BTCUSD",
  "metadata": {
    "source": "tiingo",
    "ticker": "btcusd",
    "provider": "forge-data-provider",
    "frequency": "1min"
  }
}

A raw row of that dataset looks like:

{
  "dataset_id": 3,
  "timestamp": "2026-07-30T21:59:00Z",
  "values": {
    "open": 64693.15622176585,
    "high": 64693.156307225116,
    "low": 64686.02040244367,
    "close": 64688.67038416061,
    "volume": 0.72766832,
    "volume_notional": 47071.896101475904,
    "trades_done": 134
  }
}

What data is available

The catalog is large — over 980,000 datasets as of July 2026, discoverable by name and metadata search. The datasets most builders start with are the Tiingo 1-minute crypto candles: 77 USD pairs (tiingo_btcusd_1min, tiingo_ethusd_1min, tiingo_solusd_1min, …), continuously updated to within about a minute of real time. These are the same datasets the Forge Builder Kit (opens in a new tab) uses for its price-prediction workflows.

Atlas also supports dataset creation and high-throughput ingest for data producers; this documentation covers the read and streaming API.

Tag-based access

Every dataset carries tags, and your API key holds tags too. You can read a dataset if you own it or if your key holds at least one of its tags:

RoleReadWriteManage tags
OwnerYesYesYes
Key holds a matching tagYesNoNo
No matching tagNoNoNo

Tags come in two kinds:

  • Public tags (for example public, test) — any key can self-acquire them with one API call. The Tiingo candle datasets are tagged public.
  • Private tags (for example tiingo, premium, internal) — restricted; they cannot be self-acquired.

Acquiring the public tag is the first API call to make with a new key — the API reference shows how, and the web UI and the Builder Kit's AtlasDataManager both do it automatically.

Resolutions and range limits

Row queries accept a resolution parameter. raw returns the original data points; the other resolutions return pre-computed OHLCV buckets (open, high, low, close, volume, plus a count of underlying points per bucket), which makes coarse queries fast and small.

Each resolution enforces a maximum time range per request:

ResolutionAggregationMax range per request
rawNone (original data points)24 hours
5m5-minute OHLCV buckets7 days
1h1-hour OHLCV buckets90 days
1d1-day OHLCV bucketsUnlimited

Resolution controls how much data comes back: a week of 1-minute candles is ~10,000 raw rows but only 168 rows at 1h. Ask for a range wider than the resolution allows and the API returns an error telling you to use a coarser resolution; if you omit start/end, it defaults to the most recent allowed window. For training-scale backfills of raw data, use bulk download and page through the history in chunks.

Real-time streaming

For live inference you don't need to poll. GET /api/rows/stream/ holds the connection open as a Server-Sent Events stream: it sends a connected event, replays the most recent 100 rows as data events, then pushes each new row as it lands, with a heartbeat event every 30 seconds to keep the connection alive. See the API reference for a working example.

Authentication

Atlas uses the same self-serve API keys as the rest of the Allora platform: sign up at the Allora Developer Portal (opens in a new tab), create a key (prefixed UP-), and pass it in the X-API-Key header. Any Developer Portal key works — the same key you use for the Allora API — and today every key gets the same access to public datasets. The tag system supports restricted tags, so tiered access may be introduced later.

Next