Iggy Documentation

The Iggy Developer Hub

Welcome to the Iggy developer hub. You'll find comprehensive guides and documentation to help you start working with Iggy as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    API Reference

The Iggy API

A developer tool kit to simplify access to location data and context

What is Iggy?

Iggy makes developer tools that simplify access to location data and context. Our tools allow you to integrate info about location into your apps. You pass locations or GeoJSON geometries to our APIs and we return a wide variety of location data like number of restaurants within a quarter mile or local demographics for your location. What was once a complicated task of spatial data wrangling, spatial joins, and processing is now as easy as an API call.

How do I start using Iggy?

  • You need an account and an API token, sign up here.
  • You need some locations as points (a single point on Earth, represented by a latitude and longitude), or any other GeoJSON geometry, such as polygons or linestrings.
  • Make an API call!

Authentication

An API token is required to make any API request.

  • You must create an account to get an API token
  • After you create an account, you can create a new token on your dashboard
  • Your API token should be sent as part of the request header, X-Iggy-Token, or alternatively as a query parameter, as shown below.

Request header authentication

import requests

url = "https://api.askiggy.com/features/v1/datasets/dataset_id/select/buffered-point"

querystring = {"limit":"100"}

headers = {
    "Accept": "application/json",
    "X-Iggy-Token": "YOUR_TOKEN"
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

Query parameters authentication

import requests

url = "https://api.askiggy.com/features/v1/datasets/dataset_id/select/buffered-point"

querystring = {"limit":"100","api_token":"YOUR_TOKEN"}

headers = {
    "Accept": "application/json"}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

Getting Started

Iggy's API is flexible and can be used to enrich your locations in multiple ways. See the API reference for a rundown of all the different endpoints.

What's the difference between Features and Properties?

A Feature is a thing in the world with a geometry and a set of Properties. A Feature's geometry defines its location. Geometries have types. A Point geometry represents a specific point on the globe, a single longitude and latitude. A Polygon geometry represents a shape that defines a thing or area. Within the Iggy API, Feature geometries are represented using GeoJSON.

A Feature's Properties are an arbitrary set of key/value pairings like total population: 27465 or bicycle_access: True. Within a dataset, all Features share the same types of key/value pairings (though some can have a null value). Properties describe a Feature.

When using Iggy's APIs, you can request either Features or just Properties. Geometries can be large and slower to transfer, so use Properties endpoints to speed up your requests when you don't need the geometry.

What's here?

You can ask Iggy what's at a location (a point), and get data back for that location. For example: You can ask Iggy what census tract a location is in, get data back about that census tract, whether the neighborhoods votes red or blue, and many other things.

import requests

url = "https://api.askiggy.com/features/v1/datasets/dataset_id/select/point"

querystring = {"longitude":"-73.98551015833193","latitude":"40.74897313381646","limit":"100"}

headers = {
    "Accept": "application/json",
    "X-Iggy-Token": "YOUR_TOKEN"
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

What's nearest?

You can ask Iggy what's the nearest feature to a location, within a radius. For example: You can ask what or where the nearest bar, fire station, airport, wildfire, and more is within a kilometer and we'll return the feature that's closest to your location.

import requests

url = "https://api.askiggy.com/feature/nearest/v1/datasets/dataset_id/select/buffered-point"

querystring = {"longitude":"-73.98551015833193","latitude":"40.74897313381646","limit":"100"}

headers = {
    "Accept": "application/json",
    "X-Iggy-Token": "YOUR_TOKEN"
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

What's around here?

You can ask Iggy to retrieve all of the places around your locations within a radius set by you. You set a radius in meters and we return all the features in the dataset that are within that radius. So if you need to know how many and where all the parks are within a kilometer of your locations, you can ask Iggy.

import requests

url = "https://api.askiggy.com/features/v1/datasets/dataset_id/select/buffered-point"

querystring = {"longitude":"-73.98551015833193","latitude":"40.74897313381646","limit":"100"}

headers = {
    "Accept": "application/json",
    "X-Iggy-Token": "YOUR_TOKEN"
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

What else can I do with Iggy?

We've designed our APIs to be flexible and there's a lot more you can do than is outlined here. For starts, you can pass your polygons and linestrings or any other GeoJSON geometry to the API and enrich them or retrieve data for the area they cover. If you want to know what's reachable from a location in some amount of time and method of travel, you can do that too (this is a special feature, please contact us if you're interested.) There's even more that's possible, see our API reference for details.

What data does Iggy have?

We have over 100 different datasets for everything from hospitals and bars to current wildfires and census demographic data data. Please see our Data Catalog.

Featured Datasets

Signup now and get 50,000 calls over 30 days for free

Updated 2 months ago


The Iggy API


A developer tool kit to simplify access to location data and context

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.