Docs
GET /v2/economy/rates

Daily SOFR and EFFR reference rates

economy_getRates

The New York Fed's published overnight reference rates, SOFR and EFFR, one row per date and series. Not populated yet: it returns an empty list until the feed is connected.

Query parameters

series string

Comma-separated series to keep: sofr, effr or both (default both).

from string epoch ms

Range start: epoch-ms, YYYY-MM-DD or YYYY-MM-DDTHH:MM[:SS] (tz applies to string inputs).

to string

Range end: same forms as from.

tz string

IANA timezone for string time inputs (default America/New_York).

Details

sofr is the Secured Overnight Financing Rate and effr the Effective Federal Funds Rate. Rows carry rate, the published percentiles and volume; filter with series and from / to.

Units

rate and the percentiles are percent (5.31 = 5.31%); volume is the underlying transaction volume in billions of dollars; date is ISO YYYY-MM-DD.

Limits

No per-operation limit applies to requests with an API key.

Empty results

Today every request returns 200 with an empty data list and a meta.note. Empty is not a denial; the row shape above is what will be served.

Response

Prices are dollars, timestamps epoch milliseconds, strikes integer thousandths of a dollar; null means unknown. Units →

200application/json

Daily rate rows in data, ascending by date (empty until the feed is connected; meta.note says so)

object

A successful response: the payload consumers parse plus response metadata. data shapes are the platform types — never reshaped by the envelope.

data array<object> required
date string required ISO date

Effective date, YYYY-MM-DD.

percentile_1 number · double nullable
percentile_25 number · double nullable
percentile_75 number · double nullable
percentile_99 number · double nullable
rate number · double required

The published rate, percent.

series string required

sofr or effr.

volume number · double nullable
meta object required

Response metadata.

caps object nullable

meta.caps — the entitlement caps that shaped this response. applied lists the caps that actually changed it (for example range_clamped).

applied array<string> required

Which caps actually shaped this response (e.g. range_clamped). Empty = nothing was clamped.

darkpool boolean nullable

Whether this account can use Off-Exchange in the site.

flow boolean nullable

Whether the OPRA option-flow capability (flow) is granted to this principal in the app: site Pro plus a CBOE non-professional attestation (never on an itm_ key). Emitted explicitly — true and false — by the account endpoints, so the app reads the grant instead of inferring it from tier and attestation; absent on routes that do not report it.

gexDepth string nullable

GEX data depth when the route reports it. Camel-cased to match the browser capability bundle; absent on unrelated routes.

tier string required

The tier the request was served under.

cursor string nullable

Opaque continuation cursor (pass back as ?cursor=); absent when there is nothing more to read.

plane string nullable

Which serving tier answered the read (meta.plane). Informational provenance: treat it as an opaque label, because new values may appear.

Errors

Every error is the JSON error envelope; branch on error.code.

StatusMeaning
400

invalid_params — unknown series / bad time

401

unauthenticated