{
 "generated_at": "2026-11-04T17:00:00Z",
 "build_id": "e7d19c75d7b794a4",
 "license": {
  "name": "CC BY 4.0",
  "url": "https://creativecommons.org/licenses/by/4.0/",
  "attribution": "Iran War Archive, https://iranwar.liminallayers.com/",
  "except": "Linked and archived articles and posts remain their publishers'. This licence covers what this site wrote: the bulletins, the counts and the metadata."
 },
 "source": "Iran War Archive collection (news outlets, Telegram, Bluesky, Truth Social), snapshot 2026-11-04T17:00:00Z",
 "provenance_rule": "The archive keeps; it does not judge: no outlet is rated, ranked or corrected. Counts measure how much was published, never how intense the fighting was. Bulletins are a language model's analysis of the day's archived articles, not the archive record; every claim cites a numbered source, and the source travels with the claim.",
 "name": "Iran War Archive",
 "url": "https://iranwar.liminallayers.com",
 "station": "IWA-01",
 "day1": "2026-02-28",
 "parent": "Spin Signal",
 "parentUrl": "https://spinsignal.liminallayers.com/",
 "snapshotUtc": "2026-11-04T17:00:00Z",
 "day": 250,
 "totals": {
  "articles": 47098,
  "socialPosts": 151897,
  "stations": 26,
  "bulletins": 414
 },
 "channels": {
  "PRS": {
   "status": "online",
   "count": 45881,
   "first": "2026-02-28",
   "last": "2026-11-04"
  },
  "EVT": {
   "status": "offline",
   "count": 0,
   "first": null,
   "last": null
  },
  "SOC": {
   "status": "online",
   "count": 151896,
   "first": "2026-02-28",
   "last": "2026-11-04"
  }
 },
 "note": "Counts measure how much was published, not how intense the fighting was.",
 "stations": [
  {
   "id": "telegram",
   "code": "TGM",
   "name": "Telegram",
   "channel": "SOC",
   "items": 94045,
   "lastSeen": "2026-11-04T13:24:53Z"
  },
  {
   "id": "bluesky",
   "code": "BSK",
   "name": "Bluesky",
   "channel": "SOC",
   "items": 51436,
   "lastSeen": "2026-11-04T13:22:18Z"
  },
  {
   "id": "truthsocial",
   "code": "TRS",
   "name": "Truth Social",
   "channel": "SOC",
   "items": 6416,
   "lastSeen": "2026-11-04T07:18:21Z"
  },
  {
   "id": "anadolu",
   "code": "AAM",
   "name": "Anadolu Agency — Middle East",
   "channel": "PRS",
   "items": 5758,
   "lastSeen": "2026-11-04T13:02:03Z"
  },
  {
   "id": "aljazeera",
   "code": "AJE",
   "name": "Al Jazeera",
   "channel": "PRS",
   "items": 4449,
   "lastSeen": "2026-11-04T13:02:16Z"
  },
  {
   "id": "mehrnews",
   "code": "MHR",
   "name": "Mehr News Agency",
   "channel": "PRS",
   "items": 4435,
   "lastSeen": "2026-11-04T13:20:38Z"
  },
  {
   "id": "jpost",
   "code": "JPO",
   "name": "The Jerusalem Post",
   "channel": "PRS",
   "items": 3740,
   "lastSeen": "2026-11-04T13:00:47Z"
  },
  {
   "id": "presstv",
   "code": "PTV",
   "name": "Press TV",
   "channel": "PRS",
   "items": 3594,
   "lastSeen": "2026-11-02T07:21:03Z"
  },
  {
   "id": "tehrantimes",
   "code": "TTM",
   "name": "Tehran Times",
   "channel": "PRS",
   "items": 3233,
   "lastSeen": "2026-11-04T13:20:21Z"
  },
  {
   "id": "thecradle",
   "code": "CRD",
   "name": "The Cradle",
   "channel": "PRS",
   "items": 2062,
   "lastSeen": "2026-10-23T13:17:34Z"
  },
  {
   "id": "tasnim",
   "code": "TSN",
   "name": "Tasnim News Agency",
   "channel": "PRS",
   "items": 2029,
   "lastSeen": "2026-11-04T13:20:54Z"
  },
  {
   "id": "timesofisrael",
   "code": "TOI",
   "name": "The Times of Israel",
   "channel": "PRS",
   "items": 1863,
   "lastSeen": "2026-11-02T13:00:39Z"
  },
  {
   "id": "cnn",
   "code": "CNN",
   "name": "CNN",
   "channel": "PRS",
   "items": 1846,
   "lastSeen": "2026-11-04T13:02:17Z"
  },
  {
   "id": "fox",
   "code": "FOX",
   "name": "Fox News",
   "channel": "PRS",
   "items": 1771,
   "lastSeen": "2026-11-04T13:02:55Z"
  },
  {
   "id": "ynet",
   "code": "YNT",
   "name": "Ynetnews",
   "channel": "PRS",
   "items": 1672,
   "lastSeen": "2026-11-04T13:01:40Z"
  },
  {
   "id": "rt",
   "code": "RTN",
   "name": "RT (Russia Today)",
   "channel": "PRS",
   "items": 1584,
   "lastSeen": "2026-11-04T01:14:07Z"
  },
  {
   "id": "bbc",
   "code": "BBC",
   "name": "BBC News",
   "channel": "PRS",
   "items": 1286,
   "lastSeen": "2026-11-04T13:00:05Z"
  },
  {
   "id": "ap",
   "code": "APW",
   "name": "Associated Press",
   "channel": "PRS",
   "items": 1224,
   "lastSeen": "2026-08-25T13:00:05Z"
  },
  {
   "id": "guardian_me",
   "code": "GDN",
   "name": "The Guardian — Middle East",
   "channel": "PRS",
   "items": 1164,
   "lastSeen": "2026-11-04T13:00:23Z"
  },
  {
   "id": "sputnik",
   "code": "SPK",
   "name": "Sputnik",
   "channel": "PRS",
   "items": 1065,
   "lastSeen": "2026-07-20T19:02:16Z"
  },
  {
   "id": "abc_au",
   "code": "ABC",
   "name": "ABC News Australia",
   "channel": "PRS",
   "items": 903,
   "lastSeen": "2026-11-04T07:14:36Z"
  },
  {
   "id": "skynews_au",
   "code": "SKY",
   "name": "Sky News Australia",
   "channel": "PRS",
   "items": 883,
   "lastSeen": "2026-11-04T01:13:32Z"
  },
  {
   "id": "israel_hayom",
   "code": "IHY",
   "name": "Israel Hayom",
   "channel": "PRS",
   "items": 870,
   "lastSeen": "2026-11-04T13:16:39Z"
  },
  {
   "id": "jpost_me",
   "code": "JPM",
   "name": "The Jerusalem Post — Middle East",
   "channel": "PRS",
   "items": 754,
   "lastSeen": "2026-11-03T19:00:36Z"
  },
  {
   "id": "globaltimes",
   "code": "GLT",
   "name": "Global Times",
   "channel": "PRS",
   "items": 582,
   "lastSeen": "2026-11-04T01:14:50Z"
  },
  {
   "id": "bbc_me",
   "code": "BBM",
   "name": "BBC News — Middle East",
   "channel": "PRS",
   "items": 331,
   "lastSeen": "2026-11-03T19:00:04Z"
  }
 ],
 "latest": [
  {
   "date": "2026-11-04",
   "day": 250,
   "sitrep": {
    "lead": "DEMOCRATS SEIZE CONGRESS IN MIDTERM SWEEP, CREATING NEW BUDGET HURDLES FOR TRUMP",
    "url": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-11-04/",
    "markdown": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-11-04.md",
    "json": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-11-04.json"
   },
   "tldr": {
    "lead": "DEMOCRATS SEIZE CONGRESS AND THE PURSE STRINGS",
    "url": "https://iranwar.liminallayers.com/bulletins/tldr-2026-11-04/",
    "markdown": "https://iranwar.liminallayers.com/bulletins/tldr-2026-11-04.md",
    "json": "https://iranwar.liminallayers.com/bulletins/tldr-2026-11-04.json"
   }
  },
  {
   "date": "2026-11-03",
   "day": 249,
   "sitrep": {
    "lead": "US STRIKES QESHM ISLAND AS DIPLOMACY AND COMBAT RUN IN PARALLEL",
    "url": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-11-03/",
    "markdown": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-11-03.md",
    "json": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-11-03.json"
   },
   "tldr": {
    "lead": "US STRIKES QESHM ISLAND IN SECRET",
    "url": "https://iranwar.liminallayers.com/bulletins/tldr-2026-11-03/",
    "markdown": "https://iranwar.liminallayers.com/bulletins/tldr-2026-11-03.md",
    "json": "https://iranwar.liminallayers.com/bulletins/tldr-2026-11-03.json"
   }
  },
  {
   "date": "2026-11-02",
   "day": 248,
   "sitrep": {
    "lead": "TRUMP WEIGHS POST-MIDTERM STRIKES AMID INTERNAL FRICTION",
    "url": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-11-02/",
    "markdown": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-11-02.md",
    "json": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-11-02.json"
   },
   "tldr": {
    "lead": "TRUMP CONSIDERS POST-MIDTERM STRIKES",
    "url": "https://iranwar.liminallayers.com/bulletins/tldr-2026-11-02/",
    "markdown": "https://iranwar.liminallayers.com/bulletins/tldr-2026-11-02.md",
    "json": "https://iranwar.liminallayers.com/bulletins/tldr-2026-11-02.json"
   }
  },
  {
   "date": "2026-11-01",
   "day": 247,
   "sitrep": {
    "lead": "IRAN THREATENS EUROPE WHILE NEGOTIATING IN DOHA",
    "url": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-11-01/",
    "markdown": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-11-01.md",
    "json": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-11-01.json"
   },
   "tldr": {
    "lead": "IRAN TARGETS EUROPE WHILE TALKING IN DOHA",
    "url": "https://iranwar.liminallayers.com/bulletins/tldr-2026-11-01/",
    "markdown": "https://iranwar.liminallayers.com/bulletins/tldr-2026-11-01.md",
    "json": "https://iranwar.liminallayers.com/bulletins/tldr-2026-11-01.json"
   }
  },
  {
   "date": "2026-10-31",
   "day": 246,
   "sitrep": {
    "lead": "IRANIAN DELEGATION IN DOHA, BUT THE STRAIT IS STILL ON FIRE",
    "url": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-10-31/",
    "markdown": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-10-31.md",
    "json": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-10-31.json"
   },
   "tldr": {
    "lead": "IRANIAN DELEGATION IN DOHA AS HORMUZ BURNS",
    "url": "https://iranwar.liminallayers.com/bulletins/tldr-2026-10-31/",
    "markdown": "https://iranwar.liminallayers.com/bulletins/tldr-2026-10-31.md",
    "json": "https://iranwar.liminallayers.com/bulletins/tldr-2026-10-31.json"
   }
  },
  {
   "date": "2026-10-30",
   "day": 245,
   "sitrep": {
    "lead": "LIMPET MINES IN HORMUZ MARK A TACTICAL ESCALATION",
    "url": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-10-30/",
    "markdown": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-10-30.md",
    "json": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-10-30.json"
   },
   "tldr": {
    "lead": "LIMPET MINES IN HORMUZ: IRANs NAVY JUST CHANGED THE TACTICAL PICTURE",
    "url": "https://iranwar.liminallayers.com/bulletins/tldr-2026-10-30/",
    "markdown": "https://iranwar.liminallayers.com/bulletins/tldr-2026-10-30.md",
    "json": "https://iranwar.liminallayers.com/bulletins/tldr-2026-10-30.json"
   }
  },
  {
   "date": "2026-10-29",
   "day": 244,
   "sitrep": {
    "lead": "VANCE WRITES TO TEHRAN, AND TEHRAN IS EXPECTED TO WRITE BACK TODAY",
    "url": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-10-29/",
    "markdown": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-10-29.md",
    "json": "https://iranwar.liminallayers.com/bulletins/sitrep-2026-10-29.json"
   },
   "tldr": {
    "lead": "VANCE WROTE TO TEHRAN WHILE TRUMP SAID THERE WERE NO TALKS",
    "url": "https://iranwar.liminallayers.com/bulletins/tldr-2026-10-29/",
    "markdown": "https://iranwar.liminallayers.com/bulletins/tldr-2026-10-29.md",
    "json": "https://iranwar.liminallayers.com/bulletins/tldr-2026-10-29.json"
   }
  }
 ],
 "files": {
  "llms": "https://iranwar.liminallayers.com/llms.txt",
  "agents": "https://iranwar.liminallayers.com/agents.md",
  "feed": "https://iranwar.liminallayers.com/feed.xml",
  "bulletins": "https://iranwar.liminallayers.com/data/bulletins.json",
  "days": "https://iranwar.liminallayers.com/data/days.json",
  "bulletinMarkdown": "https://iranwar.liminallayers.com/bulletins/{slug}.md",
  "bulletinJson": "https://iranwar.liminallayers.com/bulletins/{slug}.json",
  "catalog": "https://iranwar.liminallayers.com/.well-known/ai-catalog.json",
  "openapi": "https://iranwar.liminallayers.com/openapi.json"
 },
 "fields": {
  "name": "Site name.",
  "url": "Site URL.",
  "station": "The site's own station code.",
  "day1": "Day 1 of the war (UTC).",
  "parent": "The family of sites this belongs to.",
  "parentUrl": "Its URL.",
  "snapshotUtc": "When the data snapshot behind this build was taken (UTC). Same as generated_at.",
  "day": "War day number at the snapshot.",
  "totals": "articles, socialPosts: items in the archive at the snapshot; stations: outlets and platforms listed below; bulletins: in /data/bulletins.json.",
  "channels": "PRS (press articles), SOC (social posts), EVT (structured event data; offline, none ingested): status, count, first and last UTC date.",
  "note": "How to read the counts.",
  "stations": "Every outlet or platform the archive collects from.",
  "latest": "The newest seven edition dates, newest first.",
  "files": "Where the other machine-readable files are."
 },
 "stations_fields": {
  "id": "Outlet identifier in the archive.",
  "code": "Three-letter code, as used in bulletin references.",
  "name": "Outlet name.",
  "channel": "PRS (press) or SOC (social).",
  "items": "Items archived from it.",
  "lastSeen": "Publication time of its newest archived item (UTC). An old value means the outlet stopped publishing or its feed broke; the archive does not say which."
 },
 "latest_fields": {
  "date": "Edition date (Australian Eastern time; reports on the previous UTC day).",
  "day": "War day number.",
  "sitrep": "The SITREP for that date: lead, url, markdown, json; or null.",
  "tldr": "The TLDR for that date: lead, url, markdown, json; or null."
 }
}
