Ez Geo Query


Ez Geo Query

US Location Lookup Made Easy

Return consistent city, state, and ZIP lookup suggestions using our API and Typeahead plugin. Try it out for yourself below.





Ez Geo Typeahead

Get Started In 5 Minutes

Use our typeahead plugin to get started using the API in less than five minutes. Easily integrate with any website or codebase and take advantage of one of the most fluid, easy to use location lookup APIs available.

Grab the code


// Setup the EzGeoTypeahead with your apikey
var ezgeo = EzGeoTypeahead.init(apikey);

// Make a new Typeahead from an input element
var $input = ezgeo.make($('#ezgeo'));


Ez Geo API

Search by city, or zip

Change the game for your site's city, state, or zip suggestions, using our API. Along with our Typeahead plugin (built on Twitter Typeahead/Bloodhound) you can change the way users fill out their address information. Search by city, state, or zip, or any combination, and get the data back in an expected, easy to use format.

Get an API key

By City

Simply quert a city and get a list of cities back

  { "zip_code": "61476", "city": "Seaton", "state": "IL" },
  { "zip_code": "61359", "city": "Seatonville", "state": "IL" },
  { "zip_code": "20743", "city": "Seat Pleasant", "state": "MD"},
  { "zip_code": "98032", "city": "SeaTac", "state": "WA"},
  { "zip_code": "98148", "city": "SeaTac", "state": "WA"}

By Zip

Query by zip code

  { "zip_code": "42501", "city": "Burnside", "state": "Kentucky" },
  { "zip_code": "42503", "city": "Burnside", "state": "Kentucky" },
  { "zip_code": "42518", "city": "Burnside", "state": "Kentucky" },
  { "zip_code": "42519", "city": "Burnside", "state": "Kentucky" },
  { "zip_code": "42544", "city": "Burnside", "state": "Kentucky" }

Lazy Search

Query both w/ spaces or commas

https://ezgeoquery.us/query/Te 8


https://ezgeoquery.us/query/Te, 8
  { "zip_code": "86514", "city": "Teec Nos Pos", "state": "AZ" },
  { "zip_code": "86047", "city": "Tees Toh", "state": "AZ" },
  { "zip_code": "85008", "city": "Tempe", "state": "AZ" },
  { "zip_code": "85044", "city": "Tempe", "state": "AZ" },
  { "zip_code": "85202", "city": "Tempe", "state": "AZ"}

Have Your Queries Your Way

By submitting the following text strings to the API in any of the following formats (space sensitive), you can easily return and serve autocomplete suggestions or data for your application to use. We've written algorithms that make looking up city, state and ZIP info and building an autocomplete a breeze (especially with our Javascript plugin, get it on GitHub).

  • City, State, Zip
  • City, Zip
  • State, Zip
  • City, State
  • City,
  • Zip
  • City
  • City State Zip
  • City Zip
  • State Zip
  • City State
  • City,State,Zip
  • City,Zip
  • City,State
  • City ,
  • City , zip
  • City city, zip


Use the easiest US location typeahead available


$0 / mo

  • 2,500 requests per month
  • One domain allowed
  • Email support


$10 / mo

  • Unlimited API requests
  • Use on up to 5 domains
  • Additional domains with monthly fee
  • Priority support

All payments securly processed by Stripe


Typeahead & Bloodhound Options

Under the hood EzGeoTypeahead uses the typeahead from corejavascript. EzGeoTypeahead allows you to setup a simple typeahead and suggestion autocomplete using Bootstrap styling and the Bloodhound search engine, paired with our API with minimal configuration.

Get an API key now to get started

Easily use any of the defined typeahead events, as well as listed options on the Twitter Typeahead and Bloodhound engine docs.

Option Default Description
minLength 3 The minimum character length needed before suggestions start getting rendered
highlight true If true, when suggestions are rendered, pattern matches for the current query in text nodes will be wrapped in a strong element with its class set to classNames.highlight
hint falsef If false, the typeahead will not show a hint.
autoselect true If true, the first suggestion will be selected when pressing the Enter key, or `tab` off.
classNames null For overriding the default class names used. See Class Names for more details.
rateLimitBy throttle The method used to rate-limit network requests. Can be either debounce or throttle
rateLimitWait 200 The time interval in milliseconds that will be used by rateLimitBy
limit 5 The max number of suggestions to be displayed
cache true If false, will not attempt to read or write to local storage and will always load prefetch data from url on initialization.
ttl 7776000000 (90 days) The time (in milliseconds) the prefetched data should be cached in local storage. This is set to three months as our data is updated quarterly
prefetch true Pretech the popular cites on initialization
selectFirstOnClose true If the user does not select a suggestion, and there is suggestions, this will select the first suggestion in the list
setPreviousValueOnEmpty false If there is no suggestions, and there is a previous value, upon leaving the field, this option will set the value to the previous value


Typeahead Events

All events from the Typeahead library are availble for use. Including those there is also some custom events we have placed on top of the library.

To access any event, use $input.typeahead.on('eventname')

  • When the internal value gets updated: 'typeahead:valueUpdated'

    Event handler will be invoked with 2 arugments: The jQuery event object, and the current value of the input

    reponse: { "zip_code": "42519", "city": "Burnside", "state": "Kentucky" }