# Add Mapzen Search geocoder to a map [Mapzen Search](https://mapzen.com/projects/search) is a modern, geographic search service based entirely on open-source tools and powered entirely by open data. To start integrating Mapzen Search to your apps, you need a [developer API key](api-keys-rate-limits.md). You might use this functionality in any app that has a geographic component, including ones that deliver goods, locate hotels or venues, or even provide local weather forecasts. Through a process known as [geocoding](search.md), Mapzen Search allows you to use natural language to find a particular place by entering an address or the name of a landmark or business, and then translates the result in to the geographic coordinates for mapping. Mapzen Search is built on [Pelias](https://github.com/pelias), an open-source geocoding project. In this walkthrough, you will learn how to make a map with a search box that allows you to enter addresses and place names and locate them on a map. To complete the tutorial, you should have some familiarity with HTML and JavaScript, although all the source code is provided. You will need an [API key](https://mapzen.com/developers) to use Mapzen Search, which requires a GitHub account for authorization. You can use any text editor and operating system, but must maintain an Internet connection while you are working. The tutorial should take about 30 minutes to complete. ## Sign up for a Mapzen Search API key ***For Maptime Oakland: This section is optional during the meetup. You will be provided with a sample key that will expire following the event. If you want to continue using the Mapzen Search service afterward, you need to get your own API key.*** To use the geocoding service, you must first obtain an API key from Mapzen. Sign in at https://mapzen.com/developers to create and manage your API keys. 1. Go to https://mapzen.com/developers. 2. Sign in with your GitHub account. If you have not done this before, you need to agree to the terms first. 3. Create a new key for Mapzen Search, and optionally, give it a project name so you can remember the purpose of the key. 4. Keep the web page open so you can copy the key into the source code later. ## Download and install the dependencies The Leaflet JavaScript library, which provides tools for zooming, displaying attributions, and drawing symbols, is one way you can build web and mobile maps. Leaflet is extensible, and developers have built additional tools for Leaflet maps, including the Mapzen Search plug-in. To set up your development environment for this walkthrough, you need to download the geocoder plug-in. 1. Create a new folder on your machine named `geocoding-tutorial`. You will use this folder as your working directory where you can store the downloaded files. 3. Download or clone the [leaflet-geocoder GitHub repository](https://github.com/pelias/leaflet-geocoder) to make a copy of it on your local machine. You can click [Download Zip](https://github.com/pelias/leaflet-geocoder/archive/master.zip) on the GitHub repository website. 4. Unzip any zipped files. 5. Navigate to `leaflet-geocoder` folder (`leaflet-geocoder-master`, if you downloaded the zip). ![Downloaded and unzipped folder](images/geocoder-plug-in-files.png) 6. Navigate inside the `dist` subfolder and copy the images folder, leaflet-geocoder.css, and leaflet-geocoder.js files. 7. Paste the images folder and the two files into your `geocoding-tutorial` folder. ![Files needed for the walkthrough](images/geocoder-dist-folder.png) ## Create an index page Now that you have downloaded the required dependent files, you are ready to start building your application. This example uses the simplest structure, a single index.html file. 1. At the root level of your working folder, create a file called index.html and open it in a text editor. ![New index.html file in folder](images/geocoder-new-index.png) 2. Add the basic HTML tags, including ``, ``, `
`, and ``. Your HTML might look like this: ```html ``` 3. In the `` tag, add a title, such as `