edgar-rs
Async Rust client for the SEC EDGAR API with built-in rate limiting.
Features
- Full coverage of the EDGAR public API (tickers, submissions, documents, XBRL, full-text search)
- Automatic rate limiting (10 req/s default, per SEC fair access policy)
- Strongly typed responses with serde
Ciknewtype for type-safe CIK number handling- Async/await with reqwest and tokio
Installation
Or add to your Cargo.toml:
[]
= "0.1"
= { = "1", = ["rt-multi-thread", "macros"] }
Quick start
use ;
async
API coverage
| Method | Description |
|---|---|
get_tickers() |
CIK-to-ticker mapping for all companies |
get_submission(cik) |
Company metadata and filing history |
get_document(cik, accession, doc) |
Individual filing document content |
get_company_concept(cik, taxonomy, tag) |
XBRL data for a single concept |
get_company_facts(cik) |
All XBRL facts for a company |
get_frame(taxonomy, tag, unit, period) |
Aggregated XBRL data across all companies |
search(query, options) |
Full-text search across filings |
Rate limiting
SEC EDGAR requires all automated tools to limit requests to 10 per second. This client enforces that by default. You can adjust it via ClientBuilder::rate_limit(), but going above 10 is not recommended.
License
MIT