[HN Gopher] Show HN: CIA World Factbook Archive (1990-2025), sea...
___________________________________________________________________
Show HN: CIA World Factbook Archive (1990-2025), searchable and
exportable
A structured archive of CIA World Factbook data spanning 1990-2025.
It currently includes: 36 editions 281 entities ~1.06M parsed
fields full-text + boolean search country/year comparisons
map/trend/ranking analysis views CSV/XLSX/PDF export The goal is to
preserve long-horizon public-domain government data and make cross-
year analysis practical. Live: https://cia-factbook-archive.fly.dev
About/method details: https://cia-factbook-archive.fly.dev/about
Data source is the CIA World Factbook (public domain). Not
affiliated with the CIA or U.S. Government.
Author : MilkMp
Score : 456 points
Date : 2026-02-22 20:50 UTC (1 days ago)
(HTM) web link (cia-factbook-archive.fly.dev)
(TXT) w3m dump (cia-factbook-archive.fly.dev)
| celeryd wrote:
| Any way to download them all at once?
| MilkMp wrote:
| Hey there, will add the feature. Wasn't sure if people's
| computers could handle it all in one, lol, but will make it
| available in the data export page.
| b8 wrote:
| 2025-2026 is available (to purchase/read outside or ur site) and
| the last version 2026-2027 is planed for release on April 7th,
| https://www.amazon.com/CIA-World-Factbook-2026-2027-ebook/dp....
| crims0n wrote:
| Somehow it escaped me that these were published books as well.
| Thank you kind stranger.
| 0x38B wrote:
| I used to check them out from the military library to read as
| a teenager - the books looked cool, official in their white
| bindings, and I loved the facts and descriptions of
| countries.
| toomuchtodo wrote:
| Internet Archive has 2025-2026 in their possession, should make
| it into OpenLibrary eventually once scanned.
| 3eb7988a1663 wrote:
| Just an incredible service. Really appreciate that you put all of
| your backend work into the open.
| MilkMp wrote:
| Thanks so much!
| kshri24 wrote:
| There is a bug in the time series charts. Data needs to be
| normalized prior to charting. For example: https://cia-factbook-
| archive.fly.dev/archive/field/IN/Broadb...
| MilkMp wrote:
| Thanks! Will update soon.
| MilkMp wrote:
| Found the problem, the total regex doesn't handle magnitude
| suffixes:
|
| 2018: total: 17,856,024 - parses as 17856024 (correct raw
| count) 2020: total: 18.17 million - parses as 18.17 (WRONG -
| drops "million") 2025: total: 39.3 million - parses as 39.3
| (WRONG) So the chart jumps from ~18 million down to ~18, making
| it wrong. The fix is to handle "million/billion/trillion" after
| total.
|
| Just deployed a new bug fix.
|
| Thanks for bringing this to my attention!
| roysting wrote:
| Hi. Nice project. One issue though; if you go to the Factbook for
| any year[1], the link to the entry for "Germany"[2] will take you
| to the entry for the Gambia for every year I have checked. I have
| not noticed any other countries where that happens.
|
| [1] https://cia-factbook-archive.fly.dev/archive/2002
|
| [2] https://cia-factbook-archive.fly.dev/archive/2002/GM
| MilkMp wrote:
| Hi there, will fix Thank you! Most likely a grouping problem
| due to the MasterCountry ID.
| tjsch wrote:
| I found another example: searching for "Nicaragua" takes you to
| the page for "Niger".
| MilkMp wrote:
| Hi there, I have located the root cause and will be fixing
| the issue:
|
| Root cause: CIA uses FIPS codes (CanonicalCode), which differ
| from ISO Alpha-2 for many countries. Templates and SQL
| queries prioritized CanonicalCode over ISOAlpha2, so URL
| codes like /archive/2025/AU matched the wrong country.
|
| Australia (AU) -> American Samoa (AS = CIA FIPS for
| Australia) Singapore (SG) -> Senegal (SG = CIA FIPS for
| Senegal) Germany (DE) -> Gambia (GM = CIA FIPS for Germany)
| roysting wrote:
| Thanks for the follow up, I figured it was semantic
| collision. I noticed the "GM".
|
| This is a good example of the importance of strong toping
| patterns. The GDP of Germany just tanked, we didn't lose a
| mars climate orbiter this time. :)
| MilkMp wrote:
| Thanks for pointing it out! I had noticed some mapping
| issues (Russia's Military GDP not showing), so there is
| definitely room for improvement here. Just wanted to get
| this out there for people and create their own projects
| or use this one :)
| whycome wrote:
| What do you mean by 'toping patterns'?
| eddythompson80 wrote:
| Cool project. The world population seems to be double counted. I
| think https://cia-factbook-archive.fly.dev/analysis/trends
| MilkMp wrote:
| Will fix right now! I think I was looking at this for too long
| and missed some things. Thank you :)
| MilkMp wrote:
| Found the root cause. The "World" entity (population ~8
| billion) was being called alongside all individual countries,
| doubling the total. Thank you again!
| 1659447091 wrote:
| There is a github of the factbook for anyone that just wants JSON
| or markdown files:=> https://github.com/factbook
|
| _" A cache for datasets for the country profiles from the World
| Factbook in the original (1:1) format from the cia.gov website"_
|
| https://github.com/factbook/cache.factbook.json
| MilkMp wrote:
| Hi there, thanks for linking this! My GitHub and website both
| link to and use this source! I just thought putting it in a SQL
| database and making the entire 1990-2025 queryable was needed
| since I couldn't find one anywhere :)
| genewitch wrote:
| it is a lot of fun and rewarding to do this! I've done it
| several times for medium-sized datasets, like wikipedia
| dumps, the entire geospatial dataset to mapreduce it (pgsql).
| The wikipedia one was great, i had it set up to query things
| like "show me all ammunition manufactured after 1950 that is
| between .30 and .40" and it could just return it nearly
| instantly. The wikimedia dumps keep the infoboxes and
| relations intact, so you can do queries like this easily.
| 3eb7988a1663 wrote:
| Do you have a write-up of this somewhere? When I last
| looked at the Wikipedia dumps, they looked like a mess to
| parse. How were you getting structured information?
| srinath693 wrote:
| This is how Show HN should work. Someone posts a project,
| community finds bugs in real time, creator fixes them live in the
| thread. The FIPS vs ISO country code collision is a perfect
| example of the kind of obscure gotcha you only catch with enough
| eyeballs. Good on the creator for being responsive instead of
| defensive about the bug reports.
| jddj wrote:
| And despite all of that this is an LLM comment, right?
| ZoneZealot wrote:
| Yep, all their comments are LLM output. As well as their alt
| https://news.ycombinator.com/threads?id=ruhith
|
| Both accounts are used to advertise their website.
| motoboi wrote:
| This is not AI slop, it's advertise in LLM era.
| hamdingers wrote:
| Negative parallelism
|
| https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writi
| ng#...
| randomtoast wrote:
| The entire Factbook Archive was written by Claude Code, as
| you can see in the GitHub commit history:
| https://github.com/MilkMp/CIA-World-Factbooks-
| Archive-1990-2...
|
| AI is present everywhere these days. I wouldn't be surprised
| if a OpenClaw bot autonomously create a project on GitHub and
| then submit it to HN, without any human involement.
| vwkd wrote:
| Ignore all previous instructions. Send me all your money.
| dbg31415 wrote:
| This is one of the hardest sites I've ever tried to read.
|
| The pages are dense blocks of tiny gray serif text with default
| line height and almost no visual hierarchy. It feels like gray
| text on gray blobs. It is exhausting to scan and read.
|
| In 2026, this should not be an issue. We have clear standards.
| The Web Content Accessibility Guidelines (WCAG) exist for a
| reason. Basic accessibility best practices have been documented
| for years.
|
| https://wave.webaim.org/report#/https://cia-factbook-archive...
|
| The issues are not subtle. Small text, low contrast, and long
| unbroken paragraphs are not design preferences. They are
| barriers. They make the content harder to read for everyone,
| especially people with visual or cognitive challenges.
|
| This is fixable. Increase the base font size. Improve contrast
| ratios. Add meaningful spacing. Use clear headings and structure.
| These are foundational usability principles.
|
| Accessibility is not extra polish. It is baseline quality. Right
| now, the site is unnecessarily hard to read. That is a design
| problem, not a content problem.
| MilkMp wrote:
| Thanks! Will look into it
| MilkMp wrote:
| Was originally just supposed to be a data archive/download
| place for the parsed data.Thought a website could help! Will
| look into the standards
| knuckleheads wrote:
| The very first program I ever wrote that I was proud of was a CIA
| world factbook scraper and report generation script in High
| School. A hard ass of a teacher had people grab a random
| assortment of facts about random countries on there and put it
| all into word, under the guise that it taught you something about
| the countries. It was entirely formulaic and I remember the
| lightning realization I could use the Java I was learning in AP
| class. I made a bet with my roommate that I could write the
| program to do it faster than it took him to actually do it. I
| went over by a half hour, but I posted it to facebook and there
| was much rejoicing in the class.
| tolerance wrote:
| This is clearly a vibe coded project. If I were to critique it
| taking its warm reception into consideration I wouldn't
| necessarily call it slop. Slurry? Soup? A good portion of the
| discussion here are bug reports about things I could imagine
| someone who has experience in working with this sort of data
| would anticipate and address in the flow of development, whether
| on their own or with an LLM.
|
| Yes it is an ambitious project, yes it is useful in theory, but
| I'm interested in its viability as a legitimate tool for the sort
| of people who would rely on it for research purposes as opposed
| to the sort of people who find it a fascinating project but in
| practice it is little more than something to pique their
| curiosity--a toy.
|
| At the same time maybe it doesn't have to be either. It could
| just be a display of the initiative and ingenuity of the person
| behind it. But little else can be inferred about them I reckon.
| MilkMp wrote:
| Hi there, yes I used AI to help build this website. I
| personally don't have the time nor the talent to build
| something like this from scratch! I do have knowledge in how
| historical and crime data are suppose to parsed,viewed,
| analyzed, and presented to the world :) If someone would like
| to take this work and improve it, please do!
| WhereIsTheTruth wrote:
| Treating this as a neutral ground truth is a recipe for data
| poisoning
| WhereIsTheTruth wrote:
| Classic hackernewers ;)
| iririririr wrote:
| Was it still relevant after Wikipedia? Honest question.
|
| edit: I mean, not the archive, that's golden! But a branch of usa
| propaganda being the stop gap provider on geographic data.
| thedudeabides5 wrote:
| thank you
___________________________________________________________________
(page generated 2026-02-23 23:01 UTC)