Local Rags RSS is a derived resource built on existing national local-media datasets.
The outlet backbone comes from 3DLNews, which itself extends the Local Memory Project registry of local newspapers, television stations, and radio stations. We reuse that existing work — including outlet names, websites, geography, and supplied RSS metadata — as the starting point for this directory. The prior resources provide the registry and feed metadata; this project curates and operationalizes that inherited material.
Our contribution is downstream: we check those inherited feed candidates against the live web, discover current feeds when the supplied ones fail, reconcile publication identities, and select usable canonical feeds. The result is a current geographic source index connecting local newspapers to working RSS and Atom endpoints.
That index can serve as a routing layer for place-based news collection: resolve a place, identify the local publications that cover it, retrieve current feed items, and pass them to downstream search, mapping, or LLM/RAG systems.
The current resource contains 1,610 validated feed URLs covering all 50
states and Washington, DC: output/local_rags_rss.csv.
25 columns: source_id, outlet_id, outlet, outlet_aliases, state,
state_abbr, census_region, census_division, county, fips,
rucc_2023, metro_status, homepage, feed_url, feed_type,
feed_title, discovery_method, freshness, latest_item_at, checked_at,
source_record_ids, 3dl_source_lists, covered_outlet_count,
covered_outlets, selection_status.
| outlet | state | region | division | county | feed_url | discovery_method | freshness | covered_outlet_count | selection_status |
|---|---|---|---|---|---|---|---|---|---|
| Alaska Native News | AK | West | Pacific | Kenai Peninsula Borough | https://alaska-native-news.com/feed/ | autodiscovery | active | 1 | automatic |
| Peninsula Clarion | AK | West | Pacific | Kenai Peninsula Borough | https://www.peninsulaclarion.com/feed/ | common_path | active | 2 | automatic_shared_feed |
| Daily Home | AL | South | South Atlantic | Talladega County | https://www.annistonstar.com/search/?f=rss&t=article&c=the_daily_home&l=50&s=start_time&sd=desc | source_supplied | active | 2 | automatic_shared_feed |
Each row also carries homepage, feed_title, latest_item_at, checked_at,
upstream record IDs, and alias/coverage fields for reconciled outlets.
census_region and census_division follow the US Census Bureau regions and
divisions.
They are state-level classifications inherited by each county record.
rucc_2023 and metro_status come from the USDA 2023 Rural-Urban Continuum
Codes. They join by county FIPS outside Connecticut. Because the 2023 codes use
Connecticut's nine planning regions instead of its eight historical counties,
Connecticut outlets are matched to a planning region by their source location.
County gaps inherited from the source registry are resolved through the
auditable config/geography_overrides.csv table. Each correction is keyed to
an upstream source record and retains its supporting URL, rationale, and review
date. Geography overrides are applied before outlet reconciliation.
3DLNews extends the Local Memory Project (LMP) US local news media dataset, originally built to help communities collect stories from nearby publishers:
Nwala, A. C., Weigle, M. C., Ziegler, A. B., Aizman, A., & Nelson, M. L. (2017). Local Memory Project: Providing Tools to Build Collections of Stories for Local Events from Local Sources. JCDL 2017. https://doi.org/10.1109/JCDL.2017.7991576
LMP assembled a nationwide registry of local newspapers, TV, and radio outlets with websites, geo-coordinates, and RSS metadata. Those outlet and feed records form part of the inherited source material for this directory.
The outlet backbone and initial feed seeds come from 3DLNews, an MIT-licensed US local media resource built from an extended LMP registry:
Ariyarathne, G., & Nwala, A. C. (2024). 3DLNews: A Three-decade Dataset of US Local News Articles. arXiv:2408.04716. https://arxiv.org/abs/2408.04716 Resource: https://github.com/wm-newslab/3DLNews
3DLNews is a retrospective article corpus: nearly one million local-news URLs (with HTML) spanning 1996–2024, collected by scraping Google and Twitter (X) search results for more than 14,000 local newspapers, TV, and radio stations. The release also includes media-organization metadata, including RSS arrays that supply initial candidates for this project. Here, those inherited URLs are curated through live validation, discovery, identity reconciliation, and canonical selection.
In the paper, RSS appears mainly as contrast (NELA-Local collected articles from feeds). 3DLNews itself is not a maintained directory of live publisher feeds.
Article snapshots and live feed directories serve different jobs.
| 3DLNews | Local Rags RSS | |
|---|---|---|
| Primary object | Historical article URLs (+ HTML) | Live RSS/Atom feed URLs |
| Time orientation | Retrospective (1996–2024) | Current and refreshable |
| Media scope in paper | Newspapers, TV, radio | Newspapers only |
| Feed URLs | Metadata seeds, not the product | The product |
| Validation | Article/link filtering for news | Live HTTP + feed usability checks |
| Identity work | Media org registry for collection | Outlet reconciliation + durable overrides |
| Typical use | Study past local coverage | Ongoing ingestion of local news |
Researchers who need a historical sample of local coverage should use 3DLNews. Tools that need working feeds today need URLs that still resolve, parse as feeds, map cleanly to outlets, and can be rechecked when they rot.
Starting from 3DLNews newspaper records, Local Rags RSS builds a separate data product:
- Live validation of supplied RSS/Atom candidates
- Homepage discovery when supplied feeds are missing or unusable (HTML autodiscovery and common RSS paths)
- Validation of discovered candidates before inclusion
- Reconciliation of duplicate or variant outlet records
- Canonical selection among multiple usable feeds (including legitimate section or edition feeds)
- Rejection of comment feeds, irrelevant mappings, and duplicate canonical URLs
- Auditable overrides for ambiguous identities (
config/feed_overrides.csv) - Resumable national runs so interrupted checks do not start over
Other public directories were assessed and did not justify a second ingestion
system. Values in 3dl_source_lists describe provenance inside 3DLNews; they
do not mean those directories were independently crawled here.
- 9,439 3DL newspaper records ingested
- 4,639 supplied feed candidates checked (4,378 unique URLs)
- 8,823 publisher homepages checked where supplied feeds were absent or unusable
- 1,596 additional usable feeds found by discovery
- 7,738 reconciled publication identities
- 1,612 selected unique feeds →
output/local_rags_rss.csv
Most selected feeds were found or confirmed on the live web rather than taken at face value from the upstream seed.
Rscript scripts/run-stage1.R
Rscript scripts/run-3dl-feeds.R --cores=4 --timeout=12 --batch-size=25
Rscript scripts/build-canonical.Rrun-stage1.R— download and normalize 3DL newspaper records and supplied feed URLsrun-3dl-feeds.R— validate supplied feeds; discover and validate replacements from publisher homepages (checkpointed;--max-age-days=30rechecks older results; omit to reuse every cached result)build-canonical.R— reconcile outlets, apply overrides, write the national CSVcheck-feed-rot.R— recheck the published feeds, retain observation history, and rediscover candidates after repeated failures
Outlet aliases and shared-feed coverage stay on the selected feed row rather than duplicating retrieval.
Ambiguous mappings remain in data-intermediate/reconciliation_review.csv and
are not silently promoted. Refresh triage evidence (feed titles, recent item
titles, homepage metadata; no article bodies):
Rscript scripts/collect-review-evidence.R --cores=4 --timeout=10 --batch-size=25Optional structured LLM review (ellmer; reads OPENAI_API_KEY from the
environment; never writes the key to project files):
Rscript scripts/run-llm-review.R --limit=5
Rscript scripts/run-llm-review.R
Rscript scripts/apply-llm-approvals.R # only after inspecting high-confidence approvals
Rscript scripts/build-canonical.RRecommendations are triage only. Durable decisions belong in
config/feed_overrides.csv.
config/ 3DL source, RSS discovery paths, reviewed overrides
R/ ingestion, validation, discovery, reconciliation, review
scripts/ executable pipeline and review stages
tests/ executable checks
data-intermediate/ checkpoints, audits, and review tables (ignored)
output/ one published nationwide CSV
run-stage1.R downloads the upstream snapshot into data-raw/ (created on first run; ignored by git).
Maintainer handoff, unresolved review queue, retention rules, standalone-repo
checklist, and textpress integration notes: PROJECT.md.
Offline copy of the 3DLNews paper: 2408.04716v1.pdf.