pub struct FinnhubClient { /* private fields */ }Expand description
Client for Finnhub Stock Market API
Provides access to real-time stock quotes, company news, and cryptocurrency data. Free tier: 60 API calls/minute
§Example
ⓘ
use ruvector_data_framework::FinnhubClient;
let client = FinnhubClient::new(Some("YOUR_API_KEY".to_string()))?;
let quote = client.get_quote("AAPL").await?;
let news = client.get_company_news("TSLA", "2024-01-01", "2024-01-31").await?;Implementations§
Source§impl FinnhubClient
impl FinnhubClient
Sourcepub fn new(api_key: Option<String>) -> Result<Self>
pub fn new(api_key: Option<String>) -> Result<Self>
Create a new Finnhub client
§Arguments
api_key- Optional Finnhub API key (get from https://finnhub.io/) Falls back to mock data if not provided
Sourcepub async fn search_symbols(&self, query: &str) -> Result<Vec<SemanticVector>>
pub async fn search_symbols(&self, query: &str) -> Result<Vec<SemanticVector>>
Sourcepub async fn get_company_news(
&self,
symbol: &str,
from: &str,
to: &str,
) -> Result<Vec<SemanticVector>>
pub async fn get_company_news( &self, symbol: &str, from: &str, to: &str, ) -> Result<Vec<SemanticVector>>
Get company news
§Arguments
symbol- Stock ticker symbolfrom- Start date (YYYY-MM-DD)to- End date (YYYY-MM-DD)
Sourcepub async fn get_crypto_symbols(&self) -> Result<Vec<SemanticVector>>
pub async fn get_crypto_symbols(&self) -> Result<Vec<SemanticVector>>
Get cryptocurrency symbols
Auto Trait Implementations§
impl Freeze for FinnhubClient
impl !RefUnwindSafe for FinnhubClient
impl Send for FinnhubClient
impl Sync for FinnhubClient
impl Unpin for FinnhubClient
impl !UnwindSafe for FinnhubClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more