The Who's On First Spelunker

What is this thing?

The act of spelunking is defined as:

spelunking |spiˈləNGkiNG| nounN. Amer. the exploration of caves, especially as a hobby.

The Who's On First spelunker is a tool for looking around the Who's On First database. It is also a tool for confirming the details about a specific record. Sometimes it's just used to do a simple fulltext query when looking for one or more places. The Spelunker is not a full-fledge geocoder. Geocoders are a whole other beast and the spelunker serves a diffferent purpose.

We are also using the spelunker to think about how and what a more complex and sophisticated tool might work and generally how tools might be built using the Who's On First data and where any stress-points in that task remain.

Wait... What is Who's On First?

There is a very detailed (and not short) blog post discussing what Who's On First is and why Mapzen created it. Briefly, Who's On First is what's sometimes called a gazetteer. A gazetteer is a big list of places, each with a stable identifier and some number of descriptive properties about that location. An interesting way to think about a gazetteer is to consider it as the space where debate about a place is managed but not decided.

How do I use the spelunker?

By poking around! You can start being entering a query string to search for in the form at the top of each page, or start by browsing the different placetypes or all the different ways that places have been tagged or simply by jumping to a random place in the Who's On First database. Every place record has links to its relations (ancestors and descendants) as well other metadata, where appropriate.

Can I update data using the spelunker?

Nope. The spelunker is a read-only tool, by design. Eventually there will be a web-based tool for editing Who's On First data but this is not that tool.

Can I run my own copy of the spelunker?

Yes! The spelunker is an open-source tool and you can grab a copy of the source code from our GitHub repository. As of this writing the documentation is a little sparse but that will improve over time.

Can I get a copy of all the data in the spelunker?

Yes! All of the data is currently available on GitHub:


The data is currently sorted in to two separate repositories: whosonfirst-data is administrative places like countries and localities and neighbourhoods while whosonfirst-venue is business listings. Keep in mind that the whosonfirst-venue repository is VERY VERY BIG. It's full of interesting stuff but if you're pressed for time or disk space you should probably start with the whosonfirst-data repository which is more manageable.

Can I put other kinds of data in the spelunker?

Probably? The spelunker is designed to consume simple GeoJSON files so there's nothing to prevent you from trying to import data from a different source. That said, the templates and much of the Javascript used to transform data expects specific properties to be present in the data. More specifically, nothing has been taught to behave nicely when that data isn't present. That's something we should do but it just hasn't happened yet. If you're feeling adventurous we'd love to hear what happens when you try to import a different dataset.