When people type in addresses by hand, mistakes are bound to happen. Maybe someone puts “123 Main Ave” when it should’ve been “123 Main St,” or leaves out an apartment number altogether. Little errors like these can cause big headaches. The good news? USPS has a free tool that double-checks addresses for you. With just a few quick steps, you can keep your FileMaker database squeaky clean and your mail right where it belongs. Here’s how to put USPS address validation into your FileMaker database.
Create an Account with USPS
The first step of this integration is to create an account with USPS. You then need to create an app in their developer portal to get the necessary credentials to access their OAuth 2.0-protected APIs. Once your app is approved, you can grab the Consumer Key and Consumer Secret in your FileMaker application.
As of October 2025, apps are given a quote of 60 free API calls an hour by default. To request more, please submit a USPS API service request to their page or contact them directly.
Creating a Request in FileMaker
The Addresses API and all other USPS APIs are RESTful APIs authenticated using OAuth 2.0. Before requesting any address information, you’ll need to request a token first.
To make this API call in FileMaker, use the Insert from URL [] script step with cURL options. The endpoints for both production and testing are written out in the documentation. You need to build the cURL yourself in FileMaker. All you’ll need to pass in this token request is the content type, client ID, client Secret, and grant type. Grabbing the HTTP response headers is also required for error handling. See our article on FileMaker’s cURL options for more details.
//$data variable from sample file for use in cURL
JSONSetElement ( "{}" ;
[ "client_id" ; $clientID ; JSONString ] ;
[ "client_secret" ; $clientSecret ; JSONString ] ;
[ "grant_type" ; $grantType ; JSONString ]
)
//Sample file Auth Token cURL "-X POST" & ¶ & " --header \"Content-Type: application/json\"" & ¶ & " --data @$data" & ¶ & " -S" & ¶ & "--dump-header $responseHeaders"
Once the URL and cURL are written out, use them in the Insert from URL [] script step and parse out the access token from the returned JSON using FileMaker's native JSONGetElement() function. Store it in your FileMaker app to reuse instead of calling for a new token each time you try to validate an address.
To actually validate an address, you need to make another call. Use the Insert from URL [] script step again, but this time, it is to access the Addresses API endpoint instead. For the cURL, all you need to do is pass the access token you generated. All the actual address information is passed at the end of the URL. A Street Address, City, and State must be passed at a minimum to get a complete address. See our sample FileMaker file or the USPS’s GitHub repo for example URLs.
//Sample file address validation cURL "-X GET" & ¶ & " --header \"Content-Type: application/json\"" & ¶ & " --header \"authorization: Bearer " & $token & "\"" & ¶ & " -S" & ¶ & "--dump-header $responseHeaders"
Parsing the Response
The USPS API will return a JSON object containing an address's full, correct information. It will also inform you if apartment or suite numbers are missing. If no address was found, the JSON object will contain an error. Parse out the information you need with JSONGetElement ().
//A JSON object containing complete and corrected address information
{
"firm": "",
"address": {
"streetAddress": "8604 ALLISONVILLE RD",
"streetAddressAbbreviation": "8604 ALLISONVILLE RD STE 231",
"secondaryAddress": "STE 231",
"cityAbbreviation": "INDIANAPOLIS",
"city": "INDIANAPOLIS",
"state": "IN",
"ZIPCode": "46250",
"ZIPPlus4": "5553",
"urbanization": ""
},
"additionalInfo": {
"deliveryPoint": "56",
"carrierRoute": "C003",
"DPVConfirmation": "Y",
"DPVCMRA": "N",
"business": "Y",
"centralDeliveryPoint": "N",
"vacant": "N"
},
"corrections": [
{
"code": "",
"text": ""
}
],
"matches": [
{
"code": "31",
"text": "Single Response - exact match"
}
]
}
Conclusion
Integrating your FilerMaker system with USPS doesn’t just validate addresses– the USPS’s many APIs can generate shipping labels, track packages, and more. If you’d like help integrating USPS with FileMaker, contact DB Services today, and we’d be happy to help!
Did you know we are an authorized reseller for Claris FileMaker Licensing? Contact us to discuss upgrading your Claris FileMaker software.
Download the Integrate FileMaker USPS Address Validation File
Please complete the form below to download your FREE FileMaker file.