LocateNYC has a robust feature set that can be used directly in your applications or in your Esri maps and apps.
general info
Features
Additional Info
Managing addresses, buildings locations, and tax lot parcels is complicated. Fortunately, The NYC Department of City Planning (DCP) and Department of Information Technology & Telecommunications (DoITT) (and other contributing departments) have done an extraordinary job of managing these data and publishing helpful tools for accessing them. The LocateNYC API leverages these much of these data and tools to more easily provide access to standardized NYC data. Simply put, the LocateNYC API is driven by open data, and provides a strong set of additional enhanced features such as reverse geocoding, batch geocoding, and suggestions.
The LocateNYC API does a variety of different types of forward geocoding including; address, place, BIN, BBL, blockface, street segment, street stretch, intersection, batch, and 3D. The LocateNYC API is designed to work with Esri software including ArcGIS Online, Portal, ArcGIS Pro, and other apps. Please see the Getting Started section to learn how to access the API. If you have any questions or issues, please contact DVG.
The sections below provide instructions for getting started and using the API. To run live tests/examples, please visit our live API at https://locatenyc.io/docs/#/arcgis
This page provides a high level overview of functionality. For in-depth details of API parameters and more complex examples, please visit the pages listed below.
The LocateNYC API is a tool for finding locations in New York City based on address, building, building floor, tax lot, intersection, or place name. The LocateNYC API leverages the New York City Geosupport software & data, to ensure data standardization with the City of New York. The LocateNYC API has two primary goals. The first goal is to enable users of the Esri ArcGIS Online and/or Portal platform to geolocate within NYC. The second is to enable geolocation via a REST API, which can be consumed by a variety of programming languages and technologies.
To get started, follow the steps below:
The LocateNYC API is built to be compliant with the Esri ArcGIS Server Geocoding REST API, which means that you can use LocateNYC within ArcGIS Online/Portal in the same manner as an Esri Geocoding Service. Once you have added the LocateNYC API to ArcGIS Online, the interface will be accessible from within all ArcGIS Online maps and apps (e.g. Collector, Web Appbuilder, etc.) See AGO/Portal Steps below for instructions.
After setting up the LocateNYC API in AGO/Portal, the interface will be enabled in the ArcGIS Pro Desktop Application. Your AGO locators are automatically synced and available in Pro. The only configuration is to enable/disable the API, or to change the order. See ArcGIS Pro below for instructions.
First Sign up for a free LocateNYC account, and save your username and password
If you are using Portal, we recommend that add LocateNYC to your list of allowed proxies. Why? Because when you create a secure (requiring user/password) item for LocateNYC, it creates a proxy service. To ensure security best practices, you should limit the proxy hosts in your Portal, so that attacks are prevented. For a full description, please see the official documentation at Restricting the portal's proxy capability.
Open a web browser and sign in to the ArcGIS Portal Directory as an Administrator of your organization. The URL is formatted as https://webadaptorhost.domain.com/webadaptorname/portaladmin.
Click Security > Config > Update Security Configuration.
In the Configuration field, add the allowedProxyHosts property and specify the list of approved addresses including locatenyc.io, for example:
{
"disableServicesDirectory": false,
"enableAutomaticAccountCreation": false
"allowedProxyHosts": "locatenyc.io,yourgisserver1.domain.com"
}
Login to your ArcGIS Online account. Select Content from the top menu. Then select the My Content tab. Click on New item.
In the New item dialog window, select URL.
In the next window, enter this URL:
https://locatenyc.io/arcgis/rest/services/locateNYC/v1/GeocodeServerAlso, make sure the Type is set to ArcGIS Server web service and enable the option to store credentials with the service item.
ArcGIS Online will detect that the LocateNYC locator requires authentication. Enter the user name and password for your LocateNYC API account (if you don't have one, sign up).
Now, enter a title, tags and optional summary. Click the Save button to save the locator, which will create an item in ArcGIS Online.
Next, you need to add the locator as a "utility service" in your ArcGIS Online Organization, which will enable using the locator throughout the ArcGIS Online platform (and ArcGIS Pro). On the right-hand side of the item page, there is a URL for the newly created item; copy the URL to the clipboard.
On the top menu, select Organization. Then, click on Settings.
On the left-hand side, select Utility Services. Find the Geocoding section and select ADD LOCATOR.
The Add Geocoder dialog will appear. Select "From URL", then enter or paste (from the clipboard) the URL to the LocateNYC item in the Geocoder URL box. Make sure that this is the URL to the ArcGIS Online item, not to the LocateNYC API (they are different). Enter a name and placeholder text for the geocoder. Select both Allow geosearch and Allow batch geocoding and select OK.
After the Add Geocoder dialog closes, make sure that you scroll to the top of the page and click on the SAVE button. Now the LocateNYC geocoder is available to use!
In the menu, select Map to create a new map in ArcGIS Online. In the geocoding search bar (top right corner), select the dropdown arrow and select the LocateNYC locator. Now, your map will be able to use the LocateNYC forward geocoder to locate addresses, buildings (by building identification number), tax lot (using borough, block, lot format), intersection, or place name. For specific formats for forward geocoding, see the Forward Geocoding section.
Go ahead and kick the tires! Type in 231 East 10th Street, Manhattan into the map geocoder. .
The LocateNYC API will be automatically synced/available in Pro, after registering. Just make sure that the API is enabled along with suggestions in the Locate Tab > Settings. The Locate Tab can be toggled from the Inquiry ribbon.  
The LocateNYC REST API is a set of REST based geocoding services that can be used by Esri products, as well as any technology that can interact using the REST protocol. The documentation for the API is written using Swagger, which enables users to view information about the expected parameters, responses, and error codes, and has the ability to send live requests and receive responses. Before using the API, you must register for a LocateNYC API account. You can then use your username and password to request a token. The token needs to be sent as a parameter to all API requests.
All LocateNYC API requests are required to have an access token attached to the request. To generate a token:
Sign up for a free LocateNYC API account
Use your username and password to generate an access token
Append your access token to all requests
To generate a token you can either use the Swagger endpoint (see above), or you can make an raw HTTP request. For example, generate a 24 hour token:
https://locatenyc.io/arcgis/tokens/generateToken?username=username&password=password&expiration=1440
The JSON response will have the token and expiration date (ms since 1/1/1970).
{
"token": "eyJhbGciOiJIUzI1Ni.eyJ1c2VybmFtmlhZjcyMDY3fQ.eZnvokHtrQXsOj1iLzMGEg",
"expires": 1496757027460
}
Now, append the token string to all your subsequent requests (note: the above token is shortened for display purposes)
For more in depth details please visit
Forward geocoding is the process of transforming an address (or place, etc.) to a location on the Earth's surface (i.e. latitude and longitude). The LocateNYC API can perform forward geocoding using address, place, building identification number, tax lot, and intersection in NYC.
Let's use an example address in Manhattan to illustrate how to use the API.
231 East 10th Street, Manhattan
Response
{
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
},
"candidates": [
{
"address": "231 East 10 Street, Manhattan",
"location": {
"x": "-73.985214 ",
"y": "40.729214"
},
"score": 100,
"attributes": {
"assemblyDistrict": "66",
"bbl": "1004520042",
"bblBoroughCode": "1",
"bblTaxBlock": "00452",
"bblTaxLot": "0042",
"bikeLane": "2",
"blockfaceId": "2FT",
"boardOfElectionsPreferredLgc": "1",
"boePreferredStreetName": "EAST 10 STREET",
"boePreferredstreetCode": "11719001",
"boroughCode1In": "1",
"buildingIdentificationNumber": "1006458",
"censusBlock2000": "2001",
"censusBlock2010": "5001",
"censusTract1990": " 40 ",
"censusTract2000": " 40 ",
"censusTract2010": " 40 ",
"cityCouncilDistrict": "02",
"civilCourtDistrict": "02",
"coincidentSegmentCount": "1",
"communityDistrict": "103",
"communityDistrictBoroughCode": "1",
"communityDistrictNumber": "03",
"communitySchoolDistrict": "01",
"condominiumBillingBbl": "0000000000",
"congressionalDistrict": "12",
"cooperativeIdNumber": "3741",
"crossStreetNamesFlagIn": "E",
"dcpPreferredLgc": "01",
"dotStreetLightContractorArea": "1",
"dynamicBlock": "202",
"electionDistrict": "034",
"fireBattalion": "04",
"fireCompanyNumber": "011",
"fireCompanyType": "L",
"fireDivision": "01",
"firstBoroughName": "MANHATTAN",
"firstStreetCode": "11719001010",
"firstStreetNameNormalized": "EAST 10 STREET",
"fromLionNodeId": "0020809",
"fromPreferredLgcsFirstSetOf5": "01",
"genericId": "0003362",
"geosupportFunctionCode": "AP",
"geosupportReturnCode": "00",
"geosupportReturnCode2": "00",
"gi5DigitStreetCode1": "17190",
"giBoroughCode1": "1",
"giBuildingIdentificationNumber1": "1006458",
"giDcpPreferredLgc1": "01",
"giHighHouseNumber1": "231",
"giLowHouseNumber1": "231",
"giSideOfStreetIndicator1": "L",
"giStreetCode1": "11719001",
"giStreetName1": "EAST 10 STREET",
"healthArea": "6200",
"healthCenterDistrict": "14",
"highBblOfThisBuildingsCondominiumUnits": "1004520042",
"highCrossStreetB5SC1": "110010",
"highCrossStreetCode1": "11001001",
"highCrossStreetName1": "1 AVENUE",
"highHouseNumberOfBlockfaceSortFormat": "000243000AA",
"houseNumber": "231",
"houseNumberIn": "231",
"houseNumberSortFormat": "000231000AA",
"hurricaneEvacuationZone": "6",
"instructionalRegion": "MS",
"interimAssistanceEligibilityIndicator": "I",
"internalLabelXCoordinate": "0988368",
"internalLabelYCoordinate": "0204985",
"latitude": 40.729128274363376,
"latitudeInternalLabel": 40.729312158151565,
"legacySegmentId": "0032937",
"lionBoroughCode": "1",
"lionBoroughCodeForVanityAddress": "1",
"lionFaceCode": "1370",
"lionFaceCodeForVanityAddress": "1370",
"lionKey": "1137000070",
"lionKeyForVanityAddress": "1137000070",
"lionSequenceNumber": "00070",
"lionSequenceNumberForVanityAddress": "00070",
"listOf4Lgcs": "01",
"longitude": -73.98525759578013,
"longitudeInternalLabel": -73.98514209786948,
"lowBblOfThisBuildingsCondominiumUnits": "1004520042",
"lowCrossStreetB5SC1": "110110",
"lowCrossStreetCode1": "11011001",
"lowCrossStreetName1": "2 AVENUE",
"lowHouseNumberOfBlockfaceSortFormat": "000201000AA",
"lowHouseNumberOfDefiningAddressRange": "000231000AA",
"nta": "MN22",
"ntaName": "East Village",
"numberOfCrossStreetB5SCsHighAddressEnd": "1",
"numberOfCrossStreetB5SCsLowAddressEnd": "1",
"numberOfCrossStreetsHighAddressEnd": "1",
"numberOfCrossStreetsLowAddressEnd": "1",
"numberOfEntriesInListOfGeographicIdentifiers": "0001",
"numberOfExistingStructuresOnLot": "0001",
"numberOfStreetFrontagesOfLot": "01",
"physicalId": "0003969",
"policePatrolBoroughCommand": "1",
"policePrecinct": "009",
"returnCode1a": "00",
"returnCode1e": "00",
"roadwayType": "1",
"rpadBuildingClassificationCode": "C6",
"rpadSelfCheckCodeForBbl": "5",
"sanbornBoroughCode": "1",
"sanbornPageNumber": "027",
"sanbornVolumeNumber": "02",
"sanitationCollectionSchedulingSectionAndSubsection": "4B",
"sanitationDistrict": "103",
"sanitationRecyclingCollectionSchedule": "ETH",
"sanitationRegularCollectionSchedule": "TTHS",
"sanitationSnowPriorityCode": "C",
"segmentAzimuth": "330",
"segmentIdentifier": "0032937",
"segmentLengthInFeet": "00754",
"segmentOrientation": "E",
"segmentTypeCode": "U",
"sideOfStreetIndicator": "L",
"sideOfStreetOfVanityAddress": "L",
"splitLowHouseNumber": "000201000AA",
"stateSenatorialDistrict": "27",
"streetName1In": "EAST 10TH STREET",
"streetStatus": "2",
"streetWidth": "30",
"taxMapNumberSectionAndVolume": "10205",
"toLionNodeId": "0020901",
"toPreferredLgcsFirstSetOf5": "01",
"trafficDirection": "W",
"underlyingStreetCode": "11719001",
"uspsPreferredCityName": "NEW YORK",
"workAreaFormatIndicatorIn": "C",
"xCoordinate": "0988336",
"xCoordinateHighAddressEnd": "0988565",
"xCoordinateLowAddressEnd": "0987906",
"xCoordinateOfCenterofCurvature": "0000000",
"yCoordinate": "0204918",
"yCoordinateHighAddressEnd": "0204787",
"yCoordinateLowAddressEnd": "0205154",
"yCoordinateOfCenterofCurvature": "0000000",
"zipCode": "10003",
"address_separated": "231,EAST 10 STREET,1,10003",
"Loc_name": "geosupport_AP",
"score": 100,
"Match_Addr": "address [houseNumber=231, street=east 10th street, borough=MANHATTAN, zip=null]",
"geoclient_function": "ADDRESS",
"geoclient_version": "2.0.0",
"geosupport_release": "17A",
"geosupport_release_date": "February 2017",
"geosupport_version": "17.1",
"status": "EXACT_MATCH",
"level": "0"
}
}
]
}
The location that is returned is from the NYC Address Points dataset. The location of the point is approximately five feet inside of the building. If there is no match to the address points dataset, a secondary location will be given based on the road centerline (LION) data. Addresses that are located with the road centerlines data fall in the center of the roadbed (rather than within the building).
For more in depth details please visit
Let's use a few example places.
Carnegie Hall
https://locatenyc.io/arcgis/rest/services/locateNYC/v1/GeocodeServer/findAddressCandidates?SingleLine=Carnegie Hall&f=json&token=your_token
{
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
},
"candidates": [
{
"address": "Carnegie Hall, Manhattan",
"location": {
"x": -73.97996826400409,
"y": 40.76500957748113
},
"score": 90,
"attributes": {
"assemblyDistrict": "75",
"bbl": "1010090001",
"bblBoroughCode": "1",
"bblTaxBlock": "01009",
"bblTaxLot": "0001",
"boardOfElectionsPreferredLgc": "1",
"boePreferredStreetName": "CARNEGIE HALL",
"boePreferredstreetCode": "11412001",
"boroughCode1In": "1",
"buildingIdentificationNumber": "1023449",
"censusBlock2000": "2000",
"censusBlock2010": "5000",
"censusTract1990": " 137 ",
"censusTract2000": " 137 ",
"censusTract2010": " 137 ",
"cityCouncilDistrict": "04",
"civilCourtDistrict": "09",
"coincidentSegmentCount": "1",
"communityDistrict": "105",
"communityDistrictBoroughCode": "1",
"communityDistrictNumber": "05",
"communitySchoolDistrict": "02",
"condominiumBillingBbl": "0000000000",
"congressionalDistrict": "12",
"cooperativeIdNumber": "0000",
"cornerCode": "CR",
"crossStreetNamesFlagIn": "E",
"dcpCommercialStudyArea": "11027",
"dcpPreferredLgc": "01",
"dotStreetLightContractorArea": "1",
"dynamicBlock": "206",
"electionDistrict": "089",
"fireBattalion": "09",
"fireCompanyNumber": "023",
"fireCompanyType": "E",
"fireDivision": "03",
"firstBoroughName": "MANHATTAN",
"firstStreetCode": "11412001010",
"firstStreetNameNormalized": "CARNEGIE HALL",
"fromLionNodeId": "0021541",
"fromPreferredLgcsFirstSetOf5": "01",
"genericId": "0001238",
"geosupportFunctionCode": "1B",
"geosupportReturnCode": "01",
"geosupportReturnCode2": "00",
"gi5DigitStreetCode1": "14120",
"gi5DigitStreetCode2": "10610",
"gi5DigitStreetCode3": "34890",
"gi5DigitStreetCode4": "34910",
"giBoroughCode1": "1",
"giBoroughCode2": "1",
"giBoroughCode3": "1",
"giBoroughCode4": "1",
"giBuildingIdentificationNumber1": "1023449",
"giBuildingIdentificationNumber2": "1023449",
"giBuildingIdentificationNumber3": "1023449",
"giBuildingIdentificationNumber4": "1023449",
"giDcpPreferredLgc1": "01",
"giDcpPreferredLgc2": "04",
"giDcpPreferredLgc3": "01",
"giDcpPreferredLgc4": "01",
"giGeographicIdentifier1": "N",
"giHighHouseNumber2": "897",
"giHighHouseNumber3": "169",
"giHighHouseNumber4": "162",
"giLowHouseNumber2": "881",
"giLowHouseNumber3": "161",
"giLowHouseNumber4": "154",
"giSideOfStreetIndicator1": "R",
"giSideOfStreetIndicator2": "R",
"giSideOfStreetIndicator3": "R",
"giSideOfStreetIndicator4": "L",
"giStreetCode1": "11412001",
"giStreetCode2": "11061004",
"giStreetCode3": "13489001",
"giStreetCode4": "13491001",
"giStreetName1": "CARNEGIE HALL",
"giStreetName2": "7 AVENUE",
"giStreetName3": "WEST 56 STREET",
"giStreetName4": "WEST 57 STREET",
"healthArea": "4700",
"healthCenterDistrict": "15",
"highBblOfThisBuildingsCondominiumUnits": "1010090001",
"highCrossStreetB5SC1": "134910",
"highCrossStreetB5SC2": "123395",
"highCrossStreetCode1": "13491001",
"highCrossStreetCode2": "123395",
"highCrossStreetName1": "WEST 57 STREET",
"highCrossStreetName2": "ISAAC STERN PLACE",
"highHouseNumberOfBlockfaceSortFormat": "000000000AA",
"hurricaneEvacuationZone": "X",
"instructionalRegion": "MS",
"interimAssistanceEligibilityIndicator": "I",
"internalLabelXCoordinate": "0989812",
"internalLabelYCoordinate": "0217991",
"latitude": 40.76500957748113,
"latitudeInternalLabel": 40.76500956931189,
"legacySegmentId": "0034231",
"lionBoroughCode": "1",
"lionBoroughCodeForVanityAddress": "1",
"lionFaceCode": "4000",
"lionFaceCodeForVanityAddress": "4000",
"lionKey": "1400003450",
"lionKeyForVanityAddress": "1400003450",
"lionSequenceNumber": "03450",
"lionSequenceNumberForVanityAddress": "03450",
"listOf4Lgcs": "01",
"longitude": -73.97996826400409,
"longitudeInternalLabel": -73.97992133436652,
"lowBblOfThisBuildingsCondominiumUnits": "1010090001",
"lowCrossStreetB5SC1": "134890",
"lowCrossStreetCode1": "13489001",
"lowCrossStreetName1": "WEST 56 STREET",
"lowHouseNumberOfBlockfaceSortFormat": "000000000AA",
"lowHouseNumberOfDefiningAddressRange": "000001000AA",
"message": "881 7 AVENUE IS THE UNDERLYING ADDRESS OF CARNEGIE HALL",
"nta": "MN17",
"ntaName": "Midtown-Midtown South",
"numberOfCrossStreetB5SCsHighAddressEnd": "3",
"numberOfCrossStreetB5SCsLowAddressEnd": "1",
"numberOfCrossStreetsHighAddressEnd": "2",
"numberOfCrossStreetsLowAddressEnd": "1",
"numberOfEntriesInListOfGeographicIdentifiers": "0004",
"numberOfExistingStructuresOnLot": "0001",
"numberOfStreetFrontagesOfLot": "03",
"physicalId": "0001374",
"policePatrolBoroughCommand": "1",
"policePrecinct": "018",
"reasonCode": "V",
"reasonCode1e": "V",
"returnCode1a": "00",
"returnCode1e": "01",
"roadwayType": "1",
"rpadBuildingClassificationCode": "P1",
"rpadSelfCheckCodeForBbl": "8",
"sanbornBoroughCode": "1",
"sanbornPageNumber": "032",
"sanbornVolumeNumber": "06",
"sanbornVolumeNumberSuffix": "W",
"sanitationCollectionSchedulingSectionAndSubsection": "2A",
"sanitationDistrict": "105",
"sanitationRecyclingCollectionSchedule": "EW",
"sanitationRegularCollectionSchedule": "MWF",
"sanitationSnowPriorityCode": "C",
"segmentAzimuth": "061",
"segmentIdentifier": "0034231",
"segmentLengthInFeet": "00282",
"segmentOrientation": "N",
"segmentTypeCode": "U",
"sideOfStreetIndicator": "R",
"sideOfStreetOfVanityAddress": "R",
"specialAddressGeneratedRecordFlag": "N",
"splitLowHouseNumber": "000001000AA",
"stateSenatorialDistrict": "27",
"streetName1In": "CARNEGIE HALL",
"streetStatus": "2",
"streetWidth": "60",
"taxMapNumberSectionAndVolume": "10401",
"toLionNodeId": "0021549",
"toPreferredLgcsFirstSetOf5": "01",
"trafficDirection": "A",
"underlyingHnsOnTrueStreet": "000881000AA",
"underlyingStreetCode": "11061004",
"uspsPreferredCityName": "NEW YORK",
"workAreaFormatIndicatorIn": "C",
"xCoordinate": "0989799",
"xCoordinateHighAddressEnd": "0989780",
"xCoordinateLowAddressEnd": "0989644",
"xCoordinateOfCenterofCurvature": "0000000",
"yCoordinate": "0217991",
"yCoordinateHighAddressEnd": "0218177",
"yCoordinateLowAddressEnd": "0217930",
"yCoordinateOfCenterofCurvature": "0000000",
"zipCode": "10019",
"Loc_name": "geosupport",
"score": 90,
"Match_Addr": "place [name=Carnegie Hall, borough=MANHATTAN, zip=null]",
"geoclient_function": "PLACE",
"geoclient_version": "2.0.0",
"geosupport_release": "17A",
"geosupport_release_date": "February 2017",
"geosupport_version": "17.1",
"status": "POSSIBLE_MATCH",
"level": "1"
}
}
]
}
Statue of Liberty
https://locatenyc.io/arcgis/rest/services/locateNYC/v1/GeocodeServer/findAddressCandidates?SingleLine=Statue of Liberty&f=json&token=your_token
{
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
},
"candidates": [
{
"address": "Statue Of Liberty, Manhattan",
"location": {
"x": -74.04453971356214,
"y": 40.68924742674174
},
"score": 90,
"attributes": {
"assemblyDistrict": "65",
"bbl": "1000010101",
"bblBoroughCode": "1",
"bblTaxBlock": "00001",
"bblTaxLot": "0101",
"boardOfElectionsPreferredLgc": "1",
"boePreferredStreetName": "STATUE OF LIBERTY",
"boePreferredstreetCode": "13160401",
"boroughCode1In": "1",
"buildingIdentificationNumber": "1000002",
"censusBlock2000": "9000",
"censusBlock2010": "1001",
"censusTract1990": " 1 ",
"censusTract2000": " 1 ",
"censusTract2010": " 1 ",
"cityCouncilDistrict": "01",
"civilCourtDistrict": "01",
"coincidentSegmentCount": "1",
"communityDistrict": "101",
"communityDistrictBoroughCode": "1",
"communityDistrictNumber": "01",
"communitySchoolDistrict": "02",
"condominiumBillingBbl": "0000000000",
"congressionalDistrict": "10",
"cooperativeIdNumber": "0000",
"crossStreetNamesFlagIn": "E",
"dcpPreferredLgc": "01",
"dotStreetLightContractorArea": "1",
"dynamicBlock": "905",
"electionDistrict": "084",
"featureTypeCode": "2",
"fireBattalion": "01",
"fireCompanyNumber": "007",
"fireCompanyType": "E",
"fireDivision": "01",
"firstBoroughName": "MANHATTAN",
"firstStreetCode": "13160401010",
"firstStreetNameNormalized": "STATUE OF LIBERTY",
"fromLionNodeId": "9033963",
"fromPreferredLgcsFirstSetOf5": "01",
"geosupportFunctionCode": "1B",
"geosupportReturnCode": "01",
"geosupportReturnCode2": "00",
"gi5DigitStreetCode1": "31604",
"gi5DigitStreetCode10": "32625",
"gi5DigitStreetCode11": "45604",
"gi5DigitStreetCode2": "32625",
"gi5DigitStreetCode3": "32625",
"gi5DigitStreetCode4": "32625",
"gi5DigitStreetCode5": "32625",
"gi5DigitStreetCode6": "32625",
"gi5DigitStreetCode7": "32625",
"gi5DigitStreetCode8": "32625",
"gi5DigitStreetCode9": "32625",
"giBoroughCode1": "1",
"giBoroughCode10": "1",
"giBoroughCode11": "1",
"giBoroughCode2": "1",
"giBoroughCode3": "1",
"giBoroughCode4": "1",
"giBoroughCode5": "1",
"giBoroughCode6": "1",
"giBoroughCode7": "1",
"giBoroughCode8": "1",
"giBoroughCode9": "1",
"giBuildingIdentificationNumber1": "1000002",
"giBuildingIdentificationNumber10": "1087230",
"giBuildingIdentificationNumber11": "1090092",
"giBuildingIdentificationNumber2": "1087222",
"giBuildingIdentificationNumber3": "1087223",
"giBuildingIdentificationNumber4": "1087224",
"giBuildingIdentificationNumber5": "1087225",
"giBuildingIdentificationNumber6": "1087226",
"giBuildingIdentificationNumber7": "1087227",
"giBuildingIdentificationNumber8": "1087228",
"giBuildingIdentificationNumber9": "1087229",
"giDcpPreferredLgc1": "01",
"giDcpPreferredLgc10": "01",
"giDcpPreferredLgc11": "01",
"giDcpPreferredLgc2": "01",
"giDcpPreferredLgc3": "01",
"giDcpPreferredLgc4": "01",
"giDcpPreferredLgc5": "01",
"giDcpPreferredLgc6": "01",
"giDcpPreferredLgc7": "01",
"giDcpPreferredLgc8": "01",
"giDcpPreferredLgc9": "01",
"giGeographicIdentifier1": "N",
"giGeographicIdentifier10": "B",
"giGeographicIdentifier11": "N",
"giGeographicIdentifier2": "B",
"giGeographicIdentifier3": "B",
"giGeographicIdentifier4": "B",
"giGeographicIdentifier5": "B",
"giGeographicIdentifier6": "B",
"giGeographicIdentifier7": "B",
"giGeographicIdentifier8": "B",
"giGeographicIdentifier9": "B",
"giSideOfStreetIndicator1": "L",
"giSideOfStreetIndicator11": "L",
"giStreetCode1": "13160401",
"giStreetCode10": "13262501",
"giStreetCode11": "14560401",
"giStreetCode2": "13262501",
"giStreetCode3": "13262501",
"giStreetCode4": "13262501",
"giStreetCode5": "13262501",
"giStreetCode6": "13262501",
"giStreetCode7": "13262501",
"giStreetCode8": "13262501",
"giStreetCode9": "13262501",
"giStreetName1": "STATUE OF LIBERTY",
"giStreetName10": "UNNAMED STREET",
"giStreetName11": "LIBERTY ISLAND",
"giStreetName2": "UNNAMED STREET",
"giStreetName3": "UNNAMED STREET",
"giStreetName4": "UNNAMED STREET",
"giStreetName5": "UNNAMED STREET",
"giStreetName6": "UNNAMED STREET",
"giStreetName7": "UNNAMED STREET",
"giStreetName8": "UNNAMED STREET",
"giStreetName9": "UNNAMED STREET",
"healthArea": "8200",
"healthCenterDistrict": "15",
"highBblOfThisBuildingsCondominiumUnits": "1000010101",
"highCrossStreetB5SC1": "100107",
"highCrossStreetCode1": "10010701",
"highCrossStreetName1": "CITY LIMIT",
"highHouseNumberOfBlockfaceSortFormat": "000000000AA",
"hurricaneEvacuationZone": "1",
"instructionalRegion": "MS",
"interimAssistanceEligibilityIndicator": "I",
"internalLabelXCoordinate": "0971677",
"internalLabelYCoordinate": "0190636",
"latitude": 40.68924742674174,
"latitudeInternalLabel": 40.689919584101055,
"lionBoroughCode": "1",
"lionBoroughCodeForVanityAddress": "1",
"lionFaceCode": "3050",
"lionFaceCodeForVanityAddress": "3050",
"lionKey": "1305000025",
"lionKeyForVanityAddress": "1305000025",
"lionSequenceNumber": "00025",
"lionSequenceNumberForVanityAddress": "00025",
"listOf4Lgcs": "01",
"longitude": -74.04453971356214,
"longitudeInternalLabel": -74.04533706805685,
"lowBblOfThisBuildingsCondominiumUnits": "1000010101",
"lowCrossStreetB5SC1": "100107",
"lowCrossStreetCode1": "10010701",
"lowCrossStreetName1": "CITY LIMIT",
"lowHouseNumberOfBlockfaceSortFormat": "000000000AA",
"lowHouseNumberOfDefiningAddressRange": "000001000AA",
"message": "STATUE OF LIBERTY IS ON LEFT SIDE OF LIBERTY ISLAND SHORELINE",
"nta": "MN99",
"ntaName": "park-cemetery-etc-Manhattan",
"numberOfCrossStreetB5SCsHighAddressEnd": "1",
"numberOfCrossStreetB5SCsLowAddressEnd": "1",
"numberOfCrossStreetsHighAddressEnd": "1",
"numberOfCrossStreetsLowAddressEnd": "1",
"numberOfEntriesInListOfGeographicIdentifiers": "0011",
"numberOfExistingStructuresOnLot": "0011",
"numberOfStreetFrontagesOfLot": "02",
"policePatrolBoroughCommand": "1",
"policePrecinct": "001",
"reasonCode": "V",
"reasonCode1e": "V",
"returnCode1a": "00",
"returnCode1e": "01",
"rpadBuildingClassificationCode": "P7",
"rpadSelfCheckCodeForBbl": "4",
"sanbornBoroughCode": "1",
"sanbornPageNumber": "999",
"sanbornVolumeNumber": "99",
"sanitationDistrict": "101",
"segmentAzimuth": "119",
"segmentIdentifier": "0251512",
"segmentLengthInFeet": "00209",
"segmentOrientation": "2",
"segmentTypeCode": "U",
"sideOfStreetIndicator": "L",
"sideOfStreetOfVanityAddress": "L",
"specialAddressGeneratedRecordFlag": "N",
"splitLowHouseNumber": "000001000AA",
"stateSenatorialDistrict": "26",
"streetName1In": "STATUE OF LIBERTY",
"taxMapNumberSectionAndVolume": "10101",
"toLionNodeId": "0012299",
"toPreferredLgcsFirstSetOf5": "01",
"underlyingHnsOnTrueStreet": "000000000AA",
"underlyingStreetCode": "13049710",
"uspsPreferredCityName": "NEW YORK",
"workAreaFormatIndicatorIn": "C",
"xCoordinate": "0971898",
"xCoordinateHighAddressEnd": "0972082",
"xCoordinateLowAddressEnd": "0972185",
"xCoordinateOfCenterofCurvature": "0000000",
"yCoordinate": "0190391",
"yCoordinateHighAddressEnd": "0190733",
"yCoordinateLowAddressEnd": "0190551",
"yCoordinateOfCenterofCurvature": "0000000",
"zipCode": "10004",
"Loc_name": "geosupport",
"score": 90,
"Match_Addr": "place [name=Statue of Liberty, borough=MANHATTAN, zip=null]",
"geoclient_function": "PLACE",
"geoclient_version": "2.0.0",
"geosupport_release": "17A",
"geosupport_release_date": "February 2017",
"geosupport_version": "17.1",
"status": "POSSIBLE_MATCH",
"level": "1"
}
}
]
}
Bryant Park
https://locatenyc.io/arcgis/rest/services/locateNYC/v1/GeocodeServer/findAddressCandidates?SingleLine=Bryant Park&f=json&token=your_token
{
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
},
"candidates": [
{
"address": "Bryant Park, Manhattan",
"location": {
"x": -73.98354492016189,
"y": 40.7537429697483
},
"score": 90,
"attributes": {
"assemblyDistrict": "75",
"bbl": "1012570002",
"bblBoroughCode": "1",
"bblTaxBlock": "01257",
"bblTaxLot": "0002",
"boardOfElectionsPreferredLgc": "1",
"boePreferredStreetName": "BRYANT PARK",
"boePreferredstreetCode": "11395001",
"boroughCode1In": "1",
"buildingIdentificationNumber": "1000000",
"censusBlock2000": "1000",
"censusBlock2010": "1000",
"censusTract1990": " 84 ",
"censusTract2000": " 84 ",
"censusTract2010": " 84 ",
"cityCouncilDistrict": "04",
"civilCourtDistrict": "09",
"coincidentSegmentCount": "2",
"communityDistrict": "105",
"communityDistrictBoroughCode": "1",
"communityDistrictNumber": "05",
"communitySchoolDistrict": "02",
"condominiumBillingBbl": "0000000000",
"congressionalDistrict": "12",
"cooperativeIdNumber": "0000",
"cornerCode": "CR",
"crossStreetNamesFlagIn": "E",
"dcpCommercialStudyArea": "11028",
"dcpPreferredLgc": "01",
"dotStreetLightContractorArea": "1",
"dynamicBlock": "101",
"electionDistrict": "058",
"fireBattalion": "08",
"fireCompanyNumber": "065",
"fireCompanyType": "E",
"fireDivision": "03",
"firstBoroughName": "MANHATTAN",
"firstStreetCode": "11395001010",
"firstStreetNameNormalized": "BRYANT PARK",
"fromLionNodeId": "0021517",
"fromPreferredLgcsFirstSetOf5": "0101",
"genericId": "0001515",
"geosupportFunctionCode": "1B",
"geosupportReturnCode": "01",
"geosupportReturnCode2": "01",
"gi5DigitStreetCode1": "13950",
"gi5DigitStreetCode2": "10510",
"gi5DigitStreetCode3": "34610",
"gi5DigitStreetCode4": "34570",
"gi5DigitStreetCode5": "34570",
"gi5DigitStreetCode6": "34570",
"giBoroughCode1": "1",
"giBoroughCode2": "1",
"giBoroughCode3": "1",
"giBoroughCode4": "1",
"giBoroughCode5": "1",
"giBoroughCode6": "1",
"giBuildingIdentificationNumber1": "1000000",
"giBuildingIdentificationNumber2": "1085593",
"giBuildingIdentificationNumber3": "1085593",
"giBuildingIdentificationNumber4": "1085593",
"giBuildingIdentificationNumber5": "1000000",
"giBuildingIdentificationNumber6": "1000000",
"giDcpPreferredLgc1": "01",
"giDcpPreferredLgc2": "01",
"giDcpPreferredLgc3": "01",
"giDcpPreferredLgc4": "01",
"giDcpPreferredLgc5": "01",
"giDcpPreferredLgc6": "01",
"giGeographicIdentifier1": "N",
"giGeographicIdentifier4": "W",
"giGeographicIdentifier5": "Q",
"giHighHouseNumber2": "1080",
"giHighHouseNumber3": "68",
"giHighHouseNumber5": "45",
"giHighHouseNumber6": "55",
"giLowHouseNumber2": "1060",
"giLowHouseNumber3": "40",
"giLowHouseNumber5": "45",
"giLowHouseNumber6": "55",
"giSideOfStreetIndicator1": "L",
"giSideOfStreetIndicator2": "R",
"giSideOfStreetIndicator3": "L",
"giSideOfStreetIndicator5": "R",
"giSideOfStreetIndicator6": "R",
"giStreetCode1": "11395001",
"giStreetCode2": "11051001",
"giStreetCode3": "13461001",
"giStreetCode4": "13457001",
"giStreetCode5": "13457001",
"giStreetCode6": "13457001",
"giStreetName1": "BRYANT PARK",
"giStreetName2": "AVENUE OF THE AMERICAS",
"giStreetName3": "WEST 42 STREET",
"giStreetName4": "WEST 40 STREET",
"giStreetName5": "WEST 40 STREET",
"giStreetName6": "WEST 40 STREET",
"healthArea": "5200",
"healthCenterDistrict": "15",
"highBblOfThisBuildingsCondominiumUnits": "1012570002",
"highCrossStreetB5SC1": "110510",
"highCrossStreetCode1": "11051001",
"highCrossStreetName1": "AVENUE OF THE AMERICAS",
"highHouseNumberOfBlockfaceSortFormat": "000000000AA",
"hurricaneEvacuationZone": "X",
"instructionalRegion": "MS",
"interimAssistanceEligibilityIndicator": "I",
"internalLabelXCoordinate": "0988758",
"internalLabelYCoordinate": "0213913",
"latitude": 40.7537429697483,
"latitudeInternalLabel": 40.75381710404244,
"legacySegmentId": "0034178",
"lionBoroughCode": "1",
"lionBoroughCodeForVanityAddress": "1",
"lionFaceCode": "4990",
"lionFaceCodeForVanityAddress": "4990",
"lionKey": "1499002010",
"lionKeyForVanityAddress": "1499002010",
"lionSequenceNumber": "02010",
"lionSequenceNumberForVanityAddress": "02010",
"listOf4Lgcs": "01",
"longitude": -73.98354492016189,
"longitudeInternalLabel": -73.98372897950097,
"lowBblOfThisBuildingsCondominiumUnits": "1012570002",
"lowCrossStreetB5SC1": "110410",
"lowCrossStreetB5SC2": "117830",
"lowCrossStreetCode1": "11041001",
"lowCrossStreetCode2": "11783001",
"lowCrossStreetName1": "5 AVENUE",
"lowCrossStreetName2": "EAST 42 STREET",
"lowHouseNumberOfBlockfaceSortFormat": "000000000AA",
"lowHouseNumberOfDefiningAddressRange": "000001000AA",
"message": "BRYANT PARK IS ON LEFT SIDE OF WEST 42 STREET",
"message2": "INPUT ADDRESS IS A PSEUDO-ADDRESS",
"nta": "MN17",
"ntaName": "Midtown-Midtown South",
"numberOfCrossStreetB5SCsHighAddressEnd": "1",
"numberOfCrossStreetB5SCsLowAddressEnd": "2",
"numberOfCrossStreetsHighAddressEnd": "1",
"numberOfCrossStreetsLowAddressEnd": "2",
"numberOfEntriesInListOfGeographicIdentifiers": "0006",
"numberOfExistingStructuresOnLot": "0001",
"numberOfStreetFrontagesOfLot": "03",
"physicalId": "0001735",
"policePatrolBoroughCommand": "1",
"policePrecinct": "014",
"reasonCode": "V",
"reasonCode1a": "8",
"reasonCode1e": "V",
"reasonCode2": "8",
"returnCode1a": "01",
"returnCode1e": "01",
"roadwayType": "1",
"rpadBuildingClassificationCode": "P8",
"rpadSelfCheckCodeForBbl": "1",
"sanbornBoroughCode": "1",
"sanbornPageNumber": "039",
"sanbornVolumeNumber": "04",
"sanitationCollectionSchedulingSectionAndSubsection": "2B",
"sanitationDistrict": "105",
"sanitationRecyclingCollectionSchedule": "ETH",
"sanitationRegularCollectionSchedule": "TTHS",
"sanitationSnowPriorityCode": "C",
"segmentAzimuth": "151",
"segmentIdentifier": "0034178",
"segmentLengthInFeet": "01023",
"segmentOrientation": "W",
"segmentTypeCode": "U",
"sideOfStreetIndicator": "L",
"sideOfStreetOfVanityAddress": "L",
"specialAddressGeneratedRecordFlag": "N",
"splitLowHouseNumber": "000001000AA",
"stateSenatorialDistrict": "27",
"streetName1In": "BRYANT PARK",
"streetStatus": "2",
"streetWidth": "55",
"taxMapNumberSectionAndVolume": "10501",
"toLionNodeId": "0021460",
"toPreferredLgcsFirstSetOf5": "01",
"trafficDirection": "T",
"underlyingHnsOnTrueStreet": "000000000AA",
"underlyingStreetCode": "13461001",
"uspsPreferredCityName": "NEW YORK",
"workAreaFormatIndicatorIn": "C",
"xCoordinate": "0988809",
"xCoordinateHighAddressEnd": "0988650",
"xCoordinateLowAddressEnd": "0989545",
"xCoordinateOfCenterofCurvature": "0000000",
"yCoordinate": "0213886",
"yCoordinateHighAddressEnd": "0214286",
"yCoordinateLowAddressEnd": "0213791",
"yCoordinateOfCenterofCurvature": "0000000",
"zipCode": "10036",
"Loc_name": "geosupport",
"score": 90,
"Match_Addr": "place [name=Bryant Park, borough=MANHATTAN, zip=null]",
"geoclient_function": "PLACE",
"geoclient_version": "2.0.0",
"geosupport_release": "17A",
"geosupport_release_date": "February 2017",
"geosupport_version": "17.1",
"status": "POSSIBLE_MATCH",
"level": "1"
}
}
]
}
The NYC Department of Buildings assigns a building identification number (BIN) to buildings in the NYC Buildings Information System The BINs are made available through the Geosupport system, and are searchable through the LocateNYC API. BINs are seven digit numbers that can be searched using the single line parameter. The LocateNYC API recognizes that the request is a BIN, and performs a lookup.
For more in depth details please visit
Borough, Block, and Lot (BBL) format is expressed as a 10-digit sequence.
For more in depth details please visit
Intersection requests must include the first cross street and second cross street, separated by "and". Borough is not required, but will help locate the intersection. The returned location is in the middle of the intersection.
For more in depth details please visit
Avenue A and East 10th Street, Manhattan
https://locatenyc.io/arcgis/rest/services/locateNYC/v1/GeocodeServer/findAddressCandidates?SingleLine=Avenue A and East 10th Street, Manhattan&f=json&token=your_token
{
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
},
"candidates": [
{
"address": "Avenue A and East 10 Street, Manhattan",
"location": {
"x": -73.982227193827,
"y": 40.727846045446434
},
"score": 100,
"attributes": {
"assemblyDistrict": "74",
"boroughCode1In": "1",
"censusTract1990": " 32 ",
"censusTract2000": " 32 ",
"censusTract2010": " 32 ",
"cityCouncilDistrict": "02",
"civilCourtDistrict": "02",
"communityDistrict": "103",
"communityDistrictBoroughCode": "1",
"communityDistrictNumber": "03",
"communitySchoolDistrict": "01",
"congressionalDistrict": "12",
"crossStreetNamesFlagIn": "E",
"dcpPreferredLgcForStreet1": "01",
"dcpPreferredLgcForStreet2": "01",
"dotStreetLightContractorArea": "1",
"fireBattalion": "04",
"fireCompanyNumber": "011",
"fireCompanyType": "L",
"fireDivision": "01",
"firstBoroughName": "MANHATTAN",
"firstStreetCode": "11211001010",
"firstStreetNameNormalized": "AVENUE A",
"geosupportFunctionCode": "2",
"geosupportReturnCode": "00",
"healthArea": "6600",
"healthCenterDistrict": "14",
"instructionalRegion": "MS",
"interimAssistanceEligibilityIndicator": "I",
"intersectingStreet1": "112110",
"intersectingStreet2": "117190",
"latitude": 40.727846045446434,
"lionNodeNumber": "0020977",
"listOfPairsOfLevelCodes": "MMMM",
"longitude": -73.982227193827,
"numberOfIntersectingStreets": "2",
"numberOfStreetCodesAndNamesInList": "02",
"policePatrolBoroughCommand": "1",
"policePrecinct": "009",
"sanbornBoroughCode1": "1",
"sanbornBoroughCode2": "1",
"sanbornPageNumber1": "020",
"sanbornPageNumber2": "021",
"sanbornVolumeNumber1": "02",
"sanbornVolumeNumber2": "02",
"sanitationCollectionSchedulingSectionAndSubsection": "4A",
"sanitationDistrict": "103",
"secondStreetCode": "11719001010",
"secondStreetNameNormalized": "EAST 10 STREET",
"stateSenatorialDistrict": "27",
"streetCode1": "11211001",
"streetCode2": "11719001",
"streetName1": "AVENUE A",
"streetName1In": "AVENUE A",
"streetName2": "EAST 10 STREET",
"streetName2In": "EAST 10TH STREET",
"workAreaFormatIndicatorIn": "C",
"xCoordinate": "0989176",
"yCoordinate": "0204451",
"zipCode": "10009",
"Loc_name": "geosupport",
"score": 100,
"Match_Addr": "intersection [crossStreetOne=Avenue A, crossStreetTwo=East 10th Street, borough=MANHATTAN, compassDirection=null]",
"geoclient_function": "INTERSECTION",
"geoclient_version": "2.0.0",
"geosupport_release": "17A",
"geosupport_release_date": "February 2017",
"geosupport_version": "17.1",
"status": "EXACT_MATCH",
"level": "0"
}
}
]
}
For more in depth details please visit
Blockface and Street Segment geocoding are available in all LocateNYC forward geocoding operations. Blockface geocoding is defined as searching for a specific side of a street stretch or block. Street segment geocoding refers to a specific street segment between two consecutive intersections or cross streets.
Street segment search requires an onstreet and two cross streets, followed by a well-known borough or neighborhood name designation. Request formatting is as follows:
SingleLine Request Syntax"(onStreet) [between] (crossStreetOne) [and] (crossStreetTwo), (Borough)"
SingleLine Parameter Example"10th Ave between W 50 St and W 51 St, Manhattan"
GET/POST https://locatenyc.io/arcgis/rest/services/locateNYC/v1/GeocodeServer/findAddressCandidates?SingleLine=10th Ave between W 50 St and W 51 St, Manhattan&f=json&token=your_token
Parameter | Value | |
---|---|---|
onStreet | 10 Ave | |
crossStreetOne | W 50 St | |
crossStreetTwo | W 51 St | |
boroughCrossStreetOne | Manhattan |
https://locatenyc.io/arcgis/rest/services/locateNYC/v1/GeocodeServer/findAddressCandidates?onStreet=10th Ave&crossStreetOne=W 50 St&crossStreetTwo=W 51 St&boroughCrossStreetOne=Manhattan&f=json&token=your_token
{
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
},
"candidates": [
{
"address": "10 Avenue between West 50 Street and West 51 Street, Manhattan",
"location": {
"y": 40.764998,
"x": -73.9915595
},
"score": 100,
"attributes": {
"bikeLane": "",
"bikeLane2": "",
"bikeTrafficDirection": "",
"coincidentSegmentCount": "1",
"curveFlag": "",
"dcpPreferredLgcForStreet1": "02",
"dcpPreferredLgcForStreet2": "01",
"dcpPreferredLgcForStreet3": "01",
"dotStreetLightContractorArea": "1",
"featureTypeCode": "",
"federalClassificationCode": "",
"firstBoroughName": "MANHATTAN",
"firstStreetCode": "11101002010",
"firstStreetNameNormalized": "10 AVENUE",
"fromLatitude": 40.764685,
"fromLgc1": "01",
"fromLgc2": "",
"fromLongitude": -73.991787,
"fromNode": "0021364",
"fromXCoordinate": -73.991787,
"fromYCoordinate": 40.764685,
"generatedRecordFlag": "",
"genericId": "0001152",
"geosupportFunctionCode": "3",
"geosupportReturnCode": "00",
"highCrossStreetB5SC1": "134790",
"latitude": 40.764998,
"leftSegmentAssemblyDistrict": "75",
"leftSegmentBlockFaceId": "1222601353",
"leftSegmentBoroughCode": "1",
"leftSegmentCensusBlock2000": "2010",
"leftSegmentCensusBlock2010": "2008",
"leftSegmentCensusTract1990": "135",
"leftSegmentCensusTract2000": "135",
"leftSegmentCensusTract2010": "135",
"leftSegmentCommunityDistrict": "104",
"leftSegmentCommunityDistrictBoroughCode": "1",
"leftSegmentCommunityDistrictNumber": "04",
"leftSegmentCommunitySchoolDistrict": "02",
"leftSegmentDynamicBlock": "211",
"leftSegmentElectionDistrict": "083",
"leftSegmentFireBattalion": "09",
"leftSegmentFireCompanyNumber": "054",
"leftSegmentFireCompanyType": "E",
"leftSegmentFireDivision": "03",
"leftSegmentHealthArea": "4500",
"leftSegmentHealthCenterDistrict": "15",
"leftSegmentHighHouseNumber": "0000751",
"leftSegmentInterimAssistanceEligibilityIndicator": "I",
"leftSegmentLowHouseNumber": "0000737",
"leftSegmentNta": "MN15",
"leftSegmentNtaName": "Clinton",
"leftSegmentPolicePatrolBorough": "MS",
"leftSegmentPolicePatrolBoroughCommand": "1",
"leftSegmentPolicePrecinct": "018",
"leftSegmentZipCode": "10019",
"legacyId": "0033860",
"lgc1": "02",
"lionBoroughCode": "1",
"lionFaceCode": "4340",
"lionKey": "1434000410",
"lionSequenceNumber": "00410",
"locationType": "MID",
"longitude": -73.9915595,
"lowCrossStreetB5SC1": "134770",
"midXCoordinate": -73.9915595,
"midYCoordinate": 40.764998,
"numberOfCrossStreetB5SCsHighAddressEnd": "1",
"numberOfCrossStreetB5SCsLowAddressEnd": "1",
"numberOfStreetCodesAndNamesInList": "",
"physicalId": "0001287",
"rightOfWayType": "",
"rightSegment1990CensusTract": "133",
"rightSegment2000CensusBlock": "3001",
"rightSegment2000CensusTract": "133",
"rightSegment2010CensusBlock": "3001",
"rightSegment2010CensusTract": "133",
"rightSegmentAssemblyDistrict": "75",
"rightSegmentBlockFaceId": "1222605191",
"rightSegmentBoroughCode": "1",
"rightSegmentCommunityDistrict": "104",
"rightSegmentCommunityDistrictBoroughCode": "1",
"rightSegmentCommunityDistrictNumber": "04",
"rightSegmentCommunitySchoolDistrict": "02",
"rightSegmentDynamicBlock": "301",
"rightSegmentElectionDistrict": "083",
"rightSegmentFireBattalion": "09",
"rightSegmentFireCompanyNumber": "054",
"rightSegmentFireCompanyType": "E",
"rightSegmentFireDivision": "03",
"rightSegmentHealthArea": "4700",
"rightSegmentHealthCenterDistrict": "15",
"rightSegmentHighHouseNumber": "0000748",
"rightSegmentInterimAssistanceEligibilityIndicator": "I",
"rightSegmentLowHouseNumber": "0000734",
"rightSegmentNta": "MN15",
"rightSegmentNtaName": "Clinton",
"rightSegmentPolicePatrolBorough": "MS",
"rightSegmentPolicePatrolBoroughCommand": "1",
"rightSegmentPolicePrecinct": "018",
"rightSegmentZipCode": "10019",
"roadwayType": "1",
"sanitationSnowPriorityCode": "C",
"secondStreetCode": "13477001010",
"secondStreetNameNormalized": "WEST 50 STREET",
"segmentAzimuth": "061",
"segmentIdentifier": "0033860",
"segmentLengthInFeet": "00260",
"segmentOrientation": "N",
"segmentTypeCode": "U",
"streetCode1": "",
"streetCode6": "",
"streetName1": "",
"streetName6": "",
"streetStatus": "2",
"streetWidth": "58",
"thirdStreetCode": "13479001010",
"thirdStreetNameNormalized": "WEST 51 STREET",
"toLatitude": 40.765311,
"toLongitude": -73.991332,
"toNode": "0021366",
"toXCoordinate": -73.991332,
"toYCoordinate": 40.765311,
"trafficDirection": "W",
"Match_addr": "10 Avenue between West 50 Street and West 51 Street, Manhattan",
"address_separated": "10 Avenue,West 50 Street,West 51 Street,Manhattan",
"Loc_name": "geosupport_3",
"status": "EXACT_MATCH",
"geoclient_function": "STREETSEGMENT",
"geoclient_version": "2.0.0",
"geosupport_release": "17d",
"geosupport_release_date": "November 2017",
"geosupport_version": "17.4",
"level": "0"
}
}
]
}
Blockface search requires the same inputs as street segment search as well as compass direction representing the side of the street. Formatting is as follows:
SingleLine Request Syntax"(compassDirection) [side of] (onStreet) [between] (crossStreetOne) [and] (crossStreetTwo), (Borough)"
SingleLine Parameter Example"E side of 10th Ave between W 50 St and W 51 St, Manhattan"
SingleLine Request Examplehttps://locatenyc.io/arcgis/rest/services/locateNYC/v1/GeocodeServer/findAddressCandidates?SingleLine=E side of 10th Ave between W 50 St and W 51 St, Manhattan&f=json&token=your_token
Parameter | Value | |
---|---|---|
compassDirection | East | |
onStreet | 10 Ave | |
crossStreetOne | W 50 St | |
crossStreetTwo | W 51 St | |
boroughCrossStreetOne | Manhattan |
https://locatenyc.io/arcgis/rest/services/locateNYC/v1/GeocodeServer/findAddressCandidates?compassDirection=East&onStreet=10th Ave&crossStreetOne=W 50 St&crossStreetTwo=W 51 St&boroughCrossStreetOne=Manhattan&f=json&token=your_token
{
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
},
"candidates": [
{
"address": "East side of 10 Avenue between West 50 Street and West 51 Street, Manhattan",
"location": {
"y": 40.764998,
"x": -73.9915595
},
"score": 100,
"attributes": {
"assemblyDistrict": "75",
"bikeLane": "",
"bikeLane2": "",
"bikeTrafficDirection": "",
"blockFaceId": "1222605191",
"boroughCode": "1",
"censusBlock2000": "3001",
"censusBlock2010": "3001",
"censusTract1990": "133",
"censusTract2000": "133",
"censusTract2010": "133",
"coincidentSegmentCount": "1",
"communityDistrict": "104",
"communityDistrictBoroughCode": "1",
"communityDistrictNumber": "04",
"communitySchoolDistrict": "02",
"curveFlag": "",
"dcpPreferredLgcForStreet1": "02",
"dcpPreferredLgcForStreet2": "01",
"dcpPreferredLgcForStreet3": "01",
"dotStreetLightContractorArea": "1",
"electionDistrict": "083",
"featureTypeCode": "",
"federalClassificationCode": "",
"fireBattalion": "09",
"fireCompanyNumber": "054",
"fireCompanyType": "E",
"fireDivision": "03",
"firstBoroughName": "MANHATTAN",
"firstStreetCode": "11101002010",
"firstStreetNameNormalized": "10 AVENUE",
"fromLatitude": 40.764685,
"fromLongitude": -73.991787,
"fromNode": "0021364",
"fromXCoordinate": -73.991787,
"fromYCoordinate": 40.764685,
"genericId": "0001152",
"geosupportFunctionCode": "3C",
"geosupportReturnCode": "00",
"healthArea": "4700",
"highHouseNumber": "0000748",
"interimAssistanceEligibilityIndicator": "I",
"latitude": 40.764998,
"leftSegmentHealthCenterDistrict": "15",
"legacySegmentId": "0033860",
"lionBoroughCode": "1",
"lionFaceCode": "4340",
"lionKey": "1434000410",
"lionSequenceNumber": "00410",
"locationType": "MID",
"longitude": -73.9915595,
"lowHouseNumber": "0000734",
"midXCoordinate": -73.9915595,
"midYCoordinate": 40.764998,
"nta": "MN15",
"ntaName": "Clinton",
"numberOfCrossStreetB5SCsHighAddressEnd": "1",
"numberOfCrossStreetB5SCsLowAddressEnd": "1",
"physicalId": "0001287",
"policePatrolBorough": "MS",
"policePatrolBoroughCommand": "1",
"policePrecinct": "018",
"rightOfWayType": "",
"rightSegmentHealthCenterDistrict": "15",
"roadwayType": "1",
"sanitationSnowPriorityCode": "C",
"secondStreetCode": "13477001010",
"secondStreetNameNormalized": "WEST 50 STREET",
"segmentAzimuth": "061",
"segmentIdentifier": "0033860",
"segmentLengthInFeet": "00260",
"segmentOrientation": "N",
"segmentTypeCode": "U",
"sideOfStreetDirection": "East",
"sideOfStreetIndicator": "R",
"streetStatus": "2",
"streetWidth": "58",
"thirdStreetCode": "13479001010",
"thirdStreetNameNormalized": "WEST 51 STREET",
"toLatitude": 40.765311,
"toLongitude": -73.991332,
"toNode": "0021366",
"toXCoordinate": -73.991332,
"toYCoordinate": 40.765311,
"trafficDirection": "W",
"zipCode": "10019",
"Match_addr": "East side of 10 Avenue between West 50 Street and West 51 Street, Manhattan",
"address_separated": "East,10 Avenue,West 50 Street,West 51 Street,Manhattan",
"Loc_name": "geosupport_3C",
"status": "EXACT_MATCH",
"geoclient_function": "BLOCKFACE",
"geoclient_version": "2.0.0",
"geosupport_release": "17d",
"geosupport_release_date": "November 2017",
"geosupport_version": "17.4",
"level": "0"
}
}
]
}
Batch geocoding is supported by the LocateNYC API. Batch geocodes can be done in two ways: as an HTTP GET or POST directly against the REST endpoint, or using the ArcGIS Online batch geocoding functionality. This section describes how to perform batch geocodes in both ways.
For more in depth details please visit
Limits
Batch Geocoding via REST API - 150 addresses per request. Maximum of six requests/min
Batch Geocoding via ArcGIS Online - Maximum of 10,000 addresses.
HTTP Request to REST Endpoint
The REST endpoint for batch geocoding is /geocodeAddresses
. The parameters are structured
to replicate Esri REST endpoints. The Esri docs may provide
useful for understanding requests and responses.
Users are encouraged read the documentation
for each of the parameters, and make requests through the LocateNYC API Swagger docs at:
https://locatenyc.io/docs/#/arcgis/geocodeAddresses_get
https://locatenyc.io/docs/#/arcgis/geocodeAddresses_post
It is recommended to use the POST method for large requests, as GET is limited in parameter size.
The POST method also allows for the request to pass JSON
and text parameters,
as well as application/x-www-form-urlencoded
parameters via the body
.
Examples
For details examples and API examples please see:
ArcGIS Online
To enable batch geocoding in ArcGIS Online, you must first register the LocateNYC API with your
AGO or Portal Organization; see Using LocateNYC in ArcGIS Online & Portal.
Batch geocoding works when adding content to a map, or adding a shapefile, .csv, .txt, or GPX file to the
My Content section of AGO. Below is an example of adding a CSV file with 100 addresses to a map. The
figure below shows the first few rows of the addresspts100.csv file. Notice the SingleLine field
(column Q), which expresses address as one line (using borough code). The SingleLine field will
be used for the search
parameter.
search
(see previous section for details). Next scroll down to the bottom
of the location fields until the "SingleLine" field. Click the dropdown and select Single Field Search
field. (this is an alias for the search
REST parameter).
search
(see the previous section for details). Next, scroll down to the bottom
of the location fields until the "SingleLine" field. Click the dropdown and select the Single Field Search
field. (this is an alias for the search
REST parameter). Also, keep the
Publish this file as a hosted layer box checked so that AGO will
create a hosted layer from the file. Click the Add Item button.The LocateNYC API supports 3D geocoding within buildings in NYC. The LocateNYC API uses the latest data from the NYC Department of Information Technology & Telecommunications (DoITT) to estimate elevation of building floors, both above and below "ground" level. The floor elevation is a based on:
NYC Building Footprints are used for 3D geocoding. For documentation/metadata on how building footprints are captured and calculated, please see the
NYC Planimetric Capture Rules GitHub Page.
The LocateNYC API uses the Council on Tall Buildings and Urban Habitat (CTBUH) criteria to estimate
elevation. In order to estimate elevation inside of buildings, some assumptions must be made, including:
There are two elevation variables returned:
elevation_estimate
is the estimated elevation above the "ground" in feet.
elevation_ground
is the measured elevation of the ground in feet. See NYC Planimetric Capture Rules for measurement details.
3D geocoding will work with addresses, places, and BIN requests. 3D geocoding will also estimate above-ground and below-ground floor elevation. The format must have the address, place, or BIN followed by ", Floor NN". If you would like to estimate underground floor elevation, please use the format ", Floor BNN". The "B" or "b" stands for below ground.
231 East 10 Street, Manhattan, Floor 3
Chrysler Building, Floor 50
1036156, Floor 50 (Chrysler Building BIN)
Chrysler Building, Floor b3
Chrysler Building, Floor 50
https://locatenyc.io/arcgis/rest/services/locateNYC/v1/GeocodeServerfindAddressCandidates?SingleLine=Chrysler Building, Floor 50&f=json&token=your_token
Scroll down to the bottom of the response below where you'll find that the elevation_estimate
is 730.7
feet, and elevation_ground
is 41ft. The x
and y
coordinates corresponds
to the type of request that was made. An address request will return address point x/y location, place will
return a place location (usually in center of the place), and BIN will return a BIN location (the center
of the tax lot).
{ "spatialReference": {
"wkid": 4326,
"latestWkid": 4326
},
"candidates": [
{
"address": "Chrysler Building, Manhattan",
"location": {
"x": -73.97533801353137,
"y": 40.751630794801464
},
"score": 90,
"attributes": {
"assemblyDistrict": "73",
"bbl": "1012970023",
"bblBoroughCode": "1",
"bblTaxBlock": "01297",
"bblTaxLot": "0023",
"boardOfElectionsPreferredLgc": "1",
"boePreferredStreetName": "CHRYSLER BUILDING",
"boePreferredstreetCode": "10028701",
"boroughCode1In": "1",
"buildingIdentificationNumber": "1036156",
"businessImprovementDistrict": "113170",
"censusBlock2000": "2003",
"censusBlock2010": "1016",
"censusTract1990": " 92 ",
"censusTract2000": " 92 ",
"censusTract2010": " 92 ",
"cityCouncilDistrict": "04",
"civilCourtDistrict": "04",
"coincidentSegmentCount": "1",
"communityDistrict": "106",
"communityDistrictBoroughCode": "1",
"communityDistrictNumber": "06",
"communitySchoolDistrict": "02",
"condominiumBillingBbl": "0000000000",
"congressionalDistrict": "12",
"cooperativeIdNumber": "0000",
"cornerCode": "CR",
"crossStreetNamesFlagIn": "E",
"dcpCommercialStudyArea": "11031",
"dcpPreferredLgc": "01",
"dotStreetLightContractorArea": "1",
"dynamicBlock": "204",
"electionDistrict": "012",
"fireBattalion": "08",
"fireCompanyNumber": "021",
"fireCompanyType": "E",
"fireDivision": "03",
"firstBoroughName": "MANHATTAN",
"firstStreetCode": "10028701010",
"firstStreetNameNormalized": "CHRYSLER BUILDING",
"fromLionNodeId": "0022500",
"fromPreferredLgcsFirstSetOf5": "01",
"genericId": "0002765",
"geosupportFunctionCode": "1B",
"geosupportReturnCode": "01",
"geosupportReturnCode2": "00",
"gi5DigitStreetCode1": "00287",
"gi5DigitStreetCode2": "17830",
"gi5DigitStreetCode3": "17850",
"gi5DigitStreetCode4": "24890",
"giBoroughCode1": "1",
"giBoroughCode2": "1",
"giBoroughCode3": "1",
"giBoroughCode4": "1",
"giBuildingIdentificationNumber1": "1036156",
"giBuildingIdentificationNumber2": "1036156",
"giBuildingIdentificationNumber3": "1036156",
"giBuildingIdentificationNumber4": "1036156",
"giDcpPreferredLgc1": "01",
"giDcpPreferredLgc2": "01",
"giDcpPreferredLgc3": "02",
"giDcpPreferredLgc4": "01",
"giGeographicIdentifier1": "N",
"giHighHouseNumber2": "143",
"giHighHouseNumber3": "140",
"giHighHouseNumber4": "413",
"giLowHouseNumber2": "135",
"giLowHouseNumber3": "130",
"giLowHouseNumber4": "393",
"giSideOfStreetIndicator1": "R",
"giSideOfStreetIndicator2": "L",
"giSideOfStreetIndicator3": "R",
"giSideOfStreetIndicator4": "R",
"giStreetCode1": "10028701",
"giStreetCode2": "11783001",
"giStreetCode3": "11785002",
"giStreetCode4": "12489001",
"giStreetName1": "CHRYSLER BUILDING",
"giStreetName2": "EAST 42 STREET",
"giStreetName3": "EAST 43 STREET",
"giStreetName4": "LEXINGTON AVENUE",
"healthArea": "4800",
"healthCenterDistrict": "13",
"highBblOfThisBuildingsCondominiumUnits": "1012970023",
"highCrossStreetB5SC1": "117850",
"highCrossStreetCode1": "11785002",
"highCrossStreetName1": "EAST 43 STREET",
"highHouseNumberOfBlockfaceSortFormat": "000000000AA",
"hurricaneEvacuationZone": "X",
"instructionalRegion": "MS",
"interimAssistanceEligibilityIndicator": "I",
"internalLabelXCoordinate": "0991073",
"internalLabelYCoordinate": "0213119",
"latitude": 40.751630794801464,
"latitudeInternalLabel": 40.75163629201716,
"legacySegmentId": "0035800",
"lionBoroughCode": "1",
"lionBoroughCodeForVanityAddress": "1",
"lionFaceCode": "3040",
"lionFaceCodeForVanityAddress": "3040",
"lionKey": "1304000220",
"lionKeyForVanityAddress": "1304000220",
"lionSequenceNumber": "00220",
"lionSequenceNumberForVanityAddress": "00220",
"listOf4Lgcs": "01",
"longitude": -73.97533801353137,
"longitudeInternalLabel": -73.97537410397267,
"lowBblOfThisBuildingsCondominiumUnits": "1012970023",
"lowCrossStreetB5SC1": "117830",
"lowCrossStreetCode1": "11783001",
"lowCrossStreetName1": "EAST 42 STREET",
"lowHouseNumberOfBlockfaceSortFormat": "000000000AA",
"lowHouseNumberOfDefiningAddressRange": "000001000AA",
"message": "405 LEXINGTON AVENUE IS THE UNDERLYING ADDRESS OF CHRYSLER BUILDING",
"nta": "MN19",
"ntaName": "Turtle Bay-East Midtown",
"numberOfCrossStreetB5SCsHighAddressEnd": "1",
"numberOfCrossStreetB5SCsLowAddressEnd": "1",
"numberOfCrossStreetsHighAddressEnd": "1",
"numberOfCrossStreetsLowAddressEnd": "1",
"numberOfEntriesInListOfGeographicIdentifiers": "0004",
"numberOfExistingStructuresOnLot": "0001",
"numberOfStreetFrontagesOfLot": "04",
"physicalId": "0003355",
"policePatrolBoroughCommand": "1",
"policePrecinct": "017",
"reasonCode": "V",
"reasonCode1e": "V",
"returnCode1a": "00",
"returnCode1e": "01",
"roadwayType": "1",
"rpadBuildingClassificationCode": "O4",
"rpadSelfCheckCodeForBbl": "3",
"sanbornBoroughCode": "1",
"sanbornPageNumber": "043",
"sanbornVolumeNumber": "04",
"sanitationCollectionSchedulingSectionAndSubsection": "2B",
"sanitationDistrict": "105",
"sanitationRecyclingCollectionSchedule": "ETH",
"sanitationRegularCollectionSchedule": "TTHS",
"sanitationSnowPriorityCode": "C",
"segmentAzimuth": "061",
"segmentIdentifier": "0035800",
"segmentLengthInFeet": "00281",
"segmentOrientation": "N",
"segmentTypeCode": "U",
"sideOfStreetIndicator": "R",
"sideOfStreetOfVanityAddress": "R",
"specialAddressGeneratedRecordFlag": "N",
"splitLowHouseNumber": "000001000AA",
"stateSenatorialDistrict": "27",
"streetName1In": "CHRYSLER BUILDING",
"streetStatus": "2",
"streetWidth": "52",
"taxMapNumberSectionAndVolume": "10504",
"toLionNodeId": "0022576",
"toPreferredLgcsFirstSetOf5": "02",
"trafficDirection": "A",
"underlyingHnsOnTrueStreet": "000405000AA",
"underlyingStreetCode": "12489001",
"uspsPreferredCityName": "NEW YORK",
"workAreaFormatIndicatorIn": "C",
"xCoordinate": "0991083",
"xCoordinateHighAddressEnd": "0991022",
"xCoordinateLowAddressEnd": "0990886",
"xCoordinateOfCenterofCurvature": "0000000",
"yCoordinate": "0213117",
"yCoordinateHighAddressEnd": "0213294",
"yCoordinateLowAddressEnd": "0213048",
"yCoordinateOfCenterofCurvature": "0000000",
"zipCode": "10174",
"Loc_name": "geosupport",
"score": 90,
"Match_Addr": "place [name=Chrysler Building, borough=MANHATTAN, zip=null]",
"geoclient_function": "PLACE",
"geoclient_version": "2.0.0",
"geosupport_release": "17A",
"geosupport_release_date": "February 2017",
"geosupport_version": "17.1",
"status": "POSSIBLE_MATCH",
"level": "1",
"elevation_estimate": 730.7,
"elevation_ground": 41
}
}
]
}
The image below shows a 3D rendering of NYC, with the Chrysler Building in focus. The red cylinder within the building represents a 5 1/2 foot tall person standing the 50th floor.
If a floor that does not exist as requested, such as floor 200 of the Chrysler building. You'll get a 200
response with 400
error included.
/findAddressCandidates?SingleLine=Chrysler Building, Floor 200&f=json&token=your_token
{
"error": {
"code": 400,
"message": "Unable to complete operation.",
"details": [
"According to Dept. of Buildings, this floor does not exist, to large. This building only has 68 floors."
]
}
}
If forward geocoding is the process of transforming an address (or place, etc.) to a location on the Earth's surface (i.e. latitude and longitude), then reverse geocoding is considered the opposite. The LocateNYC API performs reverse geocoding by taking as input a set of x & y coordinates (i.e. latitude and longitude) and returning the nearest address locations in NYC. Users can optionally set a distance threshold to limit the nearest matched addresses to a radius threshold.
For details examples and API examples please see:
The suggest method allows you to request a list of valid addresses for a partial input text. An input 'text' parameter is required. You can limit the number of suggestions by using the 'maxSuggestions' parameter.
For details examples and API examples please see:
In an effort to be consistent with the City of New York, the LocateNYC API uses data and software that are maintained and released by the City. Specifically, the Geosupport software and data are used by LocateNYC, as is the public version of Geoclient. Geosupport software and data are released quarterly. Upon release, the LocateNYC API will incorporate the new release. You can verify which version of Geosupport the API is using in every response. The attributes that carry this information are:
Since the LocateNYC API relies on open data provided by the City of New York, we strive to keep the API in sync with data that are released by the City.
The geocoding responses that are being provided by the LocateNYC API are intended for informational
purposes only. DVG does not warranty or guarantee in any way, the completeness, accuracy, content, usage,
or meaning of the data provided. DVG also does not warranty or guarantee the fitness of these provided
data for any purpose. DVG is not liable for the completeness, accuracy, content, or fitness
of the provided data for any purpose or use. Any decisions made based on the provided data
is the sole responsibility of the client, not DVG.
Because the LocateNYC API uses the NYC Geosupport software, their disclaimer also applies
as their license. Information can be found here.
LocateNYC constitutes intellectual property of DVG. LocateNYC has a patent pending with the United States Patent and Trademark Office (USPTO). For more information regarding acceptabe usage of LocateNYC please see our Terms and Rights or Contact Us
Along with our own elbow grease, DVG's services are built on top many open data sources and open source software. Use of these underlying sources, either through DVG's LocateNYC or directly, often requires certain rights and obligations be followed, such as providing an official citation to the originating data provider or sharing any modifications made to the data under similar terms. It is DVG's’s legal duty to follow all the guidelines set by the data providers. As a user of DVG’s services, it is also your legal duty to follow these guidelines as well. Please visit our Rights and Terms pages for more information.
Please be aware that LocateNYC uses the NYC Geosupport Desktop Edition sotfware, along with Geoclient. More information on how to properly use and attribute can be found here and here.
LocateNYC is built on scalable infrastructure that is shared among the community of users. As such, responsible use of the API is expected following the below usage guidelines:
Note that these are not hard limits. However, if we observe applications continually exceeding these limits, DVG reserves the right to block and/or terminate the account. DVG will first make an attempt to contact the account owner using the provided email/contact information, to provide a chance for corrective action to be taken.
If you need more horsepower, please Contact Us.