ferric-fred
A strongly-typed async Rust client for FRED — Federal Reserve Economic Data, from the Federal Reserve Bank of St. Louis.
ferric(iron oxide → rust) +FRED. Iron-clad, typed access to economic data.
Highlights
- Async, typed, and complete — covers all of FRED's read endpoints (series, observations, search, categories, releases, sources, tags, and the release table tree) behind ergonomic builders.
- Strong domain modelling — newtype identifiers (
SeriesId,CategoryId,ReleaseId,SourceId), typed enums for FRED's closed value sets (units, frequency, ordering, …), and a typed error taxonomy that never panics on a network or parse failure. - Auto-pagination —
Paginate::send_allwalks a paginated endpoint to exhaustion;Paginate::streamyields results lazily as aStream. - rustls by default — no system OpenSSL build dependency.
Install
The client reads a free FRED API key
from the FRED_API_KEY environment variable (or pass one to Client::new). It
needs an async runtime such as tokio.
Example
use ;
async
Related crates
ferric-fred-cli— thefredcommand-line tool, with interactive terminal charts.ferric-fred-mcp— an MCP server exposing FRED to MCP-capable clients.
Documentation & source
- API docs: docs.rs/ferric-fred
- Repository, examples, and design ADRs: github.com/ojhermann-org/ferric-fred
License
Dual-licensed under MIT OR Apache-2.0, at your option — the Rust ecosystem default. FRED data itself is subject to the St. Louis Fed's terms of use; you supply your own API key, and this crate ships no data and no key.