News
Retrieve news articles for a stock symbol.
Making Requests
Use the news() method on the stocks resource, built with StockNewsRequest.
StockNewsResponse news(StockNewsRequest request)
CompletableFuture<StockNewsResponse> newsAsync(StockNewsRequest request)
StockNewsRequest
StockNewsRequest.of(String symbol)
StockNewsRequest.builder(String symbol)
.date(LocalDate date) // a single day
.from(LocalDate from) // window start
.to(LocalDate to) // window end
.countback(int n) // N articles before `to`
.build()
Returns
StockNewsResponse wrapping List<StockNewsArticle>:
public record StockNewsArticle(
String symbol,
String headline,
String content,
String source,
ZonedDateTime publicationDate)
Examples
- Java
- Kotlin
import com.marketdata.sdk.MarketDataClient;
import com.marketdata.sdk.stocks.StockNewsArticle;
import com.marketdata.sdk.stocks.StockNewsRequest;
import java.time.LocalDate;
try (MarketDataClient client = new MarketDataClient()) {
var news = client.stocks().news(
StockNewsRequest.builder("AAPL")
.from(LocalDate.now().minusDays(7))
.to(LocalDate.now())
.build());
for (StockNewsArticle a : news.values()) {
System.out.println(a.publicationDate() + " " + a.headline() + " (" + a.source() + ")");
}
}
import com.marketdata.sdk.MarketDataClient
import com.marketdata.sdk.stocks.StockNewsRequest
import java.time.LocalDate
MarketDataClient().use { client ->
val news = client.stocks().news(
StockNewsRequest.builder("AAPL")
.from(LocalDate.now().minusDays(7))
.to(LocalDate.now())
.build())
for (a in news.values()) {
println("${a.publicationDate()} ${a.headline()} (${a.source()})")
}
}
note
On the typed path, all article fields are populated. For column projection use the CSV facet: client.stocks().asCsv().news(...).