--- title: News sidebar_position: 6 --- import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; Retrieve news articles for any supported stock symbol. ## Making Requests Use the `news()` method on the `stocks` resource to fetch news articles. The method supports multiple output formats: | Output Format | Return Type | Description | |---------------|-------------|-------------| | **DATAFRAME** | `pandas.DataFrame` or `polars.DataFrame` | Returns a DataFrame with news articles indexed by symbol (default). | | **INTERNAL** | `list[StockNews]` or `list[StockNewsHumanReadable]` | Returns a list of StockNews objects. When `use_human_readable=True`, returns a list of StockNewsHumanReadable objects with capitalized field names. | | **JSON** | `dict` | Returns the raw JSON response as a dictionary. | | **CSV** | `str` | Writes CSV data to file and returns the filename string. | ## news ```python def news( symbol: str, *, date: str | datetime.datetime = None, from_date: str | datetime.datetime = None, to_date: str | datetime.datetime = None, countback: int = None, output_format: OutputFormat = OutputFormat.DATAFRAME, date_format: DateFormat = None, columns: list[str] = None, add_headers: bool = None, use_human_readable: bool = False, mode: Mode = None, filename: str | Path = None, ) -> list[StockNews] | list[StockNewsHumanReadable] | dict | str | MarketDataClientErrorResult ``` Fetches news articles for a stock symbol. The `symbol` parameter can be passed as the first positional argument or as a keyword argument. All other parameters must be keyword-only. #### Parameters - `symbol` (str) The stock symbol for which to fetch news articles. - `date` (str | datetime.datetime, optional) Specific date for the news articles. - `from_date` (str | datetime.datetime, optional) Start date for the date range. - `to_date` (str | datetime.datetime, optional) End date for the date range. - `countback` (int, optional) Number of news articles to return, counting backwards from the `to_date`. - `output_format` ([OutputFormat](/sdk/py/settings#output-format), optional) The format of the returned data. Defaults to `OutputFormat.DATAFRAME`. See [Settings](/sdk/py/settings) for details. - `date_format` ([DateFormat](/sdk/py/settings#date-format), optional) The date format to use in the response. Defaults to `DateFormat.UNIX`. See [Settings](/sdk/py/settings) for details. - [`columns`](/sdk/py/settings#columns) (optional) Specify which columns to include in the response. See [Settings](/sdk/py/settings) for details. - [`add_headers`](/sdk/py/settings#headers) (optional) Whether to include headers in the response. See [Settings](/sdk/py/settings) for details. - [`use_human_readable`](/sdk/py/settings#human-readable) (optional) Whether to use human-readable format for values. Only applies when `output_format=OutputFormat.INTERNAL`. See [Settings](/sdk/py/settings) for details. - `mode` ([Mode](/sdk/py/settings#data-mode), optional) The data feed mode to use. See [Settings](/sdk/py/settings) for details. - `filename` (str | Path, optional) File path for CSV output (only used with `output_format=OutputFormat.CSV`). #### Returns - `list[StockNews]` | `list[StockNewsHumanReadable]` | `dict` | `str` | `MarketDataClientErrorResult` The news articles in the requested format, or a `MarketDataClientErrorResult` if an error occurred. ```python from marketdata.client import MarketDataClient client = MarketDataClient() # Get stock news as DataFrame (default) # symbol can be passed positionally or as keyword df = client.stocks.news("AAPL") # or df = client.stocks.news(symbol="AAPL") print(df) ``` ```python from marketdata.client import MarketDataClient from marketdata.input_types.base import OutputFormat client = MarketDataClient() # Get stock news as internal objects news_list = client.stocks.news("AAPL", output_format=OutputFormat.INTERNAL) # Access individual news article properties for news in news_list: print(f"Symbol: {news.symbol}") print(f"Headline: {news.headline}") print(f"Source: {news.source}") print(f"Publication Date: {news.publicationDate}") print(f"Updated: {news.updated}") ``` ```python from marketdata.client import MarketDataClient from marketdata.input_types.base import OutputFormat client = MarketDataClient() # Get stock news as JSON news = client.stocks.news("AAPL", output_format=OutputFormat.JSON) print(news) ``` ```python from marketdata.client import MarketDataClient from marketdata.input_types.base import OutputFormat from pathlib import Path client = MarketDataClient() # Get stock news as CSV csv_file = client.stocks.news( "AAPL", output_format=OutputFormat.CSV, filename=Path("news.csv") ) print(f"CSV file saved to: {csv_file}") ``` ```python from marketdata.client import MarketDataClient from marketdata.input_types.base import OutputFormat client = MarketDataClient() # Get stock news in human-readable format news_list = client.stocks.news( "AAPL", output_format=OutputFormat.INTERNAL, use_human_readable=True ) # Access individual news article properties for news in news_list: print(f"Symbol: {news.Symbol}") print(f"Headline: {news.headline}") print(f"Source: {news.source}") print(f"Publication Date: {news.publicationDate}") print(f"Date: {news.Date}") ``` ## StockNews ```python @dataclass class StockNews: symbol: str headline: str content: str source: str publicationDate: datetime.datetime updated: datetime.datetime ``` StockNews represents a single news article for a stock, encapsulating headline, content, source, and publication information. #### Properties - `symbol` (str): The stock symbol. - `headline` (str): The news headline. - `content` (str): The news article content. - `source` (str): The news source. - `publicationDate` (datetime.datetime): The publication date (automatically converted from timestamp). - `updated` (datetime.datetime): The time when the news was last updated (automatically converted from timestamp). #### Notes - The `publicationDate` and `updated` fields are automatically converted to `datetime.datetime` objects from Unix timestamps. ## StockNewsHumanReadable ```python @dataclass class StockNewsHumanReadable: Symbol: str headline: str content: str source: str publicationDate: datetime.datetime Date: datetime.datetime ``` StockNewsHumanReadable represents a news article in human-readable format with capitalized field names and formatted values. #### Properties - `Symbol` (str): The stock symbol. - `headline` (str): The news headline. - `content` (str): The news article content. - `source` (str): The news source. - `publicationDate` (datetime.datetime): The publication date (automatically converted from timestamp). - `Date` (datetime.datetime): The time when the news was last updated (automatically converted from timestamp). #### Notes - The `publicationDate` and `Date` fields are automatically converted to `datetime.datetime` objects from Unix timestamps. - Field names use capitalized format with underscores where applicable (e.g., `Symbol` instead of `symbol`, `Date` instead of `updated`).