Geocaching Analytics – Part 2: GCInsight Data Gathering
This post is going to dive into the details of actually getting the Geocaching data used for later analysis into a convenient and usable source.
Unlike many sample data sources out there, the data is not made (easily) publicly available, though anybody can create a free account and view most of the data on the website. Getting the data out of the website and into a SQL database is another story altogether…
Some things we’ll need to get started:
- Geocaching.com Premium Account – The first step is to upgrade to a Geocaching.com Preimium Account, which as of this writing is currently $20/year. While geocaching.com does offer free accounts, those accounts cannot see all geocaches (many geocaches are flagged as “premium only”) and they also suffer from data export limitations.
- GSAK (The Geocaching Swiss Army Knife) – GSAK is a Windows-based application which is used for downloading and managing Geocache data. It’s one of the few tools which has the ability to download Geocache data from geocaching.com utilizing the Geocaching.com API (more on that later) and handles de-duplicating and merging cache data. This handy application is a one-time payment of $30.
There are three primary methods of retrieving data from the geocaching.com website as of this writing:
- Built-in Functions (Pocket Queries) – Pocket Queries are the functionality built in to the geocaching.com website for premium members. They’re intended as a method of gathering a number of geocaches, based on search parameters, and exporting them to a single XML file (the GPX format). There is a limit of a maximum of 1000 caches that can be returned per query and a maximum of 5 queries that can be run per day. So, using this method, you can export a maximum of 5,000 caches per day. One additional limitation is this method will not retrieve caches which have been retired (archived) but remain in the official geocaching.com database for historical purposes. One strange quirk/weakness to this method is that it will not retrieve the number of favorite points that have been awarded to a cache.
- API Queries (GSAK) – Geocaching.com does not make their API publicly available, instead, you must use a program which has access to the API via their partner program. In this case, that application is GSAK. GSAK has the ability to download geocaches directly from the geocaching.com website via the API. The API allows for a maximum of 6,000 caches to be downloaded (with full details) and 10,000 with light details (typically the light details are fine). This allows for a combined 16,000 caches to be downloaded per day. Additionally, this will retrieve the number of favorite points that have been awarded to a cache.
- Web page scraping – Web page scraping is writing a utility which will retrieve a cache detail web page and then scrape the details off of it. Since this functions in the same manner as a client would, there is no limit to the number of geocaches which can be downloaded in this manner, however, it does require writing a custom application and updating it every time the geocaching.com site redesigns their cache detail pages. The c:geo Android app would be an example of this. We won’t be using this method in this application at this time.


