#stock #quote #etf #api-key #api-bindings

financeapi

A Rust API for financeapi.net

1个不稳定版本

0.1.1 2024年3月16日
0.1.0 2024年3月16日

金融 中排名 #91

Download history 66/week @ 2024-03-17 2/week @ 2024-03-24 27/week @ 2024-03-31 1/week @ 2024-04-07 3/week @ 2024-06-02

每月下载量 64

MIT/Apache

19KB
372

financeapi

此crate提供了一套简单的API,用于与financeapi.net接口,以检索股票、ETF、共同基金等的财务数据...

要使用此API,用户需要注册并在financeapi.net获取API密钥。

目前仅提供以下模块

  • /v6/finance/quote(股票、ETF、共同基金等的实时报价数据)
  • /v6/finance/autocomplete(获取自动完成股票建议)

该crate使用带有async功能的reqwest。在阻塞/同步上下文中,必须使用block_on或等效函数调用这些函数(请参阅示例)。

示例

   
    // Here goes your API key
    let connector = FinanceapiConnector::new("...");

    // v6/finance/quote
    let quote = tokio::runtime::Builder::new_current_thread()
        .enable_all()
        .build()
        .unwrap()
        .block_on(connector.quote("AAPL"))
        .unwrap_or_else(|e| panic!("ERROR: {}", e));

    println!(
        "AAPL ({}) is currently at {} {}",
        quote.long_name.unwrap_or_default(),
        quote.regular_market_price.unwrap_or_default(),
        quote.financial_currency.unwrap_or_default()
    );

    let symbol = "VWCE";

    // v6/finance/autocomplete
    let search = tokio::runtime::Builder::new_current_thread()
        .enable_all()
        .build()
        .unwrap()
        .block_on(connector.autocomplete(symbol))
        .unwrap_or_else(|e| panic!("ERROR: {}", e));

    println!("\nFound {} results for {}", search.len(), symbol);

    for (i, v) in search.iter().enumerate() {
        println!("{}: {} ({})", i, v.symbol, v.name);
    }

依赖项

~6–18MB
~266K SLoC