Skip to content
Get started

Get historical prices for assets

GET/api/v1/assets/price-history

Get historical prices for assets

Query ParametersExpand Collapse
end: number

End timestamp for interval range (inclusive)

Must be provided as unix timestamp (in seconds)

formatint64
minimum0
period: IntervalUnit

Interval period

Values:

  • h: Hourly
  • d: Daily (accounts for offsets introduced by DST)
  • w: Weekly (provided for convenience, equivalent to 7d)
  • m: Monthly (accounts for varying # of days per month)
  • y: Yearly (accounts for varying # of days per year)

E.g. for interval buckets of 2h interval=2&period=h

One of the following:
"h"
"d"
"w"
"m"
"y"
start: number

Start timestamp for interval range (inclusive)

Must be provided as unix timestamp (in seconds)

formatint64
minimum0
asset_ids: optional string

Optional comma-separated list of asset IDs to filter for. If excluded, values will be returned for all assets.

minLength1
interval: optional number

Interval value

E.g. for interval buckets of 2h: interval=2&period=h

formatint64
minimum1
limit: optional number

Maximum number of time buckets/intervals to return.

For responses with multiple series, this limit is applied to each series individually rather than accumulating across series. This is a limit of returned interval sections, it is not a limit of returned points. In other words, limit=200 will provide 200 time points for a single series. For multi-series responses, each series will also see the exact same set of 200 time points.

formatuint16
minimum1
maximum1000
offset: optional number

Time series bucket offset

formatuint64
minimum0
ReturnsExpand Collapse
data: AssetPriceHistory { pagination, range, series }

Historical prices for assets

range: object { end, interval, start }

Provides values for the requested range in it's entire width, regardless of page/limit.

end: string
formatdate-time
interval: Interval { unit, value }

Interval period & size

One of the following:
"h"
"d"
"w"
"m"
"y"
value: number
formatint64
start: string
formatdate-time
series: array of object { asset, points }
asset: AssetSpec { id, group, group_key }

Provides a unique identifier for an asset for use throughout the Neptune API. IDs are unique across asset domains (contract tokens, native denoms, etc)

id: string
group: "native" or "token"
One of the following:
"native"
"token"
group_key: string
points: array of object { t, v }
t: string
formatdate-time
v: string
error: unknown

Error data. Guaranteed null for successful response.

status: number

HTTP status. Successful responses are guaranteed to be < 400. Conversely, error responses are guaranteed to be >= 400.

formatuint16
minimum0
maximum65535
status_text: string

HTTP status text

Get historical prices for assets

curl https://api-v2.nept.finance/api/v1/assets/price-history
{
  "data": {
    "range": {
      "start": 1775173209,
      "end": 1775778009,
      "interval": {
        "value": 1,
        "unit": "d"
      }
    },
    "series": [
      {
        "asset": {
          "id": "native;inj",
          "group": "native",
          "group_key": "inj"
        },
        "points": [
          {
            "t": 1775173209,
            "v": "0.1"
          },
          {
            "t": 1775259609,
            "v": "0.1"
          },
          {
            "t": 1775346009,
            "v": "0.1"
          },
          {
            "t": 1775432409,
            "v": "0.1"
          },
          {
            "t": 1775518809,
            "v": "0.1"
          },
          {
            "t": 1775605209,
            "v": "0.1"
          },
          {
            "t": 1775691609,
            "v": "0.1"
          },
          {
            "t": 1775778009,
            "v": "0.1"
          }
        ]
      }
    ],
    "pagination": {
      "next_offset": 200,
      "interval_count": 221
    }
  },
  "error": null,
  "status": 200,
  "status_text": "200 OK"
}
{
  "data": null,
  "error": {
    "kind": "internal",
    "scope": "server",
    "message": "An unexpected error occurred"
  },
  "status": 500,
  "status_text": "500 Internal Server Error"
}
Returns Examples
{
  "data": {
    "range": {
      "start": 1775173209,
      "end": 1775778009,
      "interval": {
        "value": 1,
        "unit": "d"
      }
    },
    "series": [
      {
        "asset": {
          "id": "native;inj",
          "group": "native",
          "group_key": "inj"
        },
        "points": [
          {
            "t": 1775173209,
            "v": "0.1"
          },
          {
            "t": 1775259609,
            "v": "0.1"
          },
          {
            "t": 1775346009,
            "v": "0.1"
          },
          {
            "t": 1775432409,
            "v": "0.1"
          },
          {
            "t": 1775518809,
            "v": "0.1"
          },
          {
            "t": 1775605209,
            "v": "0.1"
          },
          {
            "t": 1775691609,
            "v": "0.1"
          },
          {
            "t": 1775778009,
            "v": "0.1"
          }
        ]
      }
    ],
    "pagination": {
      "next_offset": 200,
      "interval_count": 221
    }
  },
  "error": null,
  "status": 200,
  "status_text": "200 OK"
}
{
  "data": null,
  "error": {
    "kind": "internal",
    "scope": "server",
    "message": "An unexpected error occurred"
  },
  "status": 500,
  "status_text": "500 Internal Server Error"
}