Skip to main content
Pinpoint - Smarty's free user conference - October 22nd and 23rd Register now (opens in new tab)
Smarty

What is geocoding - A comprehensive guide

Geocoding Fundamentals

city image

Geocoding transforms the description of a location, such as an address or place name, into corresponding geographic coordinates that indicate the place's location on the earth's surface. These resulting lat long coordinates are referred to as a geocode.

Geocoding fundamentals

There are a variety of companies that offer address geocoding. Here are a few ways you can start geocoding right now.

geocoding trail
Single Address Geocoding (opens in new tab)

Enter one US or international address at a time to find the corresponding geocode.

Batch Geocoding (opens in new tab)

Upload or copy & paste a batch list of US or international addresses to find corresponding geocodes.

Geocoding APIs (opens in new tab)

Integrate geocoding directly into your application with an application programming interface to geocode automatically based on your specifications.

Reverse Geocoding API (opens in new tab)

Add reverse geocoding into your application to turn latitude & longitude coordinates into addresses.

Geocoding plugin (opens in new tab)

Users of QGIS can download a plugin to geocode addresses one at a time or by uploading a list of addresses for batch geocoding.

Basic geocoding definitions

geocoding-definitions
Geocode (opens in new tab)

A set of latitude and longitude coordinates that represents a specific geographic place, such as a landmark, street address, place name, or location.

Geocoding

(or forward geocoding) The process of transforming the description of a location, such as an address or place name, into corresponding geographic coordinates.

Reverse geocoding

The process of converting a set of coordinates, like latitude & longitude coordinates, into the nearest street address and sometimes into the nearest place name or landmark.

Decimal degrees (opens in new tab)

Decimal degrees are a simplified way to express latitude and longitude coordinates, offering an alternative to Degrees Minutes Seconds (DMS) notation. They are useful for calculations and digital systems due to their convenience and precision.

Geocoding accuracy (opens in new tab)

Rooftop, parcel centroid, interpolated, ZIP9 - What types of geocoding accuracy are available, and what do they mean?

Subaddress geocoding (opens in new tab)

A higher resolution of geocoding accuracy than rooftop geocoding. These are geocodes for individual apartments, townhomes, and other secondary address types.

International geocoding (opens in new tab)

International geocoding is when you match a mailing or street address to the lat-long coordinates of a place anywhere in the world.

The steps of address geocoding

When you submit an address to a high-accuracy geocoding service, these steps should happen behind the scenes.

steps of address geocoding
Address parsing (opens in new tab)

Parsing divides a street address into individual or grouped components such as building number, predirectional, street name, postdirectional, street suffix, city, state, and ZIP Code.

Address standardization (opens in new tab)

Address Standardization Standardizing corrects casing, abbreviations, and spelling errors. The process reformats the address to match the local postal authority's standard format. Standardization also adds missing components like city, state, and postal codes as appropriate.

Address validation (opens in new tab)

Address Validation Validating matches the parsed, standardized, corrected version of the address to an authoritative database of known addresses to find a match. The validation step ensures that the address represents a real, shippable place.

Address geocoding

Address Geocoding Using a validated address for geocoding increases match rates, minimizes the risks of false positives, and filters locations that don't exist. The most accurate lat/long coordinates are then returned.

Useful geocoding articles & videos

When you submit an address to a high-accuracy geocoding service, these steps should happen behind the scenes.

Geocoding articles and videos
Why accurate geocoding requires address validation (opens in new tab)

Geocoding requires precise address data. Learn why performing address validation and address standardization before geocoding improves match rates and prevents false positives.

FFIEC geocoding alternatives (opens in new tab)

For organizations needing to comply with HMDA and CRA reporting requirements, the FFIEC Geocoding tool is essential. However, for a more integrated and automated approach, consider using Smarty's US Census Block and Tract data.

How do I get geocodes? (opens in new tab)

We're glad you asked. This article covers how to look up latitude and longitude coordinates in the US and internationally.

Popular lat long (geocoding) providers compared (opens in new tab)

See how services like Google Maps, OpenCage, Melissa, and Smarty compare for geocoding accuracy, speed, price, and more.

What false positives are, how they're created, and how to avoid them (opens in new tab)

False positives are bad data disguised as good data, which can infiltrate your system through errant geocoding processes.

Why no-matches geocodes are better than the alternative (opens in new tab)

A no-match response from a geocoder is an excellent defense against a great evil–false positives.

The difference between "mappable" and "valid" (opens in new tab)

Mapping providers may provide geocodes even if they don't represent real places. Learn why it happens and how to prevent it.

How to identify the right level of geocoding accuracy (video 28:14) (opens in new tab)

How would it impact your business if your rooftop geocodes are nowhere near rooftop accurate? How does "parcel" compare with "property" or "streetfront," and how is it related to interpolation? Resident geocoding expert Adam Charlton (opens in new tab) clears up the confusion about geocoding accuracy.

US Rooftop Geocoding product overview (video 8:44) (opens in new tab)

Learn how Smarty's US Rooftop Geocoding helps you to create advantages over your competitors.

What can geocoding be used for?

Geocoding is essential for mapping and navigation, location-based services, logistics and supply chain management, real estate and property management, emergency services, market analysis, urban planning, and business intelligence, to name a few. Review our customer stories for a deep dive into how companies are using Smarty's rooftop geocoding:

what can geocoding be used for
Apartment geocoding (opens in new tab)

Kibage uses apartment geocoding to aid home care services.

Risk analytics (opens in new tab)

Rooftop geocodes are essential for P&C risk management for this insurance data analytics company.

Sales mapping & routing (opens in new tab)

SalesRabbit use rooftop geocoding to create the most accurate sales mapping & routing software to optimize sales productivity.

Spatial analysis & predictive modes (opens in new tab)

The American Red Cross uses geocoding to create accurate maps to create predictive models and home fire risk maps.

5 industry use cases for US Rooftop Geocoding (video 45:32) (opens in new tab)

P&C insurance, telecom 5g coverage, and other high-accuracy geocoding use cases are covered in this webinar recording.

General geocoding tutorials

what is geocoding used for
What is a rooftop geocode lookup? (video 1:44) (opens in new tab)

Learn what it is and how to look one up using Smarty's single address verification tool.

How to geocode US addresses in QGIS (video 3:48) (opens in new tab)

Use Smarty's QGIS Geocoding Plugin in the popular QGIS application to geocode addresses one at a time or by batch.

Geocoding APIs

A Geocoding API is an Application Programming Interface (API) that performs forward or reverse geocoding requests. Geocoding data can then be used for routing, mapping, insurance risk analytics, geospatial meta-analysis, and location-based advertising.

Smarty® offers two geocoding APIs, one for US addresses and the other for international addresses. Both APIs are fully documented, backed by a suite of SDKs, have enough sample code to take down an AT-AT, and are backed by our legendary customer support.

US Rooftop Geocoding

US Rooftop Geocoding is an optional data point available through our US Street Address API.

Sample GET request

By subscribing to a US Rooftop Geocoding license, you can include us-rooftop-geocoding-cloud in your call, and receive rooftop geocodes in the response.

curl -v
"https://us-street.api.smarty.com/street-address?key=YOUR-API-
KEY&candidates=10&street=1052%20Canyon%20Meadow%20Dr%20Apt%205&city=provo&state=ut&zipcode=84606&ma
tch=enhanced&license=us-rooftop-geocoding-cloud"

Sample API response in JSON

The precision value in the response indicates that the latitude and longitude values are rooftop accurate (the highest available accuracy level) for this address. If a rooftop geocode isn't available, the application automatically cascades to the next accuracy level until a match is found. The precision level achieved always prints in the response.

[
    {
        "input_index": 0,
        "candidate_index": 0,
        "delivery_line_1": "1052 Canyon Meadow Dr Apt 5",
        "last_line": "Provo UT 84606-3630",
        "delivery_point_barcode": "846063630059",
        "components": {            "primary_number": "1052",
            "street_name": "Canyon Meadow",
            "street_suffix": "Dr",
            "secondary_number": "5",
            "secondary_designator": "Apt",
            "city_name": "Provo",
            "default_city_name": "Provo",
            "state_abbreviation": "UT",
            "zipcode": "84606",
            "plus4_code": "3630",
            "delivery_point": "05",
            "delivery_point_check_digit": "9"
        },        "metadata": {
            "record_type": "H",
            "zip_type": "Standard",
            "county_fips": "49049",
            "county_name": "Utah",
            "carrier_route": "C019",
            "congressional_district": "03",
            "rdi": "Residential",
            "elot_sequence": "0107",
            "elot_sort": "A",
            "latitude": 40.220009,
            "longitude": -111.629074,
            "coordinate_license": 1,
            "precision": "Rooftop",
            "time_zone": "Mountain",
            "utc_offset": -7,
            "dst": true        },
        "analysis": {
            "dpv_match_code": "Y",
            "dpv_footnotes": "AABB",
            "dpv_cmra": "N",
            "dpv_vacant": "N",
            "dpv_no_stat": "N",
            "active": "Y",
            "enhanced_match": "postal-match"
        }
    }
]

Read the full HTTP response output field definitions for US addresses here (opens in new tab).

International Geocoding API

International geocoding is available through our International Street Address API.

Sample GET request

Example from a Japanese address with Kanji transliterated to latin characters

curl -v
"https://international-street.api.smarty.com/verify?
key=21102174564513388&country=Japan&address1=%E4%B8%AD%E4%B9%8B%E5%B3%B6%EF%BC%94%E4%B8%81%E7%9B%AE
%EF%BC%92%E2%88%9255&address2=%E5%8C%97%E5%8C%BA&locality=%E5%A4%A7%E9%98%AA%E5%B8%82&administrativ
e_area=%20%E5%A4%A7%E9%98%AA%E5%BA%9C&postal_code=5300005&geocode=true"

Sample API response in JSON

`
{[
    {
        "address1": "530-0005",
        "address2": "大阪府 中之島 4丁目 2 55",
        "components": {
            "administrative_area": "大阪府",
            "administrative_area_long": "大阪府",
            "administrative_area_short": "大阪府",
            "sub_administrative_area": "大阪市北区",
            "country_iso_3": "JPN",
            "locality": "中之島",
            "dependent_locality": "4丁目",
            "dependent_locality_name": "4丁目",
            "postal_code": "530-0005",
            "postal_code_short": "530-0005",
            "premise": "55",
            "premise_number": "55",
            "thoroughfare": "2",
            "thoroughfare_name": "2"
        },
        "metadata": {
            "latitude": 34.694443,
            "longitude": 135.487961,
            "geocode_precision": "Thoroughfare",
            "max_geocode_precision": "DeliveryPoint",
            "address_format": "postal_code|administrative_area locality dependent_locality thoroughfare premise|"
        },
        "analysis": {
            "verification_status": "Partial",
            "address_precision": "Thoroughfare",
            "max_address_precision": "DeliveryPoint",
            "changes": {
                "components": {}
            }
        }
    }
]
}

Next, try this address yourself in the Live API (opens in new tab) or add the "language" input field, and enter the value "Latin" to transliterate the Kanji characters to Latin characters (opens in new tab).

Read the full HTTP response output field definitions for international addresses here. (opens in new tab)

Supported geocoding libraries & software developer kits (SDK)

Calling Smarty's APIs for geocoding is easy with our suite of well-tested, supported, actively developed, open-source SDKs (opens in new tab) and include example code for geocoding, reverse geocoding, validation & more. All are available to use at no charge, including:

Geocoding API tutorials

Calling Smarty's APIs for geocoding is easy with our suite of well-tested, supported, actively developed, open-source SDKs (opens in new tab) and include example code for geocoding, reverse geocoding, validation & more. All are available to use at no charge, including:

Batch geocoding

To Batch Geocode (opens in new tab) - (or perform batch geocoding) is the process of uploading a spreadsheet or copying/pasting a list of addresses to a software provider and receiving back the corresponding latitude and longitude geographic coordinates for each address in the list at once. Here's how to get started:

batch geocoding
How to turn spreadsheets into geocodes (opens in new tab)

See different methods for turning a spreadsheet into geocodes via web interface and command-line interface. See the Geocoding API section above to batch geocode via API.

How batch processing works (opens in new tab)

A detailed explanation of geocode batch processing and the best available options.

QGIS batch rooftop geocoding for US addresses (video 21:50) (opens in new tab)

Webinar recording demonstrating how to batch geocode at speeds of up to 600-700 records per second in the QGIS application.

Batch geocoding tools

batch geocoding tool
Batch geocoding with command line interface (CLI) (guide) (opens in new tab)

US Geocoding is built into our Bulk Address Validation: Command Line Interface tool. Works with Windows, MacOS X, Linux (i386), and Linus (amd64).

Batch geocode with Google Sheets plugin (opens in new tab)

Easily validate and geocode US addresses directly in Google Sheets with our add-on.

Batch geocode with Excel plugin (opens in new tab)

Seamlessly validate and geocode US addresses right in Excel with our address verification add-on.

Batch geocoding tutorials

batch geocoding tutorial
How to batch geocode in 5 easy steps (video 3:21) (opens in new tab)

Geocode a spreadsheet or CSV file of addresses. Process up to 25,000 addresses at a time using our bulk address tool.

Batch geocoding in QGIS (guide) (opens in new tab)

How to use Smarty's QGIS Geocoding Plugin to batch geocode US addresses.

Reverse geocoding

Reverse Geocoding (opens in new tab) - is the process of converting a set of coordinates, like latitude & longitude coordinates, into the nearest street address and sometimes into the nearest place name or landmark.

reverse geocoding
How businesses use reverse geocoding (opens in new tab)

Reverse geocoding is great for spatial analysis and understanding user travel behavior and can be used for predictive modeling and location-enabled advertising.

Forward geocoding vs. reverse geocoding (opens in new tab)

What's the difference, and why does it matter.

Reverse geocoding use case (video) (opens in new tab)

How reverse geocoding helped when Hurricane Katrina hit.

Reverse Geocoding API

reverse geocoding api
US Reverse Geocoding API (opens in new tab)

Enter a set of latitude and longitude coordinates and see an API response in JSON with the 10 nearest addresses sorted by distance. Did you leave your coordinates at home? No worries, we have sample lat/long data available.

US Reverse Geocoding API documentation (opens in new tab)

Implementation is easy with complete documentation and sample code. Learn about URL composition, request methods, status codes, and output field definitions.

US Reverse Geocoding API pricing (opens in new tab)

Monthly and yearly plans are available with no plan-based rate limits.

Share feedback
What kind?

Use this form to share ideas or feedback for improving our website and products. For help using or implementing a Smarty product, contact support.

This chat is powered by Help Scout. Chats are recorded. Privacy Policy