# Chapter 2.1 - Address Geocoding

Source: https://developer.avalara.com/products/communications/integration-guides/dev-guide_geo_soap/geocode/address-geocoding/

-   [Previous](/communications/dev-guide_geo_soap/geocode)
-   [Next](/communications/dev-guide_geo_soap/geocode/options/)

Address geocoding accepts an address and returns 1 or more addresses.

-   `GeocodeAddress` [method](/communications/dev-guide_geo_soap/getting-started/endpoints-methods#methods) returns the single best match
-   `GeocodeAllMatches` [method](/communications/dev-guide_geo_soap/getting-started/endpoints-methods#methods) returns all matches above the minimum score requested, up to the requested match count (`matchCount`)

#### Note

AFC Geo SaaS Pro Soap supports geocoding for the United States, Puerto Rico, and other US territory addresses. Addresses or latitude/longitude coordinate pairs in foreign countries (**including Canada and Mexico**) are not supported and don’t return results.

### Address Parsing

An address is made up of several parts:

-   `StreetAddress`: First line of address (for example, "255 South King St")
-   `SecondaryUnit`: Second line of address, but not used in the geocoding process (for example, "Suite 1200")
-   `CityStateZip`: Combined city, state, and Zip code (for example, "Seattle, WA 98104")
-   `City`: City name (for example, "Seattle")
-   `State`: State abbreviation (for example, "WA")
-   `Zip`: Zip code (for example, "98104")

#### Note

The `CityStateZip` is used in place of the individual `City`, `State`, and `Zip` fields. Pick the approach that works best for you.

See [Best Practices](/communications/dev-guide_geo_soap/getting-started/best-practices/) for additional guidance when setting up an input address.

### Matching

The [input address (`inputAddress`)](/communications/dev-guide_geo_soap/reference/input-address/) is used to look up candidate locations within the street database. Some fields, such as `StreetAddress` and `City`, don’t require a strict match to produce a candidate. For example, “1 Renee Street” matches “1 Rena Street”. A street with an alternate name (alias) in the database is considered as a candidate as well.

The street number is matched against the address ranges supplied in the vendor’s street database. A single street is represented in the street database as a chain of segments called a street link. A link is:

-   Small segment of the street, usually between two intersections

-   A single block can consist of multiple links

-   Characterized by a range of street numbers on either side of the street
-   A precise match occurs when the street number supplied for geocoding falls within the address range of a link
-   Example:

-   Right side of the street has the street number range 1 - 47
-   Left side of the street has the street number range of 2 - 48
-   Input address has street number 24
-   AFC Geo computes the geographic coordinates based on the location (street number 24) being approximately in the middle of the link on the left side of the street

#### Finding the best match

1.  Full address (street address (`StreetAddress`), city (`City`), state (`State`), and Zip code (`Zip`)) is used first

-   Result returned if the full address produces a match with a score above the `MinimumScore`

3.  Street address (`StreetAddress`) and zip code (`Zip`) are used next if no location is found with a score above `MinimumScore`
4.  Street address (`StreetAddress`), city (`City`), and state (`State`) are geocoded last if a location still isn't returned with with a score above `MinimumScore`

-   [Previous](/communications/dev-guide_geo_soap/geocode)
-   [Next](/communications/dev-guide_geo_soap/geocode/options/)