> ## Documentation Index
> Fetch the complete documentation index at: https://developer.hayinsights.com/llms.txt
> Use this file to discover all available pages before exploring further.

# US Fed Funds rate — daily EFFR, percentiles, target range and IORB

> Daily Effective Federal Funds Rate (EFFR) for the United States, with the
distribution of the same day's trades (1st, 25th, 75th and 99th percentiles and
volume), the FOMC target range in force, the rate the Fed pays on reserves (IORB,
IOER before 2021-07-29) and the EFFR − IORB spread in basis points.

`points` has one entry per New York Fed business day, oldest first; days the Fed
does not publish have no entry. A figure that is not out yet is `null` — never 0
(for example IORB on the newest day before FRED updates, which also leaves
`spreadIorbBp` `null`). `fomcDecisions` lists the FOMC decisions whose effective
date falls in the window, for drawing vertical markers.

The New York Fed publishes day D at about 9:00 a.m. New York time on business day
D+1. History starts on 2016-03-01, when the New York Fed changed the EFFR's source
and method; percentiles and volume before that date are not comparable.

**Terms of use.** `meta.terms_notice` carries the notice the New York Fed requires
next to any EFFR figure you publish.

Sources: Federal Reserve Bank of New York (EFFR, percentiles, volume); FRED, Federal
Reserve Bank of St. Louis (IORB, IOER, target range).




## OpenAPI

````yaml /openapi.yaml get /openapi/v1/macro/fed-funds/us/daily
openapi: 3.1.0
info:
  title: HayInsights Open API
  version: 0.1.0
  description: >
    Programmatic access to the **HayInsights** financial-data hub — commodities,

    crypto, ETF, FX, macroeconomic, real-estate, news, economic-calendar and

    market-index datasets, served from a single API surface under
    `/openapi/v1/*`.


    This specification is the **single source of truth** for the public API

    surface — shared by SDK codegen, the reference docs, and (later) the mock

    server / contract tests.


    ## Authentication


    Every request must carry your API key in the `X-API-Key` header. There is a

    single authentication tier — no request signing. Create and manage keys in

    the HayInsights dashboard (Account → API keys). See **Authentication**.


    ## Plans & quota


    Access to each data domain and your request quota are governed by the

    subscription plan attached to your key. Each endpoint consumes a
    **weighted**

    amount of your per-minute quota; every response carries `X-RateLimit-*`

    headers. See **Rate limits** and **Plans & features**.
  contact: {}
servers:
  - url: https://api-v2.hayinsights.com
    description: Production
security:
  - HayInsightsApiKey: []
tags:
  - name: Commodities
    description: >-
      Spot prices, top movers, gold–DXY correlation and historical series for
      energy, metals and agricultural commodities.
  - name: Crypto
    description: >-
      Crypto market overview, dominance, bubble map, on-chain and derivatives
      metrics.
  - name: ETF
    description: >-
      Exchange-traded fund listings, performance & net-flow rankings, heatmap,
      holdings, NAV growth, fund composition and Bank of Japan ETF holdings.
  - name: FX
    description: >-
      Foreign-exchange summary, live table, 90-day correlation matrix and the
      emerging-market stress monitor.
  - name: Macro
    description: >-
      Macroeconomic indicators — GDP, CPI/PCE, exchange rates, population,
      central-government debt, policy rates / bond yields, interbank rates, FDI,
      trade by region and the manufacturing PMI.
  - name: Real Estate
    description: >-
      Land prices, transaction-level records, administrative geography
      (provinces / wards) and choropleth GeoJSON, by country.
  - name: News
    description: >-
      Market news headlines with per-article sentiment, plus an aggregate
      sentiment reading over a rolling window.
  - name: Calendar
    description: >-
      Economic calendar — rate decisions, CPI and GDP releases, market holidays
      and asset-level events.
  - name: Market
    description: >-
      Index snapshots and global index closes — levels and daily moves for S&P
      500, Nasdaq, Nikkei, VN-Index and others.
  - name: Equities
    description: >-
      Japanese stock detail (Tokyo Stock Exchange) — end-of-day snapshot,
      corporate events, daily prices, financial statements and sector peers —
      plus Vietnamese stock (HOSE / HNX / UPCoM) daily prices and financial
      statements.
paths:
  /openapi/v1/macro/fed-funds/us/daily:
    get:
      tags:
        - Macro
      summary: US Fed Funds rate — daily EFFR, percentiles, target range and IORB
      description: >
        Daily Effective Federal Funds Rate (EFFR) for the United States, with
        the

        distribution of the same day's trades (1st, 25th, 75th and 99th
        percentiles and

        volume), the FOMC target range in force, the rate the Fed pays on
        reserves (IORB,

        IOER before 2021-07-29) and the EFFR − IORB spread in basis points.


        `points` has one entry per New York Fed business day, oldest first; days
        the Fed

        does not publish have no entry. A figure that is not out yet is `null` —
        never 0

        (for example IORB on the newest day before FRED updates, which also
        leaves

        `spreadIorbBp` `null`). `fomcDecisions` lists the FOMC decisions whose
        effective

        date falls in the window, for drawing vertical markers.


        The New York Fed publishes day D at about 9:00 a.m. New York time on
        business day

        D+1. History starts on 2016-03-01, when the New York Fed changed the
        EFFR's source

        and method; percentiles and volume before that date are not comparable.


        **Terms of use.** `meta.terms_notice` carries the notice the New York
        Fed requires

        next to any EFFR figure you publish.


        Sources: Federal Reserve Bank of New York (EFFR, percentiles, volume);
        FRED, Federal

        Reserve Bank of St. Louis (IORB, IOER, target range).
      operationId: macroFedFundsUsDaily
      parameters:
        - name: period
          in: query
          required: false
          description: >
            Window, counted back from the latest day that has an EFFR (not from
            today).

            Case-insensitive.


            | Value | Window |

            | --- | --- |

            | `1Y` | 12 months |

            | `3Y` | 36 months |

            | `ALL` | everything from 2016-03-01 (about 2,700 days) |
          schema:
            type: string
            enum:
              - 1Y
              - 3Y
              - ALL
            default: 1Y
            example: 1Y
      responses:
        '200':
          description: Daily Fed Funds series for the requested window.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MacroFedFundsUsDailyResponse'
              example:
                success: true
                statusCode: 200
                data:
                  country: us
                  period: 1Y
                  from: '2025-11-07'
                  to: '2026-11-06'
                  latestDate: '2026-11-06'
                  knowledgeAt: '2026-11-07T14:12:03.000Z'
                  wasRestated: false
                  points:
                    - date: '2026-10-28'
                      effr: 3.88
                      p01: 3.83
                      p25: 3.87
                      p75: 3.89
                      p99: 3.95
                      volumeBn: 115
                      targetLow: 3.75
                      targetHigh: 4
                      iorb: 3.9
                      spreadIorbBp: -2
                      reserveRate: IORB
                    - date: '2026-10-29'
                      effr: 3.88
                      p01: 3.83
                      p25: 3.87
                      p75: 3.89
                      p99: 3.94
                      volumeBn: 117
                      targetLow: 3.75
                      targetHigh: 4
                      iorb: 3.9
                      spreadIorbBp: -2
                      reserveRate: IORB
                    - date: '2026-11-06'
                      effr: 3.88
                      p01: 3.82
                      p25: 3.86
                      p75: 3.89
                      p99: 3.96
                      volumeBn: 112
                      targetLow: 3.75
                      targetHigh: 4
                      iorb: null
                      spreadIorbBp: null
                      reserveRate: null
                  fomcDecisions:
                    - decisionDate: '2026-10-28'
                      effectiveDate: '2026-10-29'
                      action: HOLD
                      changeBp: 0
                meta:
                  source:
                    - >-
                      Federal Reserve Bank of New York — Effective Federal Funds
                      Rate (Markets Data API)
                    - >-
                      FRED (St. Louis Fed) — IORB, IOER and the federal funds
                      target range
                  as_of: '2026-11-06'
                  unit:
                    rate: percent_per_annum
                    volumeBn: usd_billion
                    spreadIorbBp: basis_points
                  knowledge_at: '2026-11-07T14:12:03.000Z'
                  classification:
                    RAW:
                      - effr
                      - p01
                      - p25
                      - p75
                      - p99
                      - volumeBn
                      - targetLow
                      - targetHigh
                      - iorb
                    DERIVED:
                      - reserveRate
                    COMPUTED:
                      - spreadIorbBp
                  formula_version:
                    spreadIorbBp: 'v1: (effr - iorb) * 100'
                  was_restated: false
                  terms_notice: >-
                    The Effective Federal Funds Rate (EFFR) is subject to the
                    Terms of Use posted at newyorkfed.org. The New York Fed is
                    not responsible for publication of the EFFR by HayInsights,
                    does not sanction or endorse any particular republication,
                    and has no liability for your use.
                  served_from_cache: false
                  cache_expires_at: '2026-11-08T02:12:03.000Z'
                  timestamp: '2026-11-07T14:12:03.000Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  schemas:
    MacroFedFundsUsDailyResponse:
      allOf:
        - $ref: '#/components/schemas/EnvelopeBase'
        - type: object
          required:
            - data
          properties:
            data:
              $ref: '#/components/schemas/FedFundsDaily'
            meta:
              $ref: '#/components/schemas/FedFundsMeta'
    EnvelopeBase:
      type: object
      description: >
        Standard success envelope shared by every endpoint. Each operation's
        response

        wrapper extends this (via `allOf`) and adds a typed `data` property.
      required:
        - success
        - statusCode
      properties:
        success:
          type: boolean
          const: true
          description: Always `true` for a successful response.
          example: true
        statusCode:
          type: integer
          description: Mirrors the HTTP status code.
          example: 200
        meta:
          $ref: '#/components/schemas/Meta'
    FedFundsDaily:
      type: object
      description: >
        Daily Fed Funds data for the United States over the requested window.
        When nothing

        is on record yet, `from`, `to` and `latestDate` are `null` and `points`
        is empty.
      required:
        - country
        - period
        - from
        - to
        - latestDate
        - knowledgeAt
        - wasRestated
        - points
        - fomcDecisions
      properties:
        country:
          type: string
          enum:
            - us
          description: Country code, lowercase. Only the United States is available.
          example: us
        period:
          type: string
          enum:
            - 1Y
            - 3Y
            - ALL
          description: Window that was applied.
          example: 1Y
        from:
          type:
            - string
            - 'null'
          format: date
          description: First day of the window.
          example: '2025-11-07'
        to:
          type:
            - string
            - 'null'
          format: date
          description: Last day of the window — the latest day with an EFFR.
          example: '2026-11-06'
        latestDate:
          type:
            - string
            - 'null'
          format: date
          description: Latest business day with an EFFR (same as `to`).
          example: '2026-11-06'
        knowledgeAt:
          type:
            - string
            - 'null'
          format: date-time
          description: When HayInsights last collected a figure in the window (UTC).
          example: '2026-11-07T14:12:03.000Z'
        wasRestated:
          type: boolean
          description: >-
            `true` when the New York Fed revised any day in the window after
            first publishing it.
          example: false
        points:
          type: array
          description: One entry per business day from `from` to `to`, oldest first.
          items:
            $ref: '#/components/schemas/FedFundsDailyPoint'
        fomcDecisions:
          type: array
          description: >-
            FOMC decisions whose `effectiveDate` falls inside the window, oldest
            first.
          items:
            $ref: '#/components/schemas/FomcDecisionMarker'
    FedFundsMeta:
      description: >
        Response metadata for the Fed Funds endpoints. On top of `timestamp`, it
        says where the

        numbers came from, which fields HayInsights computes, how fresh the
        response is, and

        carries the notice the New York Fed requires next to any EFFR figure.
      allOf:
        - $ref: '#/components/schemas/Meta'
        - type: object
          properties:
            source:
              type: array
              description: Data providers.
              items:
                type: string
              example:
                - >-
                  Federal Reserve Bank of New York — Effective Federal Funds
                  Rate (Markets Data API)
                - >-
                  FRED (St. Louis Fed) — IORB, IOER and the federal funds target
                  range
            as_of:
              type:
                - string
                - 'null'
              format: date
              description: >
                Latest business day in the response. For `/daily`, the New York
                Fed publishes

                day D at about 9:00 a.m. New York time on business day D+1.
              example: '2026-11-06'
            unit:
              type: object
              description: Unit of each kind of numeric field.
              additionalProperties:
                type: string
              example:
                rate: percent_per_annum
                volumeBn: usd_billion
                spreadIorbBp: basis_points
            knowledge_at:
              type:
                - string
                - 'null'
              format: date-time
              description: '`/daily` only — same as `data.knowledgeAt`.'
              example: '2026-11-07T14:12:03.000Z'
            classification:
              type: object
              description: >
                How each field was produced: `RAW` is passed through as the
                source published it,

                `DERIVED` follows from a published rule, `COMPUTED` is
                calculated by HayInsights.
              additionalProperties:
                type: array
                items:
                  type: string
              example:
                RAW:
                  - effr
                  - p01
                  - p25
                  - p75
                  - p99
                  - volumeBn
                  - targetLow
                  - targetHigh
                  - iorb
                DERIVED:
                  - reserveRate
                COMPUTED:
                  - spreadIorbBp
            formula_version:
              type: object
              description: Version tag of the formula behind each computed field.
              additionalProperties:
                type: string
              example:
                spreadIorbBp: 'v1: (effr - iorb) * 100'
            was_restated:
              type: boolean
              description: '`/daily` only — same as `data.wasRestated`.'
              example: false
            terms_notice:
              type: string
              description: >
                Notice required by the New York Fed's Terms of Use. Show it with
                any EFFR

                figure you publish.
              example: >-
                The Effective Federal Funds Rate (EFFR) is subject to the Terms
                of Use posted at newyorkfed.org. The New York Fed is not
                responsible for publication of the EFFR by HayInsights, does not
                sanction or endorse any particular republication, and has no
                liability for your use.
            served_from_cache:
              type: boolean
              description: Whether the response was served from cache.
              example: false
            cache_expires_at:
              type:
                - string
                - 'null'
              format: date-time
              description: >-
                When the cached copy expires (12 h; it is dropped as soon as a
                new figure is collected).
              example: '2026-11-07T02:12:03.000Z'
    ErrorBody:
      type: object
      description: Standard error envelope returned for every 4xx / 5xx response.
      required:
        - success
        - statusCode
        - error
      properties:
        success:
          type: boolean
          const: false
          description: Always `false` for an error response.
          example: false
        statusCode:
          type: integer
          description: Mirrors the HTTP status code.
          example: 401
        error:
          $ref: '#/components/schemas/ErrorDetail'
        meta:
          $ref: '#/components/schemas/Meta'
    Meta:
      type: object
      description: >-
        Response metadata. Always present; `timestamp` is the server time the
        response was generated.
      required:
        - timestamp
      properties:
        timestamp:
          type: string
          format: date-time
          description: Server time when the response was generated (ISO 8601).
          example: '2026-06-19T08:31:59.478Z'
      additionalProperties: true
    FedFundsDailyPoint:
      type: object
      description: >
        One New York Fed business day. Days the Fed does not publish (weekends,
        US holidays)

        have no entry. A figure that is not out yet is `null` — never 0.
      required:
        - date
        - effr
        - p01
        - p25
        - p75
        - p99
        - volumeBn
        - targetLow
        - targetHigh
        - iorb
        - spreadIorbBp
        - reserveRate
      properties:
        date:
          type: string
          format: date
          description: Business day the rate applies to (New York).
          example: '2026-10-29'
        effr:
          type:
            - number
            - 'null'
          description: >-
            Effective Federal Funds Rate, % per year — the volume-weighted
            median of overnight federal funds trades.
          example: 3.88
        p01:
          type:
            - number
            - 'null'
          description: 1st percentile of the same day's trades, % per year.
          example: 3.83
        p25:
          type:
            - number
            - 'null'
          description: 25th percentile, % per year.
          example: 3.87
        p75:
          type:
            - number
            - 'null'
          description: 75th percentile, % per year.
          example: 3.89
        p99:
          type:
            - number
            - 'null'
          description: 99th percentile, % per year.
          example: 3.94
        volumeBn:
          type:
            - number
            - 'null'
          description: Total volume traded that day, in **billion** US dollars.
          example: 117
        targetLow:
          type:
            - number
            - 'null'
          description: Lower bound of the FOMC target range in force that day, % per year.
          example: 3.75
        targetHigh:
          type:
            - number
            - 'null'
          description: Upper bound of the FOMC target range in force that day, % per year.
          example: 4
        iorb:
          type:
            - number
            - 'null'
          description: >
            Interest rate the Fed pays on reserve balances, % per year. Before
            2021-07-29 this

            is IOER (interest on excess reserves) — see `reserveRate`.
          example: 3.9
        spreadIorbBp:
          type:
            - number
            - 'null'
          description: >-
            `(effr − iorb) × 100`, in basis points. `null` when either rate is
            missing.
          example: -2
        reserveRate:
          type:
            - string
            - 'null'
          enum:
            - IORB
            - IOER
            - null
          description: >-
            Name of the rate in `iorb` on that day — `IOER` before 2021-07-29,
            `IORB` from then. `null` when `iorb` is `null`.
          example: IORB
    FomcDecisionMarker:
      type: object
      description: >-
        An FOMC rate decision whose effective date falls inside the window — one
        vertical marker on a daily chart.
      required:
        - decisionDate
        - effectiveDate
        - action
        - changeBp
      properties:
        decisionDate:
          type: string
          format: date
          description: Day the FOMC announced the decision.
          example: '2026-10-28'
        effectiveDate:
          type: string
          format: date
          description: >-
            First business day the new target range applies (usually the day
            after the decision).
          example: '2026-10-29'
        action:
          type:
            - string
            - 'null'
          enum:
            - HIKE
            - CUT
            - HOLD
            - null
          description: >-
            What the FOMC did to the target range. `null` for the first meeting
            on record, which has nothing to compare against.
          example: HOLD
        changeBp:
          type:
            - number
            - 'null'
          description: Change of the target range's upper bound, in basis points (signed).
          example: 0
    ErrorDetail:
      type: object
      description: Error detail object carried under `error` in the error envelope.
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: >
            Machine-readable error code. Specific for authentication / quota
            errors

            (e.g. `API_KEY_REQUIRED`, `API_KEY_INVALID`, `FEATURE_NOT_IN_PLAN`,

            `RATE_LIMIT_EXCEEDED`). For validation (400) and not-found (404) the
            code

            is currently `INTERNAL_ERROR` and the HTTP status carries the
            semantics.
          example: API_KEY_INVALID
        message:
          description: Human-readable message, or a list of validation messages (400).
          oneOf:
            - type: string
            - type: array
              items:
                type: string
          example: Invalid API key
  responses:
    BadRequest:
      description: >-
        Invalid or missing parameter — bad enum, range, format, or a missing
        required query parameter.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorBody'
          example:
            success: false
            statusCode: 400
            error:
              code: INTERNAL_ERROR
              message:
                - >-
                  Invalid type parameter. Must be "gdp", "cpi", "pce", or
                  "import-export"
                - Type parameter is required
            meta:
              error: Bad Request
              statusCode: 400
              timestamp: '2026-06-19T08:34:08.081Z'
    Unauthorized:
      description: >-
        Missing, invalid, disabled or expired API key. Send a valid key in the
        `X-API-Key` header.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorBody'
          example:
            success: false
            statusCode: 401
            error:
              code: API_KEY_INVALID
              message: Invalid API key
            meta:
              timestamp: '2026-06-19T08:34:08.023Z'
    Forbidden:
      description: >-
        Your subscription plan does not include this data feature, or your key's
        scope denies it.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorBody'
          example:
            success: false
            statusCode: 403
            error:
              code: FEATURE_NOT_IN_PLAN
              message: Your plan does not include this feature
            meta:
              timestamp: '2026-06-19T08:34:08.100Z'
    RateLimited:
      description: >
        Rate limit exceeded — you have consumed your plan's per-minute weight
        budget.

        Wait until `X-RateLimit-Reset` (or `Retry-After` seconds) then retry.
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/XRateLimitLimit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/XRateLimitRemaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/XRateLimitReset'
        X-RateLimit-Weight-Used:
          $ref: '#/components/headers/XRateLimitWeightUsed'
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorBody'
          example:
            success: false
            statusCode: 429
            error:
              code: RATE_LIMIT_EXCEEDED
              message: Rate limit exceeded
            meta:
              timestamp: '2026-06-19T08:34:09.000Z'
    InternalError:
      description: Unexpected server error. Retry after a short exponential backoff.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorBody'
          example:
            success: false
            statusCode: 500
            error:
              code: INTERNAL_ERROR
              message: Internal server error
            meta:
              timestamp: '2026-06-19T08:34:10.000Z'
  headers:
    XRateLimitLimit:
      description: Your plan's request-weight budget per 1-minute window.
      schema:
        type: integer
        example: 1000
    XRateLimitRemaining:
      description: Remaining request weight in the current 1-minute window.
      schema:
        type: integer
        example: 997
    XRateLimitReset:
      description: Unix timestamp (seconds) when the current rate-limit window resets.
      schema:
        type: integer
        format: int64
        example: 1781857979
    XRateLimitWeightUsed:
      description: Request weight consumed by this call (see each endpoint's weight).
      schema:
        type: integer
        example: 3
    RetryAfter:
      description: Seconds to wait before retrying. Present on 429 responses.
      schema:
        type: integer
        example: 30
  securitySchemes:
    HayInsightsApiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: >
        Your HayInsights API key (prefixed `apk_`). Create and manage keys in
        the

        HayInsights dashboard (Account → API keys).


        Send it in the `X-API-Key` header on **every** request to
        `/openapi/v1/*`.

        Which data domains you may access and your request quota are both
        governed by

        the subscription plan attached to the key — see the **Plans & features**
        and

        **Rate limits** guides.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.