Which words are carrying the coverage?
A sentiment score compresses a day of text into one number. Word weights do something different: they tell you which vocabulary that text was made of. It is the difference between "the coverage was positive" and "the coverage was about tariffs".
The call and the answer
/news-word-weights takes s (required), the date range as filter[date_from] and filter[date_to], page[limit] between 1 and 500 with a default of 10, and fmt of json or xml. There is also a deprecated alias, filter[to]; use filter[date_to] and never send both.
Asking for s=AAPL.US from 2026-01-05 to 2026-01-09 with page[limit]=10 returned:
data: stock 0.01820 market 0.01114 companies 0.00925 year 0.00885
apple 0.00818 invest 0.00792 inc 0.00690 ai 0.00669
investor 0.00615 share 0.00507
meta: news_processed 300, news_found 1986
links: next null
Three observations, all checkable
Eight of the ten words are finance-generic. "stock", "market", "companies", "year", "invest", "inc", "investor", "share" would sit near the top for almost any listed company in almost any week. Only "apple" and "ai" say anything about this subject, and "apple" is the company's own name. A top-10 word list is mostly a description of financial English, not of the story. The discriminating vocabulary starts further down, which is what page[limit] up to 500 is for.
The ten weights sum to 0.08835 — under 9%. More than 91% of the weight is spread across a long tail you did not request. Whatever these weights are normalised over, it is a vocabulary far larger than the slice you are looking at, so treat a weight as a rank rather than as a share of anything meaningful.
Only 300 of 1,986 matching articles were scored. news_found is 1986 and news_processed is 300 — about 15.1%. The weights describe a sample, and the sampling rule is not published. Two runs over the same window need not return identical numbers, and a window with 20,000 matching articles is summarised from the same 300. That is a real ceiling on how much a wide window can tell you, and it argues for many narrow windows over one broad one.
What it is good for
The single most useful pattern is differencing two windows. Run the same symbol over the week before an event and the week after, and diff the lists. The words that appear in one and not the other are the event, expressed in the language the press actually used — which is often not the language you would have searched for.
Non-advice framing matters here as much as anywhere: word weights describe coverage. They are a measurement of what journalists and press offices wrote, not of the company's condition, and certainly not of its price. A term rising up the list means it carried more relative weight in the 300 articles that were sampled, and nothing further.
Try it now
A response keyed by the words themselves is not something a rendered table can hold, so the answers for these steps are printed, all for s=AAPL.US with page[limit]=15, requested on 28 September 2026.
| window | top 15 words, heaviest first | news_processed |
news_found |
|---|---|---|---|
| 14 to 18 September 2026 | stock, apple, companies, ai, year, market, investor, billion, invest, price, growth, buy, nvidia, revenue, will | 239 | 1,416 |
| 21 to 25 September 2026 | stock, ai, apple, market, companies, invest, year, investor, meta, price, spk, growth, speaker, report, continually | 238 | 1,385 |
| 25 September 2026 | ai, apple, stock, invest, report, companies, revenue, meta, billion, zacks, ceo, inc, spouse, free, year | 33 | 209 |
| 25 August to 25 September 2026 | apple, stock, companies, ai, year, market, billion, invest, nvidia, price, investor, growth, etf, time, will | 300 | 8,697 |
- Diff the word sets of the two adjacent weeks, the first two rows. The symmetric difference is your event summary: say which of its words describe an event and which are noise from a single source.
- Compare
news_foundacross the one-day window and the one-month window, the last two rows. Watchnews_processedstop at 300 whilenews_foundgrows, and note what that does to how much you can conclude from the month. - Build a stop-list from the generic terms named above and apply it to the second row. The list gets short and interesting very quickly.