Economics

Get Macro Series

Changed on

Fetch a single macro time-series from FRED.

country: ISO-2 lowercase code (us, eu, gb, jp) section: indicator key - see GET /api/v1/macro/catalog for full list

Query parameters: start - observation start YYYY-MM-DD (activates range mode) end - observation end YYYY-MM-DD last_n - return N most recent observations (default: catalog default_last_n) limit - deprecated alias for last_n transform - comma-separated transforms. The supported_transforms listed for each key in GET /api/v1/macro/catalog are the authority; any other value is a 400. Typical mapping by unit_type and frequency: rate_pct, spread_pct (daily, weekly): dod_bps, wow_bps rate_pct, spread_pct (monthly, quarterly, annual): mom_pp, yoy_pp index/level/money: mom_pct, yoy_pct weekly indices us/nfci, us/anfci, us/stlfsi, us/stlfsi4 and monthly ratio keys us/isratio, us/whlslrirsa: mom_abs, yoy_abs quarterly GDP keys (us/gdp, us/real-gdp, eu/gdp, gb/gdp, jp/gdp): yoy_pct, qoq_ann_pct count: mom_abs, yoy_abs a key with an empty list (jp/cpi, cn/chngdpnqdsmei): no transform mom_* compare with the previous observation, whatever the frequency (a day, week, month, quarter or year earlier); dod_bps compares with the previous observation of a daily or weekly series (on a weekly series it equals wow_bps); yoy_* compare with the same date a year earlier; wow_bps compares with one week earlier (5 observations on a daily series, 1 on a weekly one). Aliases: mom = mom_pct, yoy = yoy_pct, 3m_ann = qoq_ann_pct order - "desc" (newest first, default) or "asc"

Mode semantics: last_n mode - returns the N most recent observations (default when no start given) range mode - returns all observations in [start, end] up to max_last_n cap

Response is cached in-memory (TTL by frequency): daily series - 6 hours monthly series - 24 hours quarterly series - 72 hours Anomalous results (mid-series nulls in monthly/quarterly) are not cached.

get/api/v1/macro/{country}/{section}

Request

  • Base URL: https://sugra.ai
  • URL: https://sugra.ai/api/v1/macro/{country}/{section}
  • Auth: API key in header x-api-key

Path parameters

countrystring required

Country code (ISO 3166-1 alpha-2/alpha-3) or slug.

sectionstring required

Report section.

Query parameters

startstring nullable

Start date (YYYY-MM-DD).

endstring nullable

End date (YYYY-MM-DD) or pagination end.

last_ninteger nullable

Return last N observations per series.

limitinteger nullable

Maximum number of records to return.

transformstring nullable

Comma-separated transforms. Each key accepts only the transforms listed for it in /api/v1/macro/catalog (supported_transforms); any other value is a 400. Values: mom_pct, yoy_pct, qoq_ann_pct, dod_bps, wow_bps, mom_pp, yoy_pp, mom_abs, yoy_abs. mom_* compare with the previous observation, whatever the frequency (a day, week, month, quarter or year earlier); dod_bps compares with the previous observation of a daily or weekly series (on a weekly series it equals wow_bps); yoy_* compare with the same date a year earlier; wow_bps compares with one week earlier (5 observations on a daily series, 1 on a weekly one); qoq_ann_pct is the quarter-over-quarter change annualized, offered on the quarterly GDP keys only. Aliases: mom = mom_pct, yoy = yoy_pct, 3m_ann = qoq_ann_pct.

orderstring

Sort order.

Response

FRED macro time series for the given country and section with optional transforms.

Example response

{
  "meta": {
    "endpoint": "/api/v1/fred/us/cpi",
    "data_time": "2026-04-16T14:30:00Z",
    "response_time": "2026-04-16T14:30:12Z",
    "provider": "Sugra API v1.0.1",
    "data_age_days": 8.532,
    "source": "sugra_crypto",
    "attribution": "Short interest and Reg SHO daily short volume data is owned by and sourced from FINRA (Financial Industry Regulatory Authority).",
    "fallback_chain": [
      "sugra_crypto",
      "sugra_finance"
    ],
    "stale_since": "2026-09-08T12:00:00Z",
    "period": "2026-Q1",
    "notes": "the UKMTO report behind these counts is dated 2026-08-21 and is 11 days old"
  }
}

Changes

    • info

      added the non-success response with the status

    • breaking

      the response's body type changed from object to no type for status

    • breaking

      removed the required property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • info

      added subschema #3 to the response body anyOf list for the response status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the optional property / to the response with the status