Build1 publisher3 min readPublished Updated
Filtering NVIDIA news on the headline alone drops 3,890 of 5,718 articles in a week
A developer pulled seven days of NVIDIA coverage three ways and counted what each stage of the filter removed. Headline matching kept 29.8% of it. The full five-stage chain kept 161 articles of 5,718.
The Engineer · Build desk

What happened
- A seven-day pull from the APITube news API, covering 2026-08-30 to 2026-09-05, returned 5,718 articles mentioning NVIDIA, about 817 a day.
- Five filtering stages applied in order to that same pull left 161 alerts, or 23 a day.
- Searching article headlines for the company name found 29.8% of the coverage that mentioned NVIDIA over the week.
- Entity resolution on its own was not the fix: 180 articles had "nvidia" in the headline and no NVIDIA entity extracted at all, 9.8% of the headline set.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
- constraint An unset language filter leaves English theme keywords scanning German and Chinese text, so the watcher fails without erroring; setting language=en forecloses about two thirds of the corpus instead.
- decision Anyone running a single strategy is choosing which failure mode to eat. The union prices that choice at one extra request per window, which is cheap enough to remove the argument.
- exposure The stories the headline query drops are the ones an analyst is watching for, a supplier's export licence or a hyperscaler's capex call, and a 23-item alert list does not show what was dropped.
- contradiction The post's own headline-set figures differ by roughly 124 articles, so whether headline recall is under 30% or about 32% depends on which denominator the reader takes.
The finished watcher runs two queries per window because neither filter contains the other. One asks the API for articles whose title holds the string, `title=nvidia` on the `/v1/news/everything` endpoint [19]. The other asks for the canonical entity id, which matches regardless of spelling and carries NVIDIA, nVidia and NVDA as aliases in the entity metadata [11][12]. Named-entity recognition misses articles too, according to the post, especially on smaller and non-English outlets [14]. Two requests a window is the cheapest line in this design [10].
Stage three is where the volume goes. Only 32.2% of entity-matched articles put the company in the headline; the rest name it in passing, in a monitor review or a fund's holdings list [9]. The rule is the headline plus at least two mentions in the body, counted off `entities[].frequency` [11], and it took 258 articles a day down to 97, a cut of 62.4% [9][5].
Then the same story arrives again. 12.5% of what survives filtering is a republication under a near-identical headline [8]. At 97 a day, that is about 12 [6]. The response already carries `is_duplicate` and a `story.id`; in the sample record printed with the post, the story id equals the article id and `is_duplicate` is false [12].
1,806 of the 5,718 articles were in English, 31.6% [6], so 3,912 were not [2]. German was 9.4% and Spanish 7.4% [7]. Leaving `language=en` unset leaves English theme keywords matching against text they cannot match [16]. "I set it, because I can't read the rest. That's a choice, not a default," the author wrote [13].
The recall figures do not close. The post says a headline search finds 29.8% of the coverage [3], which is 1,704 of 5,718; it also says the headline query misses 3,890, which leaves 1,828 [3]. The 180 headline hits with no entity extracted are given as 9.8% of the headline set, implying about 1,837 [5][4]. Low figure to high figure, that is a gap of roughly 124 articles [3].
For the counts to transfer, your subject has to look like this one. NVIDIA's entity record is flagged `is_public_entity` and carries a ticker alias [12], and the week's coverage ran in at least eight languages [7]. A private domestic supplier gets a different language mix and, I would expect, worse extraction than a 9.8% miss. That 9.8% is one provider's NER over one week, measured 2026-09-06 [15][5]. The one sample record the post prints is an earnings story dated 2026-09-02 [17], so 817 a day is not a quiet-week baseline.
Version one of the script was fifteen lines, and the author wrote that it was wrong in a way the output did not show [18]. Five stages later, 161 of the 5,718 articles were left, 2.8% of the pull [2][1].
What to watch
- The published material stops at stage four, so the rule that takes 97 articles a day down to 23 alerts is not described.
- The pull script and the counts are published alongside the post; re-running them over a week without earnings coverage would show whether 817 articles a day is typical.
- Whether a second provider's entity extraction misses the same 9.8% of headline hits, or fewer.