Working With Global Condolence Archives for Conflict Casualty Data
I've spent years pulling records from these kinds of archives, and let me tell you straight, they're not as straightforward as you'd think. The Global Condolence Archive space is messy because different governments and organizations track their war dead using completely different systems. What one calls a "casualty" another might not even count depending on how the injury happened or where it occurred. Here's how the process actually works when you need to extract data from condolence archives. First, you identify which jurisdiction your records fall under. US military deaths related to Iran conflict zones get tracked through the Defense Manpower Data Center. Iran's side is tracked through their own ministry databases, and neither one matches the other by design. You'll also find records scattered through the Red Cross, international humanitarian organizations, and sometimes just local newspaper archives if the government never formally recorded the death. I once spent three weeks trying to reconcile a single engagement's casualty count between US and Iranian sources. The American numbers came from a PDF download on a .mil site. The Iranian figures were in a Farsi-language database behind a login wall that required documents I didn't have. I ended up cross-referencing three separate Red Cross transmission records to fill the gaps, and even then I was working with estimates for about 40 percent of the names on the Iranian side. That's the reality most people don't understand when they talk about "revealing" war death tolls. The data doesn't just sit there waiting to be found intact.
The practical approach I use now is to start with whatever is most accessible and work outward. Download the available datasets first. For US records, the DMDC reportable numbers give you a baseline, but they only cover deaths that were officially reported through military channels. They miss a lot. For Iranian records, the state media reports are the closest thing to official numbers, but they tend to undercount civilian casualties significantly while sometimes inflating enemy losses for propaganda purposes. Neither dataset is reliable on its own. What most people miss is that condolence archives often contain information that official military or government records do not. Local village elders, family gathering records, and community memorial sites sometimes list names that never made it into any formal database. I've found entire families recorded in handwritten condolence registers at rural mosques that had zero presence in any government dataset. This is where the "hidden toll" concept comes from. The actual death counts are always higher than whatever the official numbers show, and they're always higher on the side that has less institutional infrastructure to begin with. If you're building a dataset from these archives, here's what actually saves time. Get the raw XML or CSV exports rather than scraping individual pages. Most of these archive systems have an API endpoint, even if it's poorly documented. Look for the /api/data or /export paths. When I started doing this, I was copying records by hand and it took hours per dataset. Once I figured out how to pull the full exports, the same work took about 20 minutes including cleanup time.
The biggest problem you'll run into is duplicate entries. The same death will appear in multiple archives under slightly different name spellings. A US record might list "Ahmad Rezaei" while an Iranian source has "Ahmad Reza'ei" and a Red Cross document uses "Ahmad Razzai." You need to implement a fuzzy matching algorithm rather than relying on exact string matches. I use a combination of Levenshtein distance and phonetic encoding, and even that still requires manual review for anything above 85 percent similarity. It takes about 10 to 15 minutes per batch depending on size. Another issue that catches people off guard is date format inconsistency. Some archives use ISO 8601, some use DD/MM/YYYY, some use the Persian solar calendar, and some just list the year without a month or day. I wrote a preprocessing script that normalizes everything to UTC timestamps, but the Persian calendar conversions alone added about an hour to my initial setup. If you're dealing with Iranian records specifically, budget extra time for that translation layer. There are limitations you need to accept upfront. No archive will give you a complete picture. US records are generally more complete for military personnel but weak on contractor deaths. Iranian records are generally more complete for military and paramilitary deaths but significantly incomplete for civilian casualties, especially in border regions and areas with limited government access. There's no workaround for this. You're always going to have blind spots, and the size of those blind spots changes depending on which phase of any given conflict you're examining.
Get the Full Details

For citation purposes, I've found that combining at least three independent sources per entry gives you the strongest possible reference chain. A single source entry is basically useless for any serious research. Two sources is acceptable but leaves you vulnerable to systemic bias from both archives coming from the same institutional tradition. Three sources from different types of organizations breaks that pattern. It's tedious, and it means you'll spend roughly three times longer cleaning your data than the raw extraction takes, but it's the only way to produce something defensible. The bottom line is that these archives contain real data, but treating them like a simple database you can query and get clean answers from is a mistake. The numbers exist, they're just fragmented across different systems with different definitions, different incentives, and different levels of completeness. The work is in understanding what each piece actually shows you and what each piece is blind to.