Stock News

Use tigeropen::news::NewsClient to get stock news and market highlights. Follow this SDK's quickstart to configure the client. News queries use the main gateway and do not take over real-time quote device access.

get_stock_news

pub async fn get_stock_news(&self, req: NewsStockListRequest) -> Result<NewsPage, TigerError>

Description

Gets news for one stock using news_stock_list. Only one symbol is supported. Paginate using the page number and page size; the first page starts with the latest articles.

Parameters

ParameterTypeRequiredDescription
req.symbolStringYesOne stock symbol, such as AAPL
req.langOption<Language>NoNone is omitted; enum values are ZhCn / ZhTw / EnUs
req.page_countOption<i32>NoNone is omitted; the server defaults to 1. Explicit values must be at least 1
req.page_sizeOption<i32>NoNone is omitted; the server defaults to 20. Explicit values must be 1–50

Returns

Result<NewsPage, TigerError>.

FieldTypeDescription
itemsVec<NewsItem>Articles on the current page
page_counti32Current page number; always 1 for market highlights
page_sizei32Page size
total_pagei32Total page count
total_sizei32Total item count

Each news item has the following fields:

FieldTypeDescription
idStringArticle ID; can be used as the cursor for the next market-highlights page
titleStringTitle
summaryStringSummary
pub_timestampi64Publication time, as a Unix timestamp in seconds
urlStringArticle URL

Example

use tigeropen::config::ClientConfig;
use tigeropen::model::enums::Language;
use tigeropen::model::news_requests::NewsStockListRequest;
use tigeropen::news::NewsClient;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let config = ClientConfig::builder().build()?;
    let news_client = NewsClient::from_config(config);
    let page = news_client.get_stock_news(NewsStockListRequest {
        symbol: "AAPL".into(), lang: Some(Language::EnUs),
        page_count: Some(1), page_size: Some(20),
    }).await?;
    for item in &page.items { println!("{} {} {}", item.pub_timestamp, item.title, item.url); }
    news_client.close();
    Ok(())
}

Response example

This JSON example is based on fixed SDK test fixtures and illustrates the response data structure. Actual calls return the SDK objects listed above.

{
  "items": [
    {
      "id": "123456",
      "title": "Apple Q2",
      "summary": "Earnings beat",
      "pubTimestamp": 1729413600,
      "url": "https://example.com/news/123456"
    }
  ],
  "pageCount": 1,
  "pageSize": 20,
  "totalPage": 1,
  "totalSize": 1
}

Request rate

Base limit: 60 requests/minute.


Did this page help you?