Metrics

One financial or economic data series with its trend and percentile

Changed on

One financial or economic data series, such as a Treasury yield, M2, net liquidity, the dollar or the Bitcoin price, paid per request with no API key or read with a key.

Returns one metric with its analysis: trend (7d/30d/90d), momentum, confidence score, percentile ranking, and data quality.

A key on the lowest plan reads the metrics in the bitcoin category in full, and only the latest reading of every other metric: its value in its unit, when it was taken, its source and its freshness (MetricLatestReading, with access.served set to latest_reading). A basic key reads every metric in full except the ones only pro briefings use, which GET /api/metrics names in pro_only_metrics: of those it reads the latest reading alone. The pro tier, and a paid call, read every metric in full.

The metric names this accepts are the ones GET /api/metrics returns, which needs no key and is always current.

get/api/metrics/{metric}

Request

  • Base URL
    https://api.prereason.com
  • Auth
    HTTP bearer

Path parameters

metricstring required
Example:bitcoin-price

Metric identifier (hyphenated)

Query parameters

format'json' | 'markdown'

Response format (json or markdown). Default is markdown.

Response

Metric data with interpretation

OR
OR

Example response

{
  "metric": "bitcoin-price",
  "name": "bitcoin-price",
  "stored_name": "btc_price_usd",
  "display_name": "Bitcoin Price",
  "period": {
    "period": "2026-09",
    "period_words": "September 2026",
    "basis": "monthly average",
    "released": "2026-10-02",
    "released_as": "file's date",
    "description": "September 2026, the monthly average (World Bank, in its file of 2026-10-02)"
  },
  "interpretation": {
    "not_measured": "each reading is the latest auction of any term, so a rank or a trend signal would compare different securities",
    "signal": "bullish",
    "confidence": 75,
    "confidence_label": "High"
  },
  "trend": {
    "direction": "rising",
    "change_7d": 2.5,
    "change_7d_available": true,
    "change_30d": 5.1,
    "change_30d_available": true,
    "change_90d": 12.3,
    "change_90d_available": true,
    "change_unit": "percent",
    "momentum": "steady",
    "momentum_description": "Steady upward momentum",
    "percentile": 85,
    "percentile_label": "high",
    "percentile_history_days": 23641,
    "same_value": {
      "readings": 105,
      "since": "2026-05-08"
    },
    "percentile_readings": 440,
    "percentile_since": "1990-01",
    "change_30d_from": "2026-07",
    "change_90d_from": "2026-05"
  },
  "stored_range": {
    "statement": "Highest since 2002-05-14, when it read 5.32%. The stored high is 15.84% on 1981-09-30, 10.53 pp above this reading.",
    "highest_since": "2002-05-14",
    "stored_high": {
      "value_formatted": "15.84%",
      "date": "1981-09-30"
    },
    "stored_low": {
      "value_formatted": "0.52%",
      "date": "2020-08-04"
    },
    "history_from": "1962-01-02"
  },
  "source": "CoinGecko",
  "notices": [
    "Powered by CoinGecko."
  ],
  "data_quality": {
    "age_hours": 2.5,
    "status": "fresh"
  }
}

Changes

    • info

      added the optional property ////// to the response with the status

    • info

      added the optional property ////// to the response with the status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property //// to the response with the status