The URL Interface provides a direct access to the Washington Department of Revenue’s address based rate lookup technology platform. Using the URL interface we provide, you can access sales and use tax rate data using address or ZIP + 4 code information and tie the data into your shopping cart checkout process or accounting system in real time. The following information is the technical specifications to access the URL interface.
For technical questions or assistance with these interfaces, please contact our GIS team at dordli.s.gisteam@dor.wa.gov
1. The rate lookup URL is designed to return the current sales tax rates for an address. It is designed for use by XMLHttpRequest, Msxml2.XMLHTTP, libcurl, wget, HttpRequest, or similar HTTP protocol client. Requests can be made for ether XML or plain text responses.
http: or https: ///webapi/AddressRates.aspx?output=&addr=&city=&zip Where ==> Host name where the service is running ==> Either "xml" or "text". ==> The street address ==> The city name ==> The 5 or 9 digit ZIP code. Examples: http://webgis.dor.wa.gov/webapi/AddressRates.aspx?output=xml&addr=6500 Linderson way&city=&zip=98501 http://webgis.dor.wa.gov/webapi/AddressRates.aspx?output=text&addr=6500 Linderson way&city=&zip=985011001 http://webgis.dor.wa.gov/webapi/AddressRates.aspx?output=xml&addr=6500 Linderson way&city=&zip=98501-1001 or https://webgis.dor.wa.gov/webapi/AddressRates.aspx?output=xml&addr=6500 Linderson way&city=&zip=98501 https://webgis.dor.wa.gov/webapi/AddressRates.aspx?output=text&addr=6500 Linderson way&city=&zip=985011001 https://webgis.dor.wa.gov/webapi/AddressRates.aspx?output=xml&addr=6500 Linderson way&city=&zip=98501-1001
The service will normally return a HTTP status code of 200 OK. On internal error, it will return a 500 internal server error.
A result code will be returned for both XML and text response formats. The codes are defined as:
0: The address was found. 1: The address was not found, but the ZIP+4 was located. 2: The address was updated and found, the user should validate the address record 3: The address was updated and Zip+4 located, the user should validate the address record 4: The address was corrected and found, the user should validate the address record 5: Neither the address or ZIP+4 was found, but the 5-digit ZIP was located. 6: The address, ZIP+4, and ZIP could not be found. 7: Invalid Latitude/Longitude 9: Internal error
If the format requested is "text", a simple text string will be returned with the following format.
LocationCode= Rate= ResultCode= Where ==> The four digit DOR location code. ==> The total state and local tax rate. ==> The result code described above. Example LocationCode=3406 Rate=0.084 ResultCode=0
Example <?xml version="1.0" encoding="UTF-8" ?> Tags response ==> The response package. addressline ==> The standardized address and attributes located. If "short cut evaluation" is enabled on the server, the address attributes may be blank or zero. rate ==> The tax rate information. Attributes loccode ==> The four digit DOR location code. localrate ==> The local tax rate. rate ==> The combined local and state tax rate. code ==> The result code as defined above. debughint ==> If the code is invalid argument, this attribute may contain information about the cause of the problem (like invalid ZIP). Attributes houselow ==> Standardized address low house number. househigh ==> Standardized address high house number. evenodd ==> 'O' or 'E' street ==> Standardized address street. state ==> "WA" zip ==> Standardized address ZIP. plus4 ==> Standardized address ZIP plus four. period ==> Tax period in Q[1-4]YYYY format. code ==> The four digit DOR location code. rta ==> 'Y' or 'N' ptba ==> Public transportation benefit area name. cez ==> Community empowerment zone name. Attributes name ==> DOR location code name. code ==> The four digit DOR location code. staterate ==> The state portion of the sales tax rate. localrate ==> The local portion of the sales tax rate.
WebClient wc = new WebClient() string urlPrefix = protocol + "://" + server + ":" + port.ToString() + "/AddressRates.aspx?format=xml"; string uri = urlPrefix + "&addr=" + UrlEncode(street) + "&city=" + UrlEncode(city) + "&zip=" + zip.ToString(); StreamReader reader = new StreamReader(wc.OpenRead(uri)); string xml = reader.ReadToEnd(); reader.Close(); // Now parse the XML // ...