APIs

Application Programming Interfaces
Moonshadow Custom Data APIs

Moonshadow Mobile maintains servers on the Internet with over one billion records related to the US population that are available through high-speed APIs.  The following data is available through Moonshadow’s custom API’s:

  • Census 2010 Summary File 1: entire USA
  • Census 2000 Summary File 1: entire USA
  • Adult Population Database: (full US by Q1 2012)
  • Registered Voters: 100 million, 22 states  (full US by Q1 2012)

All records have been pre-geocoded for display on Google Maps or Bing Maps.  Moonshadow’s API’s can return either counts, individual records or maps.  All data is served from memory using Moonshadow’s proprietary search technology.  Moonshadow’s searches are very fast.  In the population databases searches take roughly 50 milliseconds per million individual records searched.  For the census block databases searches take roughly 10 milliseconds per million people represented.  These generation times do not take into account Internet communication times.  When creating image overlays for the data Moonshadow’s technology can determine the location of up to 50 million records on the map per second per processor core.  The underlying databases are refreshed constantly.  At the moment Moonshadow processes three million changes per day to its population databases.

1. Input

The input for the request can be an Area, a Filter or a Search, or any combination of the three. Here are some of the calls that you can make to Moonshadow’s servers:

1.1. Area

Submit a geospatial entity, for instance:

  • Point
  • State
  • State, County
  • State, County, Municipality
  • ZIP code
  • State, Congressional District
  • State House District
  • State Senate District
  • State, County, Commissioner District
  • Census Tract
  • Census Block Group
  • Census Block

1.2. Filter

Submit a filter, for instance, filter by any combination of:

  • Age
  • Gender
  • Race
  • Ethnicity (Latino)
  • Political Party
  • Military Status
  • Marital Status

1.3. Search

Submit a Search String, one or more of:

  • First Name
  • Last Name
  • Address

2. Output

Moonshadow’s API’s can return individual records, counts or maps.  Because of legal restrictions not all types of output are available to all customers.  Personally identifiable voter data, for instance, is only available for political purposes to those with a legal use for registered voter file data.

2.1. Records

Moonshadow can return individual records.  Individual records can include, for instance:

  • Name
  • Address
  • Party Affiliation
  • Voting Frequency
  • Household Size
  • Household Gender
  • Political Districts

2.2. Counts

Moonshadow can return enumerations of the population.  Many of the attributes below can be cross tabulated.

  • Number of people
  • Population density
  • Age Distribution
  • Ethnic Distribution
  • Racial Distribution
  • Political Party Registration
  • Gender Distribution

2.3. Maps

Moonshadow can also visualize the data and return it as an image overlay.  Moonshadow is integrated with both Google Maps and Bing Maps and we can directly return either with data image overlays.

Moonshadow can also return the data either in aggregate markers at any level or as granular markers on the Census Block or address level, depending on the data source accessed.

3. Methods

Moonshadow provides JavaScript libraries with the specific calls that a customer needs.  The data exchange is usually done in JSON.  Moonshadow maintains Node servers to speed up the communication and eliminate unnecessary server layers.  All data is stored in memory at all times in Moonshadow’s proprietary database format.  The servers can be geographically dispersed.  Moonshadow can combine client proprietary information with its own databases.  Depending on the granularity of the customer data the client data can be cross-tabulated at the Census Block Group, Census Block, Address, or Individual level.  Data update schemes can be set up to update Moonshadow’s search servers with new client data constantly.  When a client wants to make over 50 requests per second sustained Moonshadow requires dedicated servers to keep speeds acceptable for other users.  Click here to view public facing examples of Moonshadow’s technology in action.