intrinio-rs
A Rust SDK for interacting with the Intrinio API. This client library is automatically generated from the Intrinio OpenAPI specification using progenitor.
Overview
Intrinio is a financial data platform providing access to stock prices, fundamentals, SEC filings, ETF data, options, forex, crypto, and more. This SDK provides a type-safe Rust interface to interact with all Intrinio API endpoints.
Installation
Add this to your Cargo.toml:
[]
= "0.1.0"
Usage
Basic Example
use Client;
async
Authentication
The Intrinio API requires an API key for authentication. Pass your API key to Client::new() and it will be automatically added to all requests:
use Client;
let client = new;
// Only specify the parameters you need
let companies = client
.get_all_companies
.sector
.has_stock_prices
.page_size
.send
.await?;
Features
- Company Data - Reference data, metadata, and daily metrics
- Financial Statements - Standardized and as-reported fundamentals, XBRL notes
- Stock Prices - Real-time quotes, historical EOD, and intraday prices
- Options - Real-time and historical options data, chains, prices, and Greeks
- ETFs - Holdings, NAV, flows, and returns analytics
- Indices - Index prices, constituents, and historical data
- Insider & Institutional Holdings - Ownership data and transactions
- SEC Filings - Raw text filings and structured data
- IPOs - Upcoming and historical IPO data
- ESG - Environmental, social, and governance scores
- Forex - Currency pair prices and historical data
- Economic Data - Macroeconomic indicators and time series
- Municipalities - Municipal bond and financial data
- Technical Indicators - 50+ indicators (SMA, EMA, RSI, MACD, Bollinger Bands, etc.)
- Company News - News articles and sentiment
- Thea AI - AI-powered natural language answers about financial data
- Screener - Filter and screen securities
- Bulk Downloads - Batch data downloads
Dependencies
progenitor-client- Core client functionalityreqwest- HTTP clientserde/serde_json- Serializationchrono- Date/time handlingbytes/futures-core- Async streaming support
Development
Regenerating the Client
The client is generated from Intrinio's OpenAPI specification. To regenerate:
This script:
- Converts the Swagger 2.0 spec to OpenAPI 3.0
- Applies fixes for progenitor compatibility
- Generates the Rust client code
Building
Running Tests
Documentation
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Disclaimer
This is an unofficial SDK. For official Intrinio support, please visit Intrinio.
Related Projects
- progenitor - The OpenAPI client generator used to create this SDK