CDTFA Tax Rate API

URL Templates

Use the following URL templates to get tax rate information associated with a specific address or latitude, longitude location.

Get Rate By Address

https://services.maps.cdtfa.ca.gov/api/taxrate/GetRateByAddress?address={address}&city={city}&zip={zip}

Get Rate By Latitude and Longitude

https://services.maps.cdtfa.ca.gov/api/taxrate/GetRateByLngLat?longitude={longitude}&latitude={latitude}

API Parameters

Get Rate By Address

Parameters Description
address Required. Spaces in the address should be separated by '+' symbol.
Example: address=450+n+st
city Required. Spaces in the city name should be separated by '+' symbol.
Example: city=san+diego
zip Required. 5 digit zip code.

Get Rate By Latitude and Longitude

Parameters Description
latitude Required. Latitude of a location in decimal degrees (DD) format.
longitude Required. Longitude of a location in decimal degrees (DD) format.

Examples

The following are examples of a tax rate request by address and latitude, longitude. Use the REST API Request Tool to interact with the API.

taxRateInfo is a collection of objects that contains tax rate information associated with a location. Usually this collection will contain a single object, but may contain more than one if the location is near a tax rate area boundary.

geocodeInfo is an object that contains information regarding the accuracy of the address geocode and buffer radius used when searching for a tax rate area. Less accurate address geocodes result in a larger search radius, and increase the possibility of multiple tax rate areas being returned. Searches by latitude and longitude still contain the geocodeInfo object, but will only contain a single property that specifies the buffer search radius.

Get Rate By Address - Single Result

https://services.maps.cdtfa.ca.gov/api/taxrate/GetRateByAddress?address=450+n+st&city=sacramento&zip=95814
{
    "taxRateInfo": [
        {
            "rate": 0.0875,
            "jurisdiction": "SACRAMENTO",
            "city": "SACRAMENTO",
            "county": "SACRAMENTO",
            "tac": "340607050000"
        }
    ],
    "geocodeInfo": {
        "matchCodes": [
            "Good"
        ],
        "formattedAddress": "450 N St, Sacramento, CA 95814",
        "confidence": "High",
        "calcMethod": "Rooftop",
        "bufferDistance": 50
    },
    "termsOfUse": "https://www.cdtfa.ca.gov/dataportal/policy.htm",
    "disclaimer": "https://www.cdtfa.ca.gov/dataportal/disclaimer.htm"
    }
}

Get Rate By Address - Multiple Results

https://services.maps.cdtfa.ca.gov/api/taxrate/GetRateByAddress?address=2444+s+alameda+st&city=los+angeles&zip=90058
{
    "taxRateInfo": [
        {
            "rate": 0.1025,
            "jurisdiction": "VERNON",
            "city": "VERNON",
            "county": "LOS ANGELES",
            "tac": "190398120000"
        },
        {
            "rate": 0.095,
            "jurisdiction": "LOS ANGELES",
            "city": "LOS ANGELES",
            "county": "LOS ANGELES",
            "tac": "190505940000"
        }
    ],
    "geocodeInfo": {
        "matchCodes": [
            "Good"
        ],
        "formattedAddress": "2444 S Alameda St, Los Angeles, CA 90058",
        "confidence": "High",
        "calcMethod": "Rooftop",
        "bufferDistance": 50
    },
    "termsOfUse": "https://www.cdtfa.ca.gov/dataportal/policy.htm",
    "disclaimer": "https://www.cdtfa.ca.gov/dataportal/disclaimer.htm"
    }
}

Get Rate By Latitude and Longitude

https://services.maps.cdtfa.ca.gov/api/taxrate/GetRateByLngLat?Longitude=-121.502520&Latitude=38.577650
{
    "taxRateInfo": [
        {
            "rate": 0.0875,
            "jurisdiction": "SACRAMENTO",
            "city": "SACRAMENTO",
            "county": "SACRAMENTO",
            "tac": "340607050000"
        }
    ],
    "geocodeInfo": {
        "bufferDistance": 50
    },
    "termsOfUse": "https://www.cdtfa.ca.gov/dataportal/policy.htm",
    "disclaimer": "https://www.cdtfa.ca.gov/dataportal/disclaimer.htm"
    }
}

Response Details

Property Description
taxRateInfo A collection of objects containing tax rate information associated with a location. Multiple objects may be returned if the location is near the boundary of a tax rate area.
geocodeInfo An object containing the Geocode information.
termsOfUse The URL for terms of use.
disclaimer The URL for the disclaimer.

The taxRateInfo object provides the following information.

Property Description
rate The tax rate at the location.
jurisdiction The jurisdiction at the location.
city The city at the location.
county The county at the location.
tac The tax area code at the location.

The geocodeInfo object provides the following information.

Property Description
matchCodes One or more match code values that represent the geocoding level for each location in the response.
formattedAddress Formatted address.
confidence The level of confidence that the geocoded location result is a match.
calcMethod The method that was used to compute the geocode point.
bufferDistance The search radius used to identify tax rate areas around the geocode location. Distance depends on the geocode confidence and calculation method.

HTTP Status Codes

The following are possible HTTP status codes. A successful request will return a 200 OK status code. A request with invalid syntax and/or parameters will usually return a 400 Bad Request status code, with error details in the response. See below for examples of 400 Bad Request calls.

HTTP Status Code Description
200 OK The request was successful.
400 Bad Request The request contained an error. See error details in return message.
403 Forbidden The request is for something forbidden. Authorization will not help.
404 Not Found The requested resource was not found.
500 Internal Server Error Your request could not be completed because there was a problem with the service.
503 Service Unavailable There's a problem with the service right now. Please try again later.

Error Examples

https://services.maps.cdtfa.ca.gov/api/taxrate/GetRateByAddress?Address=450+N+St&City=Sacramento
{
    "errors": [
        {
            "field":"Zip",
            "message":"The Zip field is required."
        }
    ]
}
https://services.maps.cdtfa.ca.gov/api/taxrate/GetRateByAddress?Address=PO+Box+942879&City=Sacramento&Zip=95814
{
    "errors": [
        {
            "field": "Address",
            "message": "Invalid value: 'PO Box'"
        }
    ]
}

SOAP Service

The CDTFA Tax Rate API is also available through a SOAP Service. Use the format in the request example below for the body of the request. If no city, state, street address, and zip code is specified, then a latitude and longitude must be specified. Delete all parameters that are not used in the request.

Request Example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tax="http://services.gis.boe.ca.gov/api/taxrates">
    <soapenv:Header />
    <soapenv:Body>
        <tax:GetRate>
            <tax:request>
                <tax:City>Sacramento</tax:City>
                <tax:State>CA</tax:State>
                <tax:StreetAddress>450 N St</tax:StreetAddress>
                <tax:ZipCode>95814</tax:ZipCode>
                
                <tax:ZipCodePlusFour></tax:ZipCodePlusFour>
                <tax:Latitude></tax:Latitude>
                <tax:Longitude></tax:Longitude>
            </tax:request>
        </tax:GetRate>
    </soapenv:Body>
</soapenv:Envelope>

Response Example

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <s:Body>
        <GetRateResponse xmlns="http://services.gis.boe.ca.gov/api/taxrates">
            <GetRateResult>
                <CARateResponses>
                    <CARateResponse>
                        <BufferSize>50</BufferSize>
                        <ResponseDate>2020-12-15T18:36:59.698693+00:00</ResponseDate>
                        <CARateRequest>
                            <StreetAddress>450 N St</StreetAddress>
                            <City>Sacramento</City>
                            <State>CA</State>
                            <ZipCode>95814</ZipCode>
                            <ZipCodePlusFour xsi:nil="true" />
                            <Longitude xsi:nil="true" />
                            <Latitude xsi:nil="true" />
                        </CARateRequest>
                        <Responses>
                            <RateInformation>
                                <Rate>0.0875</Rate>
                                <Details>
                                    <TAC>340607050000</TAC>
                                    <City xsi:type="xsd:string">SACRAMENTO</City>
                                    <County>SACRAMENTO</County>
                                    <Jurisdiction>SACRAMENTO</Jurisdiction>
                                    <CalcMethod>Rooftop</CalcMethod>
                                    <Confidence>High : Good</Confidence>
                                </Details>
                            </RateInformation>
                        </Responses>
                        <Errors />
                        <TermsOfUse>https://www.cdtfa.ca.gov/dataportal/policy.htm</TermsOfUse>
                    </CARateResponse>
                </CARateResponses>
                <Disclaimer>https://www.cdtfa.ca.gov/dataportal/disclaimer.htm</Disclaimer>
                <AppVersion>1.0.0.0</AppVersion>
            </GetRateResult>
        </GetRateResponse>
    </s:Body>
</s:Envelope>