Documentation

LocateNYC has a robust featrure set that can be used directly in your applications or in your Esri maps and apps.

general info

  • LocateNYC Intro
  • Getting Started
  • ArcGIS Online & Portal
  • Using the API

Features

  • Tokens
  • address
  • place
  • Building ID Number (BIN)
  • NYC Tax Lot (BBL)
  • Intersection
  • Blockface / Street Segment
  • Batch Geocoding
  • 3D Geocoding
  • Reverse
  • Suggest

Additional Info

  • General
  • Rights
  • Rate Limits

LocateNYC API Intro

Geocoding is the process of transforming an address (or place, etc.) to a location on the Earth's surface (i.e. latitude and longitude). This is technically known as forward geocoding.

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 others) have done an extraordinary job of managing these data and publishing helpful tools for accessing them. The LocateNYC API leverages these data, tools, and more to easilty provide access to standardized NYC data. Simply put, the LocateNYC API is driven by open data.

The LocateNYC API does a variety of different types of forward geocoding including; address, place, BIN, BBL, 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 detailed instructions for getting started and using the API. The API documentation can be found at https://locatenyc.io/docs/#/arcis

Getting Started

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:

  1. Sign up for a free account
  2. Once you have created your account, you can use your credentials to request a token and access the API. All HTTP requests must have token attached to the request.
  3. If you plan on using the LocateNYC API in ArcGIS Online or Portal please see the Using LocateNYC in ArcGIS Online & Portal documentation.
  4. If you plan on using the API in your JavaScript, .NET, Java, etc. web applications, please see the Using the LocateNYC REST API for API documentation. For HTTP access examples, please see the Generate Token example and the Forward Geocoding examples.

Using LocateNYC in ArcGIS Online, Portal, and Pro

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.

AGO/Portal Steps

  1. First Sign up for a free LocateNYC account, and save your username and password

  2. 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.

    1. 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.

    2. Click Security > Config > Update Security Configuration.

    3. 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"

      }

  3. Login to your ArcGIS Online account and select the My Content tab. Click on Add Item and select From the web.

  4. The Item from the web dialog will appear. Select ArcGIS Server web service and enter this URL:

    https://locatenyc.io/arcgis/rest/services/locateNYC/v1/GeocodeServer
  5. 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). Select Store credentials with service item, enter a title and add tags. Click the ADD ITEM button to save the locator, which will create an item in ArcGIS Online.

  6. 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.

  7. On the menu, select Organization. Then, click on EDIT SETTINGS.

  8. On the left-hand side, select Utility Services. Find the Geocoding section and select ADD LOCATOR.

  9. The Add Geocoder dialog will appear. 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 place finding and Allow batch geocoding and select OK.

  10. 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!

  11. In the menu, select Map to create a new map in ArcGIS Online. On the geocoding widget, 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.

  12. Go ahead and kick the tires! Type in 231 East 10th Street, Manhattan into the map geocoder. .

ArcGIS Pro

Currently Supported in ArcGIS Pro 2.1.2+

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.  

Using The API

Swagger Doc - https://locatenyc.io/docs/#/arcgis

The LocateNYC REST API is built to provide a geocoding REST endpoints 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.

Example Using the Swagger Doc

  1. Go to the /tokens/generateToken endpoint in Swagger (you could also do this using Postman or cURL).
  2. Type in your username and password. Format and expiration (default of 60 minutes) are not required. Click the Try it Out! button to send the request.
  3. The Response Body will display the JSON response. The token can now be used for making geocoding API request. Please note that the token will expire after the number of minutes specified.
  4. Now you can make a geocoding request. Go over to the /GeocodeServer/findAddressCandidates endpoint. Type in an address within NYC into the singleLine or SingleLine parameter (they are the same), and paste your token into the token field. Click the Try it Out! button.

  5. The Response Body provides a robust set of attributes describing the location and a variety of other NYC specific variables. If you scroll down to the bottom of the response, you will see variables describing the geosupport version which the API used to locate the address, along with the release data of the geosupport version and release name. Because the LocateNYC is using Geoclient, a full description of the variables that are returned can be found at the API Docs site.

Generate Token

All LocateNYC API requests are required to have an access token attached to the request. To generate a token:

  1. Sign up for a free LocateNYC API account

  2. Use your username and password to generate an access token

  3. 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)

Address

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).



Place

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

Response
                
{
  "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

Response
                
{
  "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

Response
                
{
  "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"
      }
    }
  ]
}
            
            




Building Identification Number (BIN)

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.

1006458


https://locatenyc.io/arcgis/rest/services/locateNYC/v1/GeocodeServer/findAddressCandidates?SingleLine=1006458&f=json&token=your_token

Response
                                            
{
  "spatialReference": {
    "wkid": 4326,
    "latestWkid": 4326
  },
  "candidates": [
    {
      "address": "BIN:1006458, Manhattan",
      "location": {
        "x": -73.98514209786948,
        "y": 40.729312158151565
      },
      "score": 100,
      "attributes": {
        "bbl": "1004520042",
        "bblBoroughCode": "1",
        "bblTaxBlock": "00452",
        "bblTaxLot": "0042",
        "buildingIdentificationNumber": "1006458",
        "buildingIdentificationNumberIn": "1006458",
        "condominiumBillingBbl": "0000000000",
        "cooperativeIdNumber": "3741",
        "firstBoroughName": "MANHATTAN",
        "geosupportFunctionCode": "BN",
        "geosupportReturnCode": "00",
        "gi5DigitStreetCode1": "17190",
        "giBoroughCode1": "1",
        "giBuildingIdentificationNumber1": "1006458",
        "giDcpPreferredLgc1": "01",
        "giHighHouseNumber1": "231",
        "giLowHouseNumber1": "231",
        "giSideOfStreetIndicator1": "L",
        "giStreetCode1": "11719001",
        "giStreetName1": "EAST   10 STREET",
        "highBblOfThisBuildingsCondominiumUnits": "1004520042",
        "internalLabelXCoordinate": "0988368",
        "internalLabelYCoordinate": "0204985",
        "latitudeInternalLabel": 40.729312158151565,
        "longitudeInternalLabel": -73.98514209786948,
        "lowBblOfThisBuildingsCondominiumUnits": "1004520042",
        "lowHouseNumberOfDefiningAddressRange": "000231000AA",
        "modeSwitchIn": "X",
        "numberOfEntriesInListOfGeographicIdentifiers": "0001",
        "numberOfExistingStructuresOnLot": "0001",
        "numberOfStreetFrontagesOfLot": "01",
        "returnCode1a": "00",
        "rpadBuildingClassificationCode": "C6",
        "rpadSelfCheckCodeForBbl": "5",
        "sanbornBoroughCode": "1",
        "sanbornPageNumber": "027",
        "sanbornVolumeNumber": "02",
        "taxMapNumberSectionAndVolume": "10205",
        "workAreaFormatIndicatorIn": "C",
        "Loc_name": "geosupport",
        "score": 100,
        "Match_Addr": "bin [1006458]",
        "geoclient_function": "BIN",
        "geoclient_version": "2.0.0",
        "geosupport_release": "17A",
        "geosupport_release_date": "February 2017",
        "geosupport_version": "17.1",
        "status": "EXACT_MATCH",
        "level": "0"
      }
    }
  ]
}
                                        
                                        

The response will provide coordinates that fall within the tax lot. Many times, this location also falls within the building itself; however, the location will not necessarily fall within the geometry of the building.

NYC Tax Lot - Borough, Block, and Lot (BBL) Format

Borough, Block, and Lot (BBL) format is expressed as a 10-digit sequence.

1004520042


  • Borough Code: Digit 1
  • Block Number: Digit 2-6
  • Lot Number: Digit 7-10
https://locatenyc.io/arcgis/rest/services/locateNYC/v1/GeocodeServer/findAddressCandidates?SingleLine=1004520042&f=json&token=your_token

Response
                
{
  "spatialReference": {
    "wkid": 4326,
    "latestWkid": 4326
  },
  "candidates": [
    {
      "address": "Borough:1 Block:00452 Lot:0042",
      "location": {
        "x": -73.98514209786948,
        "y": 40.729312158151565
      },
      "score": 100,
      "attributes": {
        "bbl": "1004520042",
        "bblBoroughCode": "1",
        "bblBoroughCodeIn": "1",
        "bblTaxBlock": "00452",
        "bblTaxBlockIn": "00452",
        "bblTaxLot": "0042",
        "bblTaxLotIn": "0042",
        "buildingIdentificationNumber": "1006458",
        "condominiumBillingBbl": "0000000000",
        "cooperativeIdNumber": "3741",
        "firstBoroughName": "MANHATTAN",
        "geosupportFunctionCode": "BL",
        "geosupportReturnCode": "00",
        "gi5DigitStreetCode1": "17190",
        "giBoroughCode1": "1",
        "giBuildingIdentificationNumber1": "1006458",
        "giDcpPreferredLgc1": "01",
        "giHighHouseNumber1": "231",
        "giLowHouseNumber1": "231",
        "giSideOfStreetIndicator1": "L",
        "giStreetCode1": "11719001",
        "giStreetName1": "EAST   10 STREET",
        "highBblOfThisBuildingsCondominiumUnits": "1004520042",
        "internalLabelXCoordinate": "0988368",
        "internalLabelYCoordinate": "0204985",
        "latitudeInternalLabel": 40.729312158151565,
        "longitudeInternalLabel": -73.98514209786948,
        "lowBblOfThisBuildingsCondominiumUnits": "1004520042",
        "lowHouseNumberOfDefiningAddressRange": "000231000AA",
        "modeSwitchIn": "X",
        "numberOfEntriesInListOfGeographicIdentifiers": "0001",
        "numberOfExistingStructuresOnLot": "0001",
        "numberOfStreetFrontagesOfLot": "01",
        "returnCode1a": "00",
        "rpadBuildingClassificationCode": "C6",
        "rpadSelfCheckCodeForBbl": "5",
        "sanbornBoroughCode": "1",
        "sanbornPageNumber": "027",
        "sanbornVolumeNumber": "02",
        "taxMapNumberSectionAndVolume": "10205",
        "workAreaFormatIndicatorIn": "C",
        "Loc_name": "geosupport",
        "score": 100,
        "Match_Addr": "bbl [borough=MANHATTAN, block=00452, lot=0042]",
        "geoclient_function": "BBL",
        "geoclient_version": "2.0.0",
        "geosupport_release": "17A",
        "geosupport_release_date": "February 2017",
        "geosupport_version": "17.1",
        "status": "EXACT_MATCH",
        "level": "0"
      }
    }
  ]
}
            
            


The response will provide coordinates that fall within the tax lot.

Intersection

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.

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

Response
                
{
  "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"
      }
    }
  ]
}
                
            

Blockface & Street Segment

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

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

Multiline Request Parameters
Parameter Value
onStreet 10 Ave
crossStreetOne W 50 St
crossStreetTwo W 51 St
boroughCrossStreetOne Manhattan

Multiline Request Example 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

Response
                
{
  "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

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 Example https://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

Multiline Request Parameters
Parameter Value
compassDirection East
onStreet 10 Ave
crossStreetOne W 50 St
crossStreetTwo W 51 St
boroughCrossStreetOne Manhattan

Multiline Request Example 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

Response
                
{
  "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

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.

Limits
Batch Geocoding via REST API - 1,000 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
Let's batch geocode these two addresses, and request the coordinates in Long Island State Plane coordinates (EPSG: 2263):

231 East 10th Street, Mahnattan

314 W 100 St, Manhattan


The format of the addresses parameter must fit the following form:

                
{
   "records":[
      {
         "attributes":{
            "OBJECTID":0,
            "search":"231 East 10 Street, Manhattan"
         }
      },
      {
         "attributes":{
            "OBJECTID":1,
            "search":"314 W 100 St, Manhattan"
         }
      }
   ]
}
                
            

OBJECTID - Required parameter that indicates the numeric order of the address record.
search - Required parameter for single line address format. This parameter will accept all of the searchable location types handled by the /findAddressCandidates endpoint (e.g. address, place, bin, bbl, intersection). See above for details. Individual address or location fields are not supported, only single line format.

Example Request
https://locatenyc.io/arcgis/rest/services/locateNYC/v1/GeocodeServer/geocodeAddresses?f=json&addresses={"records":[{"attributes":{"OBJECTID":0,"search":"231 East 10 Street"}},{"attributes":{"OBJECTID":1,"search":"314 W 100 St, Manhattan"}}]}&token=your_token&f=json&outSR=2263

Response
                
{
   "spatialReference":{
      "wkid":2263,
      "latestWkid":2263
   },
   "locations":[
      {
         "address":"231 East 10 Street, Manhattan",
         "location":{
            "x":"0988348",
            "y":"0204949"
         },
         "score":100,
         "attributes":{
            "address_separated":"231,EAST   10 STREET,1,10003",
            "ResultID":0,
            "Loc_name":"geosupport_AP",
            "status":"M",
            "Score":100,
            "Match_Addr":"231 East 10 Street, Manhattan",
            "geoclient_function":"ADDRESS",
            "Side":"",
            "SubAdd":"",
            "User_fld":"1",
            "Addr_type":"Address"
         }
      },
      {
         "address":"314 West 100 Street, Manhattan",
         "location":{
            "x":"0991913",
            "y":"0230054"
         },
         "score":100,
         "attributes":{
            "address_separated":"314,WEST  100 STREET,1,10025",
            "ResultID":1,
            "Loc_name":"geosupport_AP",
            "status":"M",
            "Score":100,
            "Match_Addr":"314 West 100 Street, Manhattan",
            "geoclient_function":"ADDRESS",
            "Side":"",
            "SubAdd":"",
            "User_fld":"1",
            "Addr_type":"Address"
         }
      }
   ]
}
                
            

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.

Steps (from AGO Map)

  1. Create a new Map in ArcGIS Online
  2. On the map toolbar click the Add button to add data. Select the Add Layer from File option. The Add Layer from File dialog will open. Click the Choose File button and navigate to your dataset. Here, we are using the addresspts100.csv file. Click the IMPORT LAYER button.
  3. The Add CSV Layer dialog will appear. Select LocateNYC from the dropdown. The batch geocoder only accepts 1 single line format field. The REST parameter name for the field is 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 Search field. (this is an alias for the search REST parameter).
  4. Click ADD LAYER. This may take a while, depending on the number of locations. There are a few bad addresses (for illustration). The locations will be added to the map.

Steps (from AGO My Content)

  1. Navigate to My Content and click the Add Item button. Choose Item from my computer
  2. The Item from my computer dialog will appear. Select LocateNYC geocoder from the dropdown. The batch geocoder only accepts one single line format field. The REST parameter name for the field is 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 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.
  3. We intentionally added nine bad addresses to this dataset (for illustration). If there are any unmatched addresses, you will be able to rematch them by clicking the Yes button. If you don't want to review them, you can click the No button.
  4. After clicking the No button, you are brought to the AGO item page for the newly created addresspts100 item.

3D Geocoding - Building Floor Height Estimation

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:

  1. Ground elevation of the building
  2. Number of above ground floors in the building
  3. Building height
  4. Estimated floor height

Elevation Estimates

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 criteria to estimate elevation. In order to estimate elevation inside of buildings, some assumptions must be made, including:

  1. Because DoITT does not classify buildings by usage type, the CTBUH "function unkown or mixed-use" building type is used to estimate floor heights.
  2. Buildings with 14 or more stories are considered tall. Tall buildings typically have a lobby. Lobby height is estimated to be 20.1 feet
  3. Buildings with fewer than 14 stories are considered "small"

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.

Format

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

Examples

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).

Response
                
{  "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

Response
                
{
  "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."
    ]
  }
}
                
            

Reverse

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.

Example Request https://locatenyc.io/arcgis/rest/services/locateNYC/v1/GeocodeServer/reverseGeocode?location=-73.985214%2C40.729214&distance=0&outSR=4326&f=json&token=your_token

The 'location' parameter is the point at which to search for the closest address. The structure of the point is the same as the structure of the JSON point object returned by the ArcGIS REST API. In addition to the JSON structure, you can specify the location with a simple comma-separated syntax.

Examples: location=-73.985,40.729 or location={"x":-73.985, "y":40.729}



Response
                                            
        {
          "address": {
            "Street": "231 EAST TENTH STREET",
            "Borough": "Manhattan",
            "City": "New York City",
            "State": "NY",
            "ZIP": "10003",
            "FullAddress": "231 EAST TENTH STREET MANHATTAN, NY 10003",
            "BIN": 1006458,
            "Loc_name": "address"
          },
          "location": {
            "x": -73.9852143149,
            "y": 40.729214533,
            "spatialReference": {
              "latestWkid": 4326,
              "wkid": 4326
            }
          }
        }
                                        
                                        

Suggest

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.

text = 205 east 16


Example Request https://locatenyc.io/arcgis/rest/services/locateNYC/v1/GeocodeServer/suggest?text=205%20EAST%2016&maxSuggestions=10&f=json&token=your_token

Response
                                            
{
  "suggestions": [
    {
      "text": "205 EAST 16 STREET BROOKLYN, NY 11226",
      "magicKey": "dHA9MCNsb2M9ODMyNjQyMSNsbmc9MzMjbGJzPTEwOTo5NzU5MDUz",
      "isCollection": false
    },
    {
      "text": "205 EAST 16 STREET MANHATTAN, NY 10003",
      "magicKey": "dHA9MCNsb2M9ODMyNjQyMSNsbmc9MzMjbGJzPTEwOTo5NzU5MDUz",
      "isCollection": false
    },
    {
      "text": "205 EAST 163 STREET BRONX, NY 10456",
      "magicKey": "dHA9MCNsb2M9ODMyNjQyMSNsbmc9MzMjbGJzPTEwOTo5NzU5MDUz",
      "isCollection": false
    },
    {
      "text": "205 EAST 167 STREET BRONX, NY 10456",
      "magicKey": "dHA9MCNsb2M9ODMyNjQyMSNsbmc9MzMjbGJzPTEwOTo5NzU5MDUz",
      "isCollection": false
    }
  ]
}
                                        
                                        

Data Information

NYC Geosupport & Geoclient

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:

  • geosupport_release - Indicates the release name (e.g. 17B).
  • geosupport_release_date - Indicates month and year of release.
  • geosupport_version - Indicates version number of Geosupport (e.g. 17.2)

Data

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.

Disclaimer

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 Technology

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

Rights and Attribution

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.

Other Sources

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.

Rate Limits

The LocateNYC is build on scalable infrastrcture that is shared among the community of users. As such, responsible use of the API is expected following the below usage guidelines:

  • Maxmimum of 3,000 requests per minute

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 horespower, please Contact Us.