Adressen prüfen und korrigieren mit dem Online API
Um eine hohe Datenqualität bei den Adressdaten zu erreichen, ist es entscheidend, neu eingegebene Adressen direkt bei der Eingabe auf Gültigkeit zu überprüfen. So werden Eingabefehler sofort erkannt und korrigiert - nur gültige Adressen bzw. Postanschriften werden akzeptiert.
Registrieren Sie sich einfach für einen kostenlosen API-Key und testen Sie unseren Service.
Wie funktioniert das API zur Adressprüfung?
Mit unserem Online-API zur Adressvalidierung und Adresskorrektur können Sie die Adressprüfung ganz einfach in eCommerce-Lösungen, Web-Shops, CRM-Systeme oder Content-Management-Systeme (CMS) wie Drupal, Typo3, WordPress oder Joomla integrieren - Code-Beispiele in Javascript, PHP, Java, C#, VB.NET finden Sie weiter unten.
Zu jeder Adresse erhalten Sie detaillierte Informationen- über die Zustellbarkeit,
- Geo-Koordinaten (Latitude/Longitude) für gültige Adressen,
- Korrekturvorschläge falls die Adresse nicht zustellbar ist
- einheitliche Adressformatierung gemäß der entsprechenden nationalen bzw. internationalen Standards und Richtlinien
API-Integration: Code-Beispiele
- API Beschreibung
- jQuery
- PHP
- Java
- C#
- VB.NET
Address Validation API
The Address Validation API returns the deliverability status and detailed information for the address that is provided as input.
API URL | https://api.address-validator.net/api/verify |
Method | GET or POST |
Example API request (GET) | |
https://api.address-validator.net/api/verify?StreetAddress=Heilsbronner Str. 4&City=Neuendettelsau&PostalCode=91564& CountryCode=de&Geocoding=true&APIKey=your API key |
|
Input Parameters | |
CountryCode | two-letter ISO 3166-1 country code (string), 'XX' for international |
StreetAddress | street/housenumber/building, may include unit/apt etc. (string) |
AdditionalAddressInfo | building/unit/apt/floor etc. [optional] (string) |
City | city or locality (city, district) [optional] (string) |
PostalCode | zip/postal code [optional] (string) |
State | state/province [optional] (string) |
Geocoding | enable Geocoding [true|false]; default: 'false' [optional] (string) |
Locale | output language for countries with multiple postal languages - use only to translate addresses, always leave empty for address validation [IETF language tag]; default: local language [optional] (string) |
OutputCharset | output character set [us-ascii|utf-8]; default: 'utf-8' [optional] (string) |
APIKey | your API key (string) |
Timeout | timeout in seconds [default 10s, min 5s, max 300s] (int) |
General usage:
|
|
API Result (JSON) | |
status (string) | VALID: address is correct and deliverable. SUSPECT: address is incorrect and needs corrections to be deliverable, a suggested correction is provided. INVALID: address is incorrect and not deliverable - either there is no match at all in the reference data or the address is ambiguous and there are a lot of different matches. In these cases automatic correction suggestions are not available. DELAYED, NO_COUNTRY, RATE_LIMIT_EXCEEDED, API_KEY_INVALID_OR_DEPLETED, RESTRICTED, INTERNAL_ERROR |
diagnostics (string) | validation diagnostics |
formattedaddress (string) | full address in standardized format (lines separated by comma) |
supplement (string) | additional address details (building / unit / apt / suite etc.) |
street (string) | street address in standardized format |
streetnumber (string) | street number in standardized format |
postalcode (string) | zip / postal code in standardized format |
city (string) | city in standardized format |
rdi (string) | USPS Residential Delivery Indicator (Commercial / Residential) |
district (string) | locality info, not postally relevant |
county (string) | administrative unit, not postally relevant |
state (string) | state / province in standardized format if postally relevant |
country (string) | two-letter ISO 3166-1 country code |
type (string) | S = Street address | P = P.O. Box, Pick-Up or other delivery service | empty = unspecified |
latitude (number) | latitude (for valid addresses if Geocoding is enabled) |
longitude (number) | longitude (for valid addresses if Geocoding is enabled) |
ratelimit_remain (int) | number of API requests remaining before the API rate limit is reached (the default API rate limit allows 100 API requests in 300s) |
ratelimit_seconds (int) | number of seconds remaining in the current rate limit interval |
Address Bulk Verification API
The Address Bulk Verification API allows you to upload up to 100K addresses for validation with a single API request. The Bulk API is asynchronous - you send a request and receive a callback by email (NotifyEmail) or HTTP (NotifyURL) when processing is complete.
API URL | https://api.address-validator.net/api/bulk-verify |
Method | POST |
Example API request | |
curl -X POST -H 'Content-Type: text/csv' --data-binary @addresses.csv "https://api.address-validator.net/api/bulk-verify?APIKey=your API key" | |
Input Parameters | |
Request Body | list of addresses to validate in CSV format |
APIKey (string) | your API key |
Geocoding (string) | enable Geocoding [true|false]; default: 'false' [optional] (string) |
CountryCode (string) | two-letter ISO 3166-1 country code [optional] (string), 'XX' for international |
OutputCharset (string) | output character set [us-ascii|utf-8]; default: 'utf-8' [optional] (string) |
Locale (string) | output language for countries with multiple postal languages - use only to translate addresses, always leave empty for address validation [IETF language tag]; default: local language [optional] (string) |
TaskName (string) | name for this validation task [optional] |
NotifyEmail (string) | email address to receive notifications for this task [optional, default is the email address of the API account] |
NotifyURL (string) | URL to receive a completion notification for this task [optional] |
API Result (JSON) | |
status (string) | API result code (SUCC or FAIL) |
info (string) | validation task id (if status is SUCC) |
When the validation task is finished, we send you an email and (if requested) a HTTP GET request to the NotifyURL (with a 'taskid' parameter in the URL).
Address Auto-Complete API
The Address Auto-Complete API returns suggestions matching the freeform address that is provided as input query.
API URL | https://api.address-validator.net/api/search |
Method | GET or POST |
Example API request (GET) | |
https://api.address-validator.net/api/search?Query=Heilsbronner Str. 4,91564 Neuendettelsau&APIKey=your API key | |
Input Parameters | |
Query | search text (string) |
CountryCode | two-letter ISO 3166-1 country code [optional] (string) |
Locale | output language for countries with multiple postal languages - use only to translate addresses, always leave empty for address auto-complete [IETF language tag]; default: local language [optional] (string) |
APIKey | your API key (string) |
MaxResults | maximum number of results [default 5, min 1, max 5] (int) |
Timeout | timeout in seconds [default 10s, min 5s, max 300s] (int) |
API Result (JSON) | |
status (string) | UNVERIFIED: address needs validation. DELAYED, RATE_LIMIT_EXCEEDED, API_KEY_INVALID_OR_DEPLETED, RESTRICTED, INTERNAL_ERROR |
ratelimit_remain (int) | number of API requests remaining before the API rate limit is reached (the default API rate limit allows 100 API requests in 300s) |
ratelimit_seconds (int) | number of seconds remaining in the current rate limit interval |
results (array)
→ id (string) → description (string) |
autocomplete suggestions
→ id to retrieve details for this address using the Address Retrieval API → description for this address |
Address Retrieval API
The Address Retrieval API returns detailed information for an address id provided as suggestion from the Address Auto-Complete API.
API URL | https://api.address-validator.net/api/fetch |
Method | GET or POST |
Input Parameters | |
ID | address id as provided from the Address Auto-Complete API (string) |
Locale | IETF language tag - preferred language; default: local language [optional] (string) |
APIKey | your API key (string) |
Geocoding | enable Geocoding [true|false]; default: 'false' [optional] (string) |
Timeout | timeout in seconds [default 10s, min 5s, max 300s] (int) |
API Result (JSON) | |
status (string) | UNVERIFIED: address needs validation. DELAYED, RATE_LIMIT_EXCEEDED, API_KEY_INVALID_OR_DEPLETED, RESTRICTED, INTERNAL_ERROR |
formattedaddress (string) | full address in standardized format (lines separated by comma) |
supplement (string) | additional address details (building / unit / apt / suite etc.) |
street (string) | street address in standardized format |
streetnumber (string) | street number in standardized format |
postalcode (string) | zip / postal code in standardized format |
city (string) | city in standardized format |
district (string) | locality info, not postally relevant |
county (string) | administrative unit, not postally relevant |
state (string) | state / province in standardized format if postally relevant |
country (string) | two-letter ISO 3166-1 country code |
latitude (number) | latitude (if Geocoding is enabled) |
longitude (number) | longitude (if Geocoding is enabled) |
ratelimit_remain (int) | number of API requests remaining before the API rate limit is reached (the default API rate limit allows 100 API requests in 300s) |
ratelimit_seconds (int) | number of seconds remaining in the current rate limit interval |
jQuery
<script type="text/javascript" src="path/to/jquery"></script> <script type="text/javascript"> $(document).ready(function() { ... // send API request Locale = 'en'; $.ajax({ url: 'https://api.address-validator.net/api/verify', type: 'POST', data: { StreetAddress: StreetAddress, City: City, PostalCode: PostalCode, State: State, CountryCode: CountryCode, Locale: Locale, APIKey: 'your API key'}, dataType: 'json', success: function (json) { // check API result if (typeof(json.status) != "undefined") { status = json.status; formattedaddress = json.formattedaddress; } } }); ... }); </script>
PHP
... // build API request $APIUrl = 'https://api.address-validator.net/api/verify'; $Params = array('StreetAddress' => $StreetAddress, 'City' => $City, 'PostalCode' => $PostalCode, 'State' => $State, 'CountryCode' => $CountryCode, 'Locale' => $Locale, 'APIKey' => 'your API key'); $Request = http_build_query($Params, '', '&'); $ctxData = array( 'method'=>"POST", 'header'=>"Connection: close\r\n". "Content-Type: application/x-www-form-urlencoded\r\n". "Content-Length: ".strlen($Request)."\r\n", 'content'=>$Request); $ctx = stream_context_create(array('http' => $ctxData)); // send API request $result = json_decode(file_get_contents( $APIUrl, false, $ctx)); // check API result if ($result && $result->{'status'} == 'VALID') { $formattedaddress = $result->{'formattedaddress'}; } else { echo $result->{'info'}; } ...
Java
import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; ... HttpClient client = new DefaultHttpClient(); String StreetAddress = "..."; String City = "..."; String PostalCode = "..."; String State = "..."; String CountryCode = "US"; String Locale = "en"; String APIKey = "your API key"; String APIURL = "https://api.address-validator.net/api/verify"; try { HttpPost request = new HttpPost(APIURL); List <NameValuePair> Input = new ArrayList<NameValuePair>(); Input.add(new BasicNameValuePair("StreetAddress", StreetAddress)); Input.add(new BasicNameValuePair("City", City)); Input.add(new BasicNameValuePair("PostalCode", PostalCode)); Input.add(new BasicNameValuePair("State", State)); Input.add(new BasicNameValuePair("CountryCode", CountryCode)); Input.add(new BasicNameValuePair("Locale", Locale)); Input.add(new BasicNameValuePair("APIKey", APIKey)); request.setEntity(new UrlEncodedFormEntity(Input)); HttpResponse response = client.execute(request); HttpEntity entity = response.getEntity(); String Output = EntityUtils.toString(entity, "UTF-8"); JSONParser parser = new JSONParser(); Object obj = parser.parse(Output); JSONObject jsonObject = (JSONObject) obj; String result = (String) jsonObject.get("status"); if (result.equalsIgnoreCase("VALID")) { String formattedaddress = (String) jsonObject.get("formattedaddress"); } ... } catch (IOException e) { e.printStackTrace(); } catch (ParseException e) { e.printStackTrace(); } finally { client.getConnectionManager().shutdown(); } ...
C# .NET 4.5
// C# .NET 4.5 using System; using System.Collections.Generic; using System.Net.Http; ... private class APIResult { public String status { get; set; } public String formattedaddress { get; set; } } const String APIURL = "https://api.address-validator.net/api/verify"; HttpClient client = new HttpClient(); String StreetAddress = "..."; String City = "..."; String PostalCode = "..."; String State = "..."; String CountryCode = "US"; String Locale = "en"; String APIKey = "your API key"; var postData = new List<KeyValuePair<string, string>>(); postData.Add(new KeyValuePair<string, string>("StreetAddress", StreetAddress)); postData.Add(new KeyValuePair<string, string>("City", City)); postData.Add(new KeyValuePair<string, string>("PostalCode", PostalCode)); postData.Add(new KeyValuePair<string, string>("State", State)); postData.Add(new KeyValuePair<string, string>("CountryCode", CountryCode)); postData.Add(new KeyValuePair<string, string>("Locale", Locale)); postData.Add(new KeyValuePair<string, string>("APIKey", APIKey)); HttpContent content = new FormUrlEncodedContent(postData); HttpResponseMessage result = client.PostAsync(APIURL, content).Result; string resultContent = result.Content.ReadAsStringAsync().Result; APIResult res = new System.Web.Script.Serialization.JavaScriptSerializer(). Deserialize<APIResult>(resultContent); if (res.status.Equals("VALID")) { String formattedaddress = res.formattedaddress; } ...
VB.NET 4.5
' VB.NET 4.5 ... Private Sub checkAddress(ByVal StreetAddress As String, ByVal City As String, ByVal PostalCode As String, ByVal State As String, ByVal CountryCode As String, ByVal Locale As String, ByVal APIKey As String) Const APIURL As String = "https://api.address-validator.net/api/verify" Using client As New Net.WebClient Dim postData As New Specialized.NameValueCollection postData.Add("StreetAddress", StreetAddress) postData.Add("City", City) postData.Add("PostalCode", PostalCode) postData.Add("State", State) postData.Add("CountryCode", CountryCode) postData.Add("Locale", Locale) postData.Add("APIKey", APIKey) Dim reply = client.UploadValues(APIURL, "POST", postData) Dim data As String = (New System.Text.UTF8Encoding).GetString(reply) Dim res = New System.Web.Script.Serialization.JavaScriptSerializer(). Deserialize(Of APIResult)(data) If res.status.Equals("VALID") Then Dim formattedaddress As String = res.formattedaddress End If End Using End Sub Private Class APIResult Public status As String Public formattedaddress As String End Class ...
WordPress, jQuery & Node.js Plugins
Für die Verwendung des APIs mit WordPress, jQuery oder Node.js gibt es bereits komplette Plugins zur Installation:
- WordPress WooCommerce Address Validator Plugin
- jQuery Address Validator Plugin
- Node.js Address Validator Plugin
Jetzt kostenlos testen!
Mit unserem Address Online Validation API können Sie kostenlos bis zu 100 Adressen prüfen - am besten holen Sie sich gleich Ihren kostenlosen API Key.