ODNI Newsroom
active Ingestion health: delivering Executive · Tier 2 · RSS feed · Office of the Director of National Intelligence
Official site (opens in a new tab) · All sources
What this source is
The Office of the Director of National Intelligence coordinates the intelligence community. Its newsroom carries press releases, statements, and declassification announcements at a low but steady rate — roughly two to four a month — and is the pipeline's only intelligence-community coverage.
Identity and registry record
- Registry id
odni-news- Agency / parent organization
- Office of the Director of National Intelligence
- Branch
- executive
- Type
- RSS feed
- Status
- active
- Tier
- 2
- URL (feed)
- https://www.odni.gov/newsroom/press-releases/feed/ (opens in a new tab)
- URL (home)
- https://www.odni.gov/newsroom/ (opens in a new tab)
- Registered
- 2026-07-28
- Registry notes
- RSS section documented at dni.gov/index.php/rss (2026-07-28, surfaced in search results). Probe 2026-07-28: the candidate feed path /index.php/rss/311-odni-news-feed returned 404 (10-byte response); host is open and its robots.txt sets a 10s crawl-delay (honored). Next step: fetch the /index.php/rss section page through AgencyClient to read the real feed URL, then re-probe. Resolved 2026-07-31 (operator machine, off the server budget), and the answer was bigger than a bad path: ODNI has left Joomla AND left the domain. Every /index.php/* address now 301s to archive.dni.gov, where it 404s, and www.dni.gov/newsroom/ redirects to www.odni.gov/newsroom/ — a WordPress site. The 404 was a whole-publisher migration our registry read as a broken link. Do not use the site-wide WordPress feed (odni.gov/feed/): it carries 532 items of which 371 are media-library /download/ attachments and several are bare offsite links to YouTube with empty descriptions. The category feed is the right door. Gate-3 coverage evaluation (2026-07-31, from the probe): https://www.odni.gov/newsroom/press-releases/feed/ answers HTTP 200 with well-formed RSS carrying 54 items — the entire press-release category since the site migration, 2025-02-12 through 2026-06-19 (43 in 2025, 11 in 2026), every one with a guid (the WordPress post id, /?p=NNNNN, so identity does not depend on URL shape) and an RFC 822 date, every link on odni.gov, none with an empty description. Descriptions average 344 characters — teaser length — but the sample article page extracted 8,082 characters, so this ingests at mode full rather than feed-only. What we will NOT see: the newsroom's sibling categories /newsroom/remarks/ and /newsroom/reports/, each presumably its own WordPress feed; those are separate registry entries if wanted, and their absence is the disclosed under-coverage here. Publication is sparse — the newest item at activation was six weeks old — so empty days are the source's normal state, not a fault. One-time activation cost to budget: the feed hands us all 54 items at once and the default adapter fetches each article page, so first ingest spends about 54 requests at this host's 10-second crawl-delay (~9 minutes of wall clock); the dating rule then excludes almost all of them as backfill under AGENCYPR-EX-01. Steady state is one conditional request a day. If the agency class is near its daily ceiling the budget will simply cut the backfill short and the next run resumes it — but prefer to activate on a day with headroom. Probed 2026-07-31: registered URL returned 404 (https://www.dni.gov/index.php/rss/311-odni-news-feed) — the publisher moved or retired it; not a refusal.
How we ingest it
- Channel
- RSS feed
- Method
- Polls the ODNI press-release RSS feed daily; article pages are fetched and extracted, honoring the host's 10-second crawl-delay.
- Poll cadence
- about every 60 minutes while the collector runs
- Request budget
- the agency class: at most 1,500 requests per day shared across every agency web source, counted from the fetch log (failed requests count too)
- Politeness
- robots.txt is honored as observed — including each host's crawl-delay, exactly — and every request identifies itself as fapd/0.1 (Free Agentic Publication Digester; +https://fapd.info/bot.html; contact: hustleyourcity@gmail.com); a refusal is recorded, never evaded
- Capture and hash
- captured raw content is hashed (SHA-256) into the day's committed provenance manifest, hash-chained day to day (PROVENANCE.md)
Ingestion health
Ingestion health: delivering 55 item(s) in the last 14 days; most recent 2026-08-03; 0 of 179 request(s) to www.odni.gov returned no content.
This label has held since 2026-08-03T18:46:01Z (UTC) and was last re-checked 2026-08-03T19:51:47Z (UTC).
Counts are of our own requests, retries included. A 4xx or 5xx is the server declining to return content — that may be load, maintenance, on-demand generation, or a limit the publisher sets, and we cannot tell which from outside. Nothing here is a measurement of the publisher.
Ingestion statistics
These figures describe this project's ingestion of this source — items we recorded and requests we made — and nothing else. They are not a measurement of the publisher.
Last 24 hours
Last 24 hours: 28 request(s) (28 answered, 0 returned no content) · 1 item(s) ingested
Last 14 days
Items ingested: 55 in 14 days (3.93 per day) · most recent 2026-08-03
Content length: 7,357 characters average, 5,781 median (shortest 3,340, longest 25,686)
Delivery mode: full — full article text, fetched from the item's own page
Our requests to www.odni.gov: 179 request(s) · 179 answered · 0 declined (4xx) · 0 server declined (5xx) · 0 no response — 0.0% returned no content
last answered request 2026-08-03T19:46:28.249+00:00 UTC.
55 item(s) in the last 14 days; most recent 2026-08-03; 0 of 179 request(s) to www.odni.gov returned no content.
All time
Our requests to www.odni.gov, all time (since 2026-08-01): 179 request(s) · 179 answered · 0 returned no content
Request counts begin 2026-07-30, the day this service went into production; earlier development-machine traffic is excluded. Counts before 2026-08-03 include unmarked source-probe traffic; probes are labeled and excluded thereafter.
Last 30 days, day by day
| Day | requests |
|---|---|
| 2026-07-30 | 0 |
| 2026-07-31 | 0 |
| 2026-08-01 | 100 |
| 2026-08-02 | 53 |
| 2026-08-03 | 26 |
| Day | items |
|---|---|
| 2026-07-05 | 0 |
| 2026-07-06 | 0 |
| 2026-07-07 | 0 |
| 2026-07-08 | 0 |
| 2026-07-09 | 0 |
| 2026-07-10 | 0 |
| 2026-07-11 | 0 |
| 2026-07-12 | 0 |
| 2026-07-13 | 0 |
| 2026-07-14 | 0 |
| 2026-07-15 | 0 |
| 2026-07-16 | 0 |
| 2026-07-17 | 0 |
| 2026-07-18 | 0 |
| 2026-07-19 | 0 |
| 2026-07-20 | 0 |
| 2026-07-21 | 0 |
| 2026-07-22 | 0 |
| 2026-07-23 | 0 |
| 2026-07-24 | 0 |
| 2026-07-25 | 0 |
| 2026-07-26 | 0 |
| 2026-07-27 | 0 |
| 2026-07-28 | 0 |
| 2026-07-29 | 0 |
| 2026-07-30 | 0 |
| 2026-07-31 | 54 |
| 2026-08-01 | 0 |
| 2026-08-02 | 0 |
| 2026-08-03 | 1 |
| Day | ms |
|---|---|
| 2026-07-30 | — |
| 2026-07-31 | — |
| 2026-08-01 | 224 |
| 2026-08-02 | 152 |
| 2026-08-03 | 251 |