Geocodio is a forward and reverse geocoding and location data enrichment service for US and Canadian addresses. Geocodio also supports reverse geocoding for Mexico.
Geocodio was designed as a bulk geocoding tool to make it easy to work with large datasets of addresses and latitude/longitude coordinates. Geocodio can be used via API and spreadsheet upload. With the API, you have the option to process single locations, small batches (up to 10,000/each), or CSVs (up to 1GB per CSV). With the spreadsheet upload tool, you can geocode CSV, TSV, or Excel files.
Geocodio provides a variety of data enrichment options, such as Census tracts, Congressional districts, school districts, timezones, and more. This data, which generally requires using multiple services when using other geocoding providers, can be added by checking a box on the upload tool or the the addition of a "fields" parameter to an API request.
Geocodio's Pay-As-You-Go plan is a great starting point, as well as an excellent option for testing out our services. Customers receive 2,500 free lookups each day, after which the cost is $0.50 for every additional 1,000 lookups. Pay-As-You-Go is rate limited to 1,000 lookups per minute (or roughly 60,000 lookups per hour). It's perfect for lower volume or more sporadic use. If you'd like to get a feel for how much a certain geocoding job would cost, check out our Pricing Calculator.
Geocodio's Standard Unlimited plan is designed for use cases that require higher volume or frequent usage, but don't have compliance requirements such as HIPAA or SOC 2. You receive a single dedicated instance capable of processing about 200,000 lookups per hour (or 5 million lookups per day). The base subscription is $1,000 per month per instance, and you can add more instances as needed on a monthly basis. You can cancel, as well as restart, this plan whenever you like via the dashboard, so if your usage changes from month-to-month, we can accommodate that.
Our Enterprise Unlimited plan is for data and organizations with advanced security requirements, such as HIPAA and SOC 2 Enterprise Unlimited is functionally similar to our Standard Unlimited and has many of the same features, but was built from the ground up to be HIPAA compliant and SOC 2 audited. The plan starts at $30,000 per year and also provides a single dedicated instance as described above. This is a perfect option for organizations that work with sensitive data, such as healthcare or banking. Geocodio also has an on-premises option.
It’s difficult to compare Geocodio with Google or other geocoding services because it utilizes different data sources. Geocodio uses official government dataset - such as the US Census, reporting from local municipalities and other open source options - to populate its geocoding engine.
As a rule of thumb, given a random sample, evenly distributed across the county, you could expect Geocodio to provide about 70% rooftop coverage (the coordinates returns match the exact structure), 20% to be range interpolated (i.e. on the street in front of the parcel), and the remaining 10% to be of lower accuracy types such as city or Zip Code level. Accuracy is highest in major cities.
Learn more here: https://www.geocod.io/coverage
Geocodio encourages its customers to run a test of 1,000 cleaned addresses through its service, as well as any potential competitors, so that you can see a comparison based on a random sample of records. Geocodio offers 2,500 free lookups per day so that you can perform this test.
Besides price, one major area of difference to keep in mind between Geocodio and Google is that Google does not allow you to store your geocodes on a database. There are also a number of other prohibitive restrictions. Geocodio does not have these restrictions. You are able to store your results, put them in your CRM, use them on any type of map, etc.
Geocodio offers a number of different plan options to meet your volume, security and feature requirements.
Our Pay-As-You-Go option is designed for customers with lower volume or less consistent usage. Pay-As-You-Go customers receive 2,500 free lookups per day, after which the cost is $0.50 for every 1,000 additional lookups. You only pay for what you use, but here are a few general estimates:
You can get a custom estimate via our pricing calculator: https://www.geocod.io/pricing/#pricing-calculator
Pay-As-You-Go accounts are rate limited to 1,000 lookups per minute.
At the end of each month, we calculate your total Pay-As-You-Go usage, then bill for that amount on the first of the following month. For example, any January usage would be billed on February 1st.
If you would prefer to pay upfront for your usage, we also offer the ability to purchase lookup credits. These credits can be bought through the Billing section of your account dashboard and applied to future lookups that you make. Pricing starts at $425 for 1 million lookups.
Our Standard Unlimited plan is designed for customers with high volume or consistent usage, as well as those looking to increase their processing speeds. Standard Unlimited starts at $1,000 per month and allows customers to geocode as much as they require for that flat rate. You receive a single dedicated instance capable of processing about 200,000 lookups per hour.
If you require additional throughput, Standard Unlimited users can also purchase additional instances for $700 per instance per month. Each additional instance scales linearly, so:
Our Enterprise Unlimited plan is designed for customers with advanced security requirements. Enterprise Unlimited is HIPAA compliant and SOC2 certified. From a feature perspective, it is almost identical to our Standard Unlimited plan, but it was built from the ground up, on entirely different architecture, to provide these additional security features.
Enterprise Unlimited starts at $30,000 per year and provides you with a single dedicated instance capable of processing about 200,000 lookups per hour. Additional instances can be purchased for $22,000 per year per instance. They scale linearly. Enterprise Unlimited also includes additional features like: mandatory two-factor authentication, SAML SSO, and hosting in the United States.
Finally, our On Premises plan allows you to run the Geocodio API private and isolated on your own infrastructure. We deliver a version of the API to your via a docker image and provide quarterly updates data/software updates. No internet connection is required for this air-gapped experience. Geocodio On Premises starts at $30,000 per year with a minimum commitment of three years.
Yes, Geocodio can handle both US and Canadian addresses.
When formatting your address input, be sure to include country information at the end of the address string to indicate where Geocodio should search. For example: “111 Wellesley St W, Toronto, ON M7A 1A2, Canada”. If you are uploading addresses via spreadsheet, this may mean you need to add a “Country” column.
Geocodio also offers reverse geocoding in Mexico. It does not yet offer forward geocoding in Mexico.
Geocodio is not able to geocode addresses outside of the United States or Canada.
If you are uploading a spreadsheet directly to our Spreadsheet Upload tool, you can append Census geographies to your results by selecting the “US Census Geographies” option during the “Appends” step of the upload process.
If you are using our API, you can append Census geographies by adding the census
field code to the fields=
parameter. If you require a specific Census year, you can add that information to the end of the field code (i.e. census2020
) to retrieve those results.
Here’s an example:
curl "https://api.geocod.io/v1.8/geocode?q=1109+N+Highland+St%2C+Arlington+VA&fields=census2010,census&api_key=YOUR_API_KEY"
Our Census geographies dataset includes the following information:
Keep in mind that each dataset you append to your results adds an additional lookup for each of the original records you run. Therefore, 1,000 geocoded addresses plus Census geographies would count as 2,000 lookups.
When you’re evaluating a geocoding provider, it’s important to understand the difference between forward and reverse geocoding, and when you might use each.
Forward geocoding is the process of converting street addresses into latitude/longitude coordinates—in other words, turning a human-readable address into a computer-readable geocode. For example, if you have a real estate search website and people are looking for properties near a specific address or ZIP code, you would want to use forward geocoding.
Reverse geocoding is the process of turning latitude/longitude coordinates into approximate street addresses. We say “approximate” as it is not possible to determine the precise address when doing reverse geocoding. Think about a densely-populated city which has four apartment buildings that all back up to one another. If the coordinates are in the middle of the courtyard shared by the buildings, it could belong to any one of the buildings.
Reverse geocoding is often used when computer-readable coordinates need to be turned into human-readable addresses. For example, a logistics company might have thousands of trucks around the US, picking up goods from ports and delivering them to warehouses or retailers. Such trucks often have location-tracking devices on them that send back information to HQ on their location, speed, and so forth. In such case, it can be helpful to convert the coordinates into addresses so staff can quickly see which trucks are in a particular city or state.
The terms "FIPS code", "GeoID", "Census tracts" or "Census blocks" are often used interchangeably, even though they refer to different things. It depends on the dataset you’re working with, which government agency created it, or which agency is asking for the data.
Some federal datasets report data at the "GeoID" level. GeoIDs are concatenations of various levels of FIPS codes, depending on the dataset. GeoIDs, or FIPS codes, can be up to 40 digits. The more digits there are, the more granular of a measurement it is.
If you know how many digits the FIPS code or GeoID is, you can figure out what level of geography it is. For example, an 11-digit FIPS/GeoID code means the Census tract. A 12-digit FIPS Code/GeoID means the Census block group, and a 15-digit FIPS code/GeoID means the Census Block.
Geocodio returns FIPS codes, which can be matched to GeoIDs. You can use Geocodio to match addresses or latitude/longitude coordinates in bulk via API or CSV spreadsheet upload.
Let's use 580 Meyers St, Kettle Falls, WA 99141 as an example. The state code is 53, the county code is 065, the tract code is 950101, the block group code is 2, and the block code is 022.
If you need a FIPS Code or GeoID of this length... | ...it translates to this combination of FIPS codes | Example GeoID | Geocodio Result Name |
---|---|---|---|
2 digits | State | 53 | State FIPS |
5 digits | State + County | 53065 | County FIPS |
11 digits | State + County + Tract | 53065950101 | concatenate County FIPS + Tract Code; pre-concatenated by Geocodio for spreadsheet uploads as "Full FIPS (tract)" |
12 digits | State + County + Tract + Block Group | 530659501012 | concatenate County FIPS + Tract Code + Block Group |
15 digits | State + County + Tract + Block | 530659501012022 | concatenate County FIPS + Tract Code + Block Code; pre-concatenated for spreadsheet uploads as "Full FIPS (block)" |
As with all Census data, it's important to have the right Census year for the data. For example, if you're working with two datasets — let's say they're from CMS on rural participation in Medicaid and the availability of healthcare providers — you need to make sure both are using the same Census year, otherwise the GeoIDs may not match for the same addresses.
Census block groups are groups of Census Blocks that are connected to one another. They are geographic areas drawn by the Census that span approximately 600-3,000 households. This means it's possible that two houses on opposite sides of the street, or even next to one another, can be in different Census block groups and thus result in different data.
For example, Geocodio returns Census matches at the Census Block Group level from the 5-year version of the American Community Survey. The Census block group is the smallest unit for which the Census provides this data. (The Census also publishes a version of the American Community Survey every year, known as the 1-year version, but it does not provide granularity at this level.)
Census blocks, tracts, and other geographies can also change every year. This means that if you were to append data for one address for the 2020 Census year and the 2010 Census year, you would receive different data.
When you upload a file or run data through the Geocodio API, you can select the Census year for which you would like the data.
The best way to maintain HIPAA compliance when geocoding patient addresses is to use a HIPAA-compliant geocoding service. A quick way to determine whether a geocoding service is HIPAA compliant is whether they'll sign a Business Associate Agreement (commonly called a BAA). Business Associate Agreements are required for any service provider who handles patient data subject to HIPAA. You should be able to reach out to their support and ask if they'll sign your BAA.
Geocodio will sign a BAA for our HIPAA-compliant Enterprise service.
To ensure your internal processes and data handling are in compliance with HIPAA, you should consult your organization's HIPAA privacy officer.
It's possible to work with sensitive patient data without needing to use a HIPAA-compliant geocoding service if you don't need location granularity.
According to 45 CFR §164.514(b)(2), all geographic subdivisions smaller than a State, including street address, city, county, precinct, zip code, and their equivalent geocodes are subject to HIPAA. However, you can anonymize patient address data in accordance with HIPAA by only using the first three digits of the ZIP code, as long as:
(1) The geographic unit formed by combining all zip codes with the same three initial digits contains more than 20,000 people; and
(2) The initial three digits of a zip code for all such geographic units containing 20,000 or fewer people is changed to 000.
According to HIPAA Journal, "according to the Bureau of the Census, that means 17 zip codes must have the first three digits changed to zero: 036, 692, 878, 059, 790, 879, 063, 821, 884, 102, 823, 890, 203, 830, 893, 556, 831." The list of ZIP codes where you must change the first three digits to 000 is based on the 2000 Census and may change.
If you're in doubt about whether your handling of patient location data is in compliance with HIPAA, you should consult your organization's HIPAA privacy officer.