Batch geocoder for nyc


Geocoding is the process of taking an address (1 Centre Street) or geographic context (Municipal Building) and returning geographic coordinates and other information. (40.712974, -74.003676, lot 121)

It has been as mostly inaccessible to non-technical users in NYC as the tools required downloading a application (GeoSupport), knowing how to use APIS or programming languages/ libraries, or one time request on websites (GOAT).

For technical users, [batch] geocoding large amount of address, verifying the quality of them, and correcting for errors is complex workflow. This may require error handling in scripts or correcting then re-running of the software over and over…

In 2019, the DCP’s Planning Labs team created NYC GeoSearch, which provides API to geocode quickly compared to GeoClient API. (GeoClient API is still an excellent tool for more advanced functions and has paved the way for accessible geocoding) In addition a tool created by Erik Willems connect to similar API had a simple web tool for journalist to geocode. Inspired BetaNYC created the Batch geocoder for nyc.


Limit queries to a borough or custom boundary

Either select a borough or ‘custom’ in the drop down to select a boundary. If custom is selected click on the rectangle on the left to start drawing your boundary.

Continuously add entries by pasting or uploading a file

Either copy and paste from a spreadsheet (google sheets, airtable, etc) or upload a file with a header row. Then select your address column.

Checking and fixing results

Select an entry, then type into the address box corrections, select the an address from the radio form. Lastly click the check icon to mark the entry checked.


This tool is currently in Beta and still has some bugs. Below are some known bugs, we are working to fix. Please file a Github Issue if you encounter any others.

  • Spreadsheets may not be formatted correctly when pasted (two column spreadsheets has issues, add an additional column as a temporary go-around)
  • There is an upper limit of ~5,000 rows before the application will crash or start to lag