Not sure which product you need? Let the wizard guide you
Account managementAddress autocompleteAddress Autocomplete APIAddress dataAddress parsingAddress qualityAddress standardizationAddress validationAddress verificationAnnouncementAuthenticating APIsCustomer experienceData governanceEbookEcommerceFinance FintechGeocodingHealthcareInsuranceIntegrationsInternationalInternational Address AutocompleteInternational Address Validation APIInternational GeocodingLocation dataOn-premise vs. cloudOperationsOpinionPinpoint 2025 (Smarty's user conference) ProgrammingProperty dataProvider data accuracy seriesQGIS Geocoding Plugin - US AddressReal estateSecuritySmarty cultureSmarty don'ts Special daysSpeedTechnical supportTelecommunicationsTestingUS Address Validation APIUS Business DataUS Census Block and Tract DataUS Master Address ListUS Parcel Boundary DataUS Property Data APIUS Reverse GeocodingUS Rooftop GeocodingUS Secondary Address DataWebinarWelcome to the Address ZooWhat to look for in an address data solutionWorking for Smarty
26 items tagged ”Technical support”
Privacy and security at Smarty
By Bailey Hendrickson, Thomas Isom, Danielle Dufner on June 8, 2026
<p>Smarty’s security and confidentiality approach is built around a simple idea: process address data in accordance with customer agreements and relevant privacy requirements, protect it, and limit who (and what) can access it. </p><p>We recognize that you own your compliance requirements, and we’re here to make that easier. Below is a synthesized view of the controls and practices Smarty follows to support compliance, along with details on our Enhanced Data Privacy upgrade, which provides an extra layer of protection for you and your business or organization.
What to look for in an address data solution: Ease of implementation
By John Hickey, Bailey Hendrickson on November 19, 2025
<p>You’ve maybe chosen an address data provider (or maybe you’ve just recently <a href="https://www. smarty. com/blog/falling-out-of-love-with-your-address-data-solution"><u>fallen out of love</u></a> with the one you’ve got). Now comes the time to really test what matters: implementation. Even the best solution falls short if it’s hard to integrate, confusing to use, or impossible to maintain. </p><p>This blog is part of our <a href="https://www. smarty. com/blog/tags/what-to-look-for-in-an-address-data-solution">five-part series, <i>What to look for in an address data solution</i></a><i>.
What to look for in an address data solution: Quality of support
By John Hickey, Bailey Hendrickson on November 17, 2025
<p>Selecting the right address data solution is only the beginning. Rolling it out successfully, resolving issues quickly, and keeping it performing at its best all depend on the quality of support behind it. </p><p>This blog is part of our <a href="https://www. smarty. com/blog/tags/what-to-look-for-in-an-address-data-solution">five-part series, <i>What to look for in an address data solution</i></a><i>. </i> </p><p>Previously, we discussed what it means to be accurate, what questions to ask any address data provider before entering into a contract with them, and how to avoid the accuracy “validation gap.
Pinpoint: The Smarty virtual user conference, because the world is better validated
By Andrew Townsend, Bailey Hendrickson on October 9, 2025
<p><strong>November 2025 | 100% online | 100% awesome</strong></p><p>Join us this November for the Smarty Virtual User Conference, a two-day event packed with insights, tools, laughs, and $1000 worth of prizes. </p><p>This event is for you, whether you’re optimizing delivery accuracy, improving compliance, or just trying to figure out if your neighbor <i>really</i> has a breakfast nook. </p><h3><strong>What to expect:</strong></h3><ul><li><strong>2 days, 12 hours of content, zero fluff</strong></li><li><strong>Live sessions</strong> from address data pros</li><li><strong>Hands-on demos</strong> of Smarty’s latest tools and plugins</li><li><strong>Giveaways galore, </strong>like gift cards, swag, and even a chance at a massive LEGO set</li><li><strong>Hidden Easter eggs</strong> throughout the event (no, seriously—find them and win)</li><li><strong>An after-party with games</strong> (shoutout to Brady Amundson)</li></ul><h3><strong>Tailored tracks for every role</strong></h3><p><img src="https://d3jlqkabnnke2x.
Usage notifications | Get notified before hitting your lookup limit
By Ryan Muir, Brielle Paul on August 13, 2025
<p>Burning the end of a brisket can lead to some tasty results (we’re looking at you, burnt ends), but unexpectedly burning through your lookups? Not so appetizing. </p><p>All users receive notifications when their API usage reaches 90% and 100%. </p><p>To help users further leverage their lookups, Smarty’s cooked up a solution: the ability to get notification emails when usage reaches three additional intervals: 25%, 50%, and 70%. </p><p>With these notifications working alongside <a href="/docs/key-management/faq#usage-by-key"><u>usage by key</u></a> and <a href="/docs/key-management/faq#limit-by-key"><u>limit by key</u></a>, you can manage your API usage better.
Smarty™ earns silver at Best in Biz Awards 2023 for Support Department of the Year
By Trent Howell on December 13, 2023
<p>We're delighted to announce that Smarty has been honored with the <a href="https://www. bestinbizawards. com/2023-winners-team/#:~:text=Support%20Department%20of%20the%20Year">Silver Award in the Support Department of the Year category at the 13th annual Best in Biz Awards</a>. We want to emphasize what this recognition means for you, our customers and partners. </p><p>At Smarty, our primary focus is providing the best supported, documented, and easiest-to-implement address APIs and data. Winning Silver in the Support Department of the Year category speaks volumes about <a href="/contact/support/team">our commitment to delivering an outstanding customer experience</a>.
Address verification for fun and profit: Using Go SDK
By Andrew Townsend on April 26, 2023
<p>In our recent webinar, Ryan Cox, one of our highly skilled API developers, walked through setting up and using the Smarty Go SDK. The webinar covered various essential topics, from obtaining the SDK to understanding the ins and outs of implementation. </p><p>Ryan explained that the Smarty Go SDK is easily accessible on GitHub. He then moved on to discuss the key differences between embedded keys and secret keys. Embedded keys are ideal for client-side applications because they provide limited access and don’t reveal sensitive information.
New feature: Log into Smarty with your Google account
By Davin Perkins on October 11, 2022
<p>You've asked for it, and now you’ve got it. The next time you log into your Smarty account, you’ll see the option to log in to Smarty using your Google account. </p><p>In this blog, we'll cover how to:</p><ul><li><a href="#merge-an-existing-smarty-account-with-google">Merge an existing Smarty account with Google</a></li><li><a href="#verify-your-login">Verify your login</a></li><li><a href="#create-a-new-free-smarty-account-with-google">Create a new free Smarty account with Google</a></li></ul><h2>Merge an existing Smarty account with Google</h2><p>Merging your account with your Google account will not affect your available lookups, security keys, or any other part of your Smarty account.
What is hybrid cloud? Is it better than on-premise or cloud software?
By Davin Perkins on September 28, 2022
<p>When considering business software tools for Customer Relation Management (CRM), Business Intelligence (BI), Geocoding, Address Validation, and more, most organizations are either looking specifically for on-premise options, cloud options, or they’re still debating between the two. On-premise and cloud have been dueling each other for many years. </p><p><strong>However, a new challenger has entered the ring: hybrid cloud. </strong></p><h2>What is hybrid cloud?</h2><p>A <strong>hybrid cloud environment</strong> uses a mix of on-premises infrastructure, private cloud services, and public cloud services—such as Amazon Web Services (AWS), Microsoft, or Google.
Common mistakes when calling Smarty APIs
By Andrew Townsend on July 28, 2022
<p>There are two types of frequent errors: 401 "Authentication Required" errors, and 402 "Payment Required" errors. </p><p>If you keep reading, you can learn about both, as well as these other hot topics:</p><ul><li><a href="#status-code-401-authentication-required">Status code 401 - Authentication required</a><ul><li><a href="#how-to-authenticate-api-requests">How to authenticate API requests</a></li><li><a href="#common-mistakes-in-client-side-requests">Common mistakes in client-side requests</a></li><li><a href="#common-mistakes-in-server-side-requests">Common mistakes in server-side requests</a></li></ul></li><li><a href="#status-code-402--payment-required">Status code 402 - Payment required</a></li><li><a href="#when-in-doubt-contact-support">When in doubt, contact support</a></li></ul><h2>Status code 401 - Authentication required</h2><p>If you're seeing this error there's a chance that there's an issue with your API key, there's a mistake inside your client-side request, or a mistake in the server-side request.
5 principles for creating stupidly brilliant JavaScript applications
By Andrew Townsend on April 11, 2022
<p>Have you ever tried to add a minor feature to your application only to discover that you’ll have to re-write large blocks of code first? Or maybe you’ve spent hours deciphering hundreds, or perhaps thousands, of lines of existing code just to find out a task only required two lines of additional code. If you’re like most developers, you’ve wasted countless, frustrating hours wading through immensely complicated code trying to force it to do things it wasn’t built for. </p><p>In his presentation, Mike Manwill, Frontend Team Lead here at Smarty, discussed 5 principles to help you create stupidly-simple applications that are maintainable, extendable, and bug-resistant.
SECURITY ANNOUNCEMENT: Removing old TLS versions
By Jonathan Oliver on October 17, 2019
<p>TLS (and its predecessor SSL) are cryptographic protocols that provide authentication and data encryption for clients connecting with web servers. As new vulnerabilities are discovered, older cryptographic protocol versions are deprecated to maintain secure environments. </p><p>On Tuesday, January 21, 2020, Smarty will require clients to use TLSv1. 2 or greater to connect with Smarty APIs without interruption. Clients using TLSv1. 0 or TLSv1. 1 will no longer be able to connect. Please refer to our documentation for more information: https://www.
Go naming conventions
By Michael Whatcott on October 18, 2018
<p>It's been said that naming is one of the <a href="https://www. martinfowler. com/bliki/TwoHardThings. html">two hardest problems in computer science,</a> along with cache invalidation and 'off-by-one' errors. (See what I did there?) Do you ever find yourself wondering what policies and practices you could adopt to make your life easier when reading code you wrote months ago? Or maybe you're up at night wishing you knew how to write code in such a way as to maximize adoption and convenience for your users? Well, look no further because we've anticipated the need, solved the problem, and now we're sharing our knowledge and wisdom at no charge, all out of the goodness of our hearts in this comprehensive, totally no-nonsense (nudge, nudge, wink, wink) style guide of Go naming conventions.
Cloning private dependencies in Docker and Go
By Jonathan Oliver on September 13, 2018
<p>One topic that seems to come up repeatedly on Stack Overflow or other online forums is the topic of how to <code>go get</code> private dependencies. Specifically, if I have a private Git repository on Github or Bitbucket, how do I bring that code locally via the <code>go get</code> tool such that automated builds can produce a clean, consistent build without interaction from a user? This problem is largely solved for public Github dependencies but continues to be a challenge for private dependencies.
Let's build an xUnit-style test runner for Go!
By Michael Whatcott on July 2, 2018
<p>Writing test functions in Go is easy:</p><pre><code class="language-plaintext">package stuff import "testing" func TestStuff(t testing. T) { t. Log("Hello, World!") } </code></pre><p>Running test functions is also easy:</p><pre><code class="language-plaintext">$ go test -v === RUN TestStuff --- PASS: TestStuff (0. 00s) stuff_test. go:6: Hello, World! PASS ok github. com/smartystreets/stuff 0. 006s </code></pre><p>Preparing shared state for multiple test functions is problematic. The usual recommendation is to use <a href="https://github.
Scanning CSV in Go
By Michael Whatcott on May 5, 2018
<p>For the purpose of this article, consider the following CSV data, slightly modified from the <a href="https://pkg. go. dev/encoding/csv#exampleReader">docs for <code>encoding/csv</code></a>:</p><pre><code class="language-plaintext">csvData := strings. NewReader(strings. Join([]string{ , , , , }, "\n")) </code></pre><p>Here's how you read the data, line by line, using the <code>Reader</code> provided in that package:</p><pre><code class="language-plaintext">reader := csv. NewReader(csvData) for { record, err := reader.
Testing in Go by Example: Part 6
By Michael Whatcott on September 25, 2017
<p>For this installment of the <a href="/blog/tags/testing">Testing in Go series</a> we'll be talking about a grouping of packages that facilitate general-purpose comparisons in various contexts. Since the most common context is testing it seemed like this series was the right place for the discussion. </p><p>We generally refer to these comparison functions as <strong>assertions</strong> (<i>cue ominous background music and spooky sound effects</i>). You may have already read the opinions found on the Golang FAQ related to assertions.
Our testing tools
By Michael Whatcott on November 3, 2016
<h2>Introduction</h2><p>TL;DR: Choose an approach to software testing that helps your organization create the best possible end results. That might mean using and/or creating a few tools and/or libraries along the way. Or, maybe not. What follows is a description of what we do at SmartyStreets, couched as a response to <a href="https://danmux. com/posts/thecultofgotest/">Dan Mullineux's equally valid way</a> of doing things. </p><h3>The cost</h3><blockquote><p>A favourite test helper library, with some simple test assertion functions clearly has some value.
How to setup a tinc VPN
By Jonathan Duncan on October 23, 2015
<p>I was given the task of setting up a <a href="https://tinc-vpn. org/">tinc</a> VPN so that we could test performance for comparison against other VPN systems. This task took much longer than it should have. For that reason, I am making this post to help me and others remember how to do it again in the future. </p><hr><p>Installing <code>tinc</code> is straightforward enough. You can <a href="https://tinc-vpn. org/download/">download the latest release</a> and build it or install it from your favorite package manager.
Performance testing with Phoronix
By Jonathan Duncan on October 5, 2015
<p>Not every server is made equally. On dedicated servers, the hardware varies widely. On virtual and cloud servers, the resource allocations also vary widely. Some servers are CPU-optimized for maximum computing power. Others focus on having a lot of memory. Some servers are built to have a good balance of all system resources. </p><p>Hardware aside, we require many differing tasks of our servers. Some applications are processor hungry, some need large amounts of disk space, while others take up a lot of memory.
Testing in Go by example: Part 5
By Michael Whatcott on September 15, 2015
<p>For this installment of the <a href="/blog/tags/testing">Testing in Go series</a> I'll share a really nifty way to deal with time in your unit tests. When the behavior you are testing depends on the current time it can be tricky to assert on the results because the current time is a moving target. So, usually we end up resorting to approximations in our assertions that, while functional, always bother me a bit. In some cases, depending directly on the system's current time prevents acceptable test coverage.
Testing in Go by example: Part 4
By Michael Whatcott on August 11, 2015
<p>I think it's time for a slight detour. In <a href="/blog/go-testing-part-1-vanilla">part 1</a> we covered the basics of testing in go. In <a href="/blog/go-testing-part-2-running-tests">part 2</a> we covered a few slick ways to execute tests. In <a href="/blog/go-testing-part-3-convey-behavior">part 3</a> we covered some of our recent endeavors at Smarty to build on the basics. Toward the end of that post, we went into some detail regarding our approach to assertions. The assertions referenced in the GoConvey project are actually their own separate project that are imported into GoConvey.
Testing in Go by example: Part 3
By Michael Whatcott on May 11, 2015
<h2>Review</h2><p>Welcome to part 3 of our <a href="/blog/tags/testing">"Testing in Go" series</a>. If you're new here, feel free to <a href="/blog/tags/testing">catch up</a> before reading on. </p><p>In <a href="/blog/go-testing-part-1-vanilla">part 1</a> of this series I eluded to <i>our perceptions</i> of the standard testing tools provided by the Go tool and the standard library and what was missing <i>for us</i>. We all have different expectations of a testing tool and so it's no wonder that <a href="https://github.
Testing in Go by example: Part 1
February 27, 2015
<p>Here's part 1 of our <a href="/blog/tags/testing">"Testing in Go" series</a>. </p><h2>Introduction</h2><p>Thinking about trying <a href="https://go. dev/">Go</a>? You won't regret it! It's great that testing is baked into the <a href="https://pkg. go. dev/testing"><code>"testing"</code> package</a> from the standard library and the corresponding <a href="https://pkg. go. dev/cmd/go#hdr-Testpackages"><code>go test</code> command</a> (which has all sorts of useful and interesting <a href="https://pkg.
Testing in Go by example: Part 2
February 27, 2015
<p>Here's part 2 of our <a href="https://www. smarty. com/blog/tags/testing">"Testing in Go" series</a>. If you're new, feel free to <a href="https://www. smarty. com/blog/tags/testing">catch up</a> before reading on. </p><hr><h2>Basics</h2><p>You've already learned how to execute tests in Go for a single package. </p><pre><code class="language-plaintext">$ go test </code></pre><p>There's a bit more to it, though. You can run any package from anywhere if you provide the import path. For example, this command runs the actual tests for the "testing" package from the standard library:</p><pre><code class="language-plaintext">$ go test -v testing </code></pre><p>If you've already run <code>go get github.
Your Convey needs more focus
February 7, 2014
<p>One of the great benefits of TDD/BDD is that you usually don't have to spend much, if any time at all in a debugger. To enter a debugger is to admit a loss of control over the system under test. Even so, there are times when you do need to debug something, even if you're maintaining the discipline. </p><p>Lately, most of my coding is in GoLang. Coming from using an IDE almost exclusively to write Python (using PyCharm) and C# (using VS and ReSharper), and knowing how great the visual debugging tools are it's hard to fathom using a console-based debugger for GoLang code.