I ended up developing my own financial news API (real-time and historical) covering
- All newswires and press releases of all US listed companies (PR Newswire, Globenewswire, BusinessWire, etc)
- Journals (Wall Street Journal, Bloomberg, Reuters, etc.)
- All SEC filings (10Q/10K, 8K, 4, etc) + SEC press releases (e.g. SEC charges a company with fraud)
- clinicaltrials.gov
- FDA approvals, new drug applications, FDA press releases (fda.gov)
- US government contract awards (sam.gov)
- Patent applications, approvals and appeals (uspto.gov)
- US Department of Defense contract awards (e.g. $50M to Boeing)
- FCC filings (e.g. Amazon registering new ground stations for satellites)
The indexation algortihm indexes new articles within 210 milliseconds (median) after publication and identifies any US company mentioned in the article in order to tag the article with the corresponding trading symbols.
API example response:
"articles": [
{
"symbols": ["AAPL"],
"title": "Apple to extend some free subscription to video-streaming service through February",
"description": "Apple Inc said on Thursday that it would extend free Apple TV+ subscriptions, which were set to end within the next three months, through February.",
"url": "https://newsfilter.io/articles/apple-to-extend-some-free-subscription-to-video-streaming-service-through-february-08e1183fa9faa738dc66ae6d2c7d4f3e",
"publishedAt": "2020-06-08T15:50:02.473Z",
"id": "25a5e721982ce5b75f340c2d30bc7bc3",
"industries": [
"Software - Infrastructure",
"Household & Personal Products"
],
"sectors": ["Technology", "Consumer Defensive"],
"source": {
"id": "reuters",
"name": "Reuters"
}
},
{
"symbols": ["C"],
"title": "Citigroup Sees Illinois Bonds Already Pricing In Worst Outcome",
"description": "When it comes to Illinois bonds, Citigroup Inc. says the worst-case-scenario has already been priced in.",
"url": "https://newsfilter.io/articles/citigroup-sees-illinois-bonds-already-pricing-in-worst-outcome-65c8a53206ed9f030bd4cb18552bdaf0",
"imageUrl": "https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i4xxGH1AndIg/v2/-1x-1.png",
"publishedAt": "2020-06-08T17:30:17.263Z",
"id": "65c8a53206ed9f030bd4cb18552bdaf0",
"industries": ["Banks - Global"],
"sectors": ["Financial Services"],
"source": {
"id": "bloomberg",
"name": "Bloomberg"
}
},
{
"symbols": ["TSLA"],
"title": "Tesla Hails Air-Quality Effects of Shutdowns Elon Musk Called Fascist",
"description": "Tesla Inc. is proffering a decidedly different take on the coronavirus-related shutdowns Elon Musk called “fascist” and sued over weeks ago by suggesting they may bolster the case for banning internal-combustion engine cars.",
"url": "https://newsfilter.io/articles/tesla-hails-air-quality-effects-of-shutdowns-elon-musk-called-fascist-15524708278c27207c1fb617acc598c6",
"imageUrl": "https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i3CTYqmBlg6o/v1/-1x-1.jpg",
"publishedAt": "2020-06-08T17:29:57.367Z",
"id": "15524708278c27207c1fb617acc598c6",
"industries": ["Auto Manufacturers"],
"sectors": ["Consumer Cyclical"],
"source": {
"id": "bloomberg",
"name": "Bloomberg"
}
}
]
Documentation:
https://developers.newsfilter.io/
Previously, I used https://newsapi.org/. However, newsapi doesn't provide symbol tickers and doesn't include many sources relevant to investing/trading. Overview:
- free
- access to over 30,000 news sources world wide (US, Germany, India, Japan, etc.)
- RESTful API returning JSON
- excellent API documentation
- no throttling
Example: Top Headlines
Request:
https://newsapi.org/v2/top-headlines?country=us&apiKey=YOUR_API_KEY
Response:
{
status: 'ok',
totalResults: 36,
articles: [
{
source: {
id: 'cnbc',
name: 'CNBC'
},
author: 'Lauren Thomas',
title:
'Target reports holiday same-store sales growth of 5.7%, maintains 2018 outlook - CNBC',
description:
"Target said its same-store sales climbed 5.7 percent during this past holiday season, topping growth of 3.4 percent a year ago and surpassing some analysts' expectations.",
url:
'https://www.cnbc.com/2019/01/09/target-reports-2018-holiday-sales.html',
urlToImage:
'https://fm.cnbc.com/applications/cnbc.com/resources/img/editorial/2017/12/04/104877704-RTX3JT8Z-2-shopping-target.1910x1000.jpg',
publishedAt: '2019-01-10T11:30:10Z',
content:
'Target saw a surge of shoppers head to its stores and website this past holiday season, a sign that its investments in store remodels and delivery services are paying off, and an early sign that consumers across the U.S. spent more on gifts this year. div >… [+3929 chars]'
},
{
source: {
id: 'bloomberg',
name: 'Bloomberg'
},
author: null,
title:
'Ford to Cut Thousands of Jobs in Europe, Eyes Plant Closures - Bloomberg',
description: null,
url:
'https://www.bloomberg.com/news/articles/2019-01-10/ford-to-cut-thousands-of-jobs-in-europe-eyes-plant-closures',
urlToImage: null,
publishedAt: '2019-01-10T10:00:00Z',
content:
"To continue, please click the box below to let us know you're not a robot."
},
{
source: {
id: 'al-jazeera-english',
name: 'Al Jazeera English'
},
author: 'Al Jazeera',
title:
'Turkey says will launch Syria attack if US delays troop pullout - Aljazeera.com',
description:
"Turkey and US remain at loggerheads over the future of Syrian Kurdish forces after Trump's decision to pull out troops.",
url:
'https://www.aljazeera.com/news/2019/01/turkey-launch-syria-attack-delays-troop-pullout-190110092123874.html',
urlToImage:
'https://www.aljazeera.com/mritems/Images/2018/12/16/fcef9a3bf7424348b7fe95c865939579_18.jpg',
publishedAt: '2019-01-10T09:55:00Z',
content:
'Turkey will go ahead with an offensive against Syrian Kurdish fighters in Syria if the United States delays the withdrawal of its troops from the war-torn country, Turkish Foreign Minister Mevlut Cavusoglu has said.'
}
// ... and many more
]
};