Documentation

 

US Autocomplete API Offerings


US Autocomplete Pro API

This page describes how to use the SmartyStreets US Autocomplete Pro API. (Free testing accounts available.)

Contents

  1. Features
    1. Features
  2. HTTP Request
    1. URL Composition
    2. Request Methods
    3. Request Headers
    4. Input Fields
  3. HTTP Response
    1. Status Codes and Results
    2. Example Response
  4. Advanced Concepts
    1. Filtering
    2. Preferences
    3. Use Cases for Filtering and Preferences
    4. Alternate Cities
  5. Supplementary Material
    1. Subscription Usage
    2. SSL/TLS Information
    3. Try the Demo

Features

  • Returns suggestions that are fully verified USPS addresses.
  • Uses fuzzy logic during searching to:
    • Allow for missing directionals and street suffixes.
    • Allow substitution of street suffixes and secondary designators. E.g., ST is accepted for AVE; APT is accepted for UNIT, etc.
    • Allow full or partial spelling of street suffixes and secondary designators. E.g., ST can be spelled as STR or STREET and still match.
  • Filters and preferences allow for multiple cities in a single state.
  • Provides filter keywords for common state collections such as allstates. See Filtering.
  • ZIP Codes are valid filter and preference values.
  • Allows searching on alternate cities.

HTTP Request: URL Composition

Proper URL construction is required for all API requests. Here is an example URL (with line breaks for readability):

https://us-autocomplete-pro.api.smartystreets.com/lookup?
key=YOUR+WEBSITE+KEY+HERE

Here is a more granular examination of the example above:

URL ComponentsValuesNotes
SchemehttpsNon-secure http requests are not supported.
Hostnameus-autocomplete-pro.api.smartystreets.com
Path/lookup
Query String?key=YOUR+WEBSITE+KEY+HEREUsing "secret key" authentication will result in a 401 error. Use "website key" authentication instead. Additional query string parameters are introduced in the next section.

For additional information about URLs, please read our article about URL components.

HTTP Request: Supported Methods/Verbs

HTTP requests can be categorized according to their HTTP method. Most HTTP requests are defined using the GET method. We call these "get requests." Other common methods are PUT, POST, and DELETE.

The following method is supported by this API:

Note: When calling any of our APIs using website key authentication, only the HTTP GET method is allowed.

Please note that all query string parameter values must be url-encoded (spaces become + or %20, for example) to ensure that the data is transferred correctly. Common mistakes we see are non-encoded commas, semicolons, and pound signs. Pound signs (#) like in an apartment number (# 409), when properly encoded in a URL, become %23. When not encoded this character functions as the fragment identifier, which is ignored by our API servers.

HTTP Request: Headers

You must include the following required HTTP headers in all requests:

HeaderDescriptionExample
HostThe Host request header field specifies the internet host and port number of the resource being requested. Note: Most HTTP clients such as the browser, or programming language HTTP libraries will add this header automatically.Host: us-autocomplete-pro.api.smartystreets.com
RefererThe Referer is required when a website key is used for authentication. Its value is in the form of a URL, where the host component must match a host value assigned to your website key. Note: Some HTTP clients such as a browser or programming language HTTP libraries will add this header automatically. However some interfaces such as cURL do not, so you may need to add it manually.Referer: https://mycoolwebsite.com

Input Fields

NameTypeDefault ValueDescription
max_resultsinteger10Maximum number of address suggestions to return; range [1, 10].
include_only_citiesstring(empty)Limit the results to only those cities and states listed, as well as those in include_only_states. Example: DENVER,AURORA,CO;OMAHA,NE See filtering for more information.
include_only_statesstring(empty)Limit the results to only those states listed, as well as those listed in include_only_cities. Examples: UT;ID;MT or CONTIGUOUS or ALLSTATES See filtering for more information.
include_only_zip_codesstring(empty)Limit the results to only those ZIP Codes listed. When this parameter is used, no other _cities, _states, or prefer_geolocation parameters can be used. Example: 90210;06504 See filtering for more information.
exclude_statesstring(empty)Exclude the following states from the results. When this parameter is used, no other include_ parameters may be used. Example: SD;ND;MT See filtering for more information.
prefer_citiesstring(empty)Display suggestions with the listed cities and states at the top of the suggestion list, as well as those listed in prefer_states. Example: DENVER,AURORA,CO;OMAHA,NE See preferencing for more information.
prefer_statesstring(empty)Display suggestions with the listed states at the top of the suggestion list, as well as those listed in prefer_cities. Examples: UT;ID;MT See preferencing for more information.
prefer_zip_codesstring(empty)Display suggestions with the listed ZIP Codes at the top of the suggestion list. When this parameter is used, no other _cities, _states, or prefer_geolocation parameters can be used. See preferencing for more information.
prefer_ratiointeger33Specifies the percentage of address suggestions that should be preferred and will appear at the top of the suggestion list. Expressed as an integer value, range [0, 100]. See preferencing for more information.
prefer_geolocationstring(empty)If set to city, it uses the sender's IP address to determine location, then automatically adds the city and state to the prefer_cities value. Acceptable values are: empty string, none or city. Notes: 1. If any _zip_codes parameters are used, this must be omitted or set to none. 2. If the request to the Autocomplete Pro API goes through a proxy, you will need to set an X-Forwarded-For header specifying the user's IP address.

HTTP Response: Status Codes and Results

Responses will have a status header with a numeric value. This value is what you should check for when writing code to parse the response. The only response body that should be read and parsed is a 200 response.

Status CodeResponse and Explanation
401Unauthorized: The website key was provided incorrectly or did not match any existing, active website keys. Or the host in the referer header did not match a host assigned to your website key.
402Payment Required: There is no active subscription for the account associated with the credentials submitted with the request.
400Bad Request (Malformed Payload): The request was malformed in some way and could not be parsed.
422Unprocessable Entity (Unsuitable parameters): Returns errors describing what needs to be corrected.
429Too Many Requests: When using public website key authentication, we restrict the number of requests coming from a given source over too short of a time. You can avoid this error by adding your IP address as an authorized host for the website key in question.
200OK (success!): The response body is a JSON object with a suggestions array containing suggestions based on the supplied input parameters.

Example Response

NOTE: Any returned fields that are not defined within this document should be considered experimental and may be changed or discontinued at any time without notice.


curl 'https://us-autocomplete-pro.api.smartystreets.com/lookup?key=YOUR+WEBSITE+KEY+HERE&search=123%20mai&include_only_cities=chicago%2Cil&include_only_states=mi&prefer_states=il' -H 'referer: https://myneatwebsite.com'
                        

The resulting JSON contains a list of suggestions consisting of the following components

  • street_line
  • secondary
  • city
  • state
  • entries

...which you can use to fill form fields. Here's an example of the actual response JSON:

{
  "suggestions": [
    {
      "street_line": "123 E 103rd St",
      "secondary": "",
      "city": "Chicago",
      "state": "IL",
      "entries": 0
    },
    {
      "street_line": "123 E 104th Pl",
      "secondary": "",
      "city": "Chicago",
      "state": "IL",
      "entries": 0
    },
    {
      "street_line": "123 E 111th St",
      "secondary": "",
      "city": "Chicago",
      "state": "IL",
      "entries": 0
    },
    {
      "street_line": "123 E 117th Pl",
      "secondary": "",
      "city": "Chicago",
      "state": "IL",
      "entries": 0
    },
    {
      "street_line": "123 1/2 E Maple Ave",
      "secondary": "Apt",
      "city": "Adrian",
      "state": "MI",
      "entries": 2
    },
    {
      "street_line": "123 1/2 N Mitchell St",
      "secondary": "Apt",
      "city": "Cadillac",
      "state": "MI",
      "entries": 2
    },
    {
      "street_line": "123 1/2 S Lafayette St",
      "secondary": "Apt",
      "city": "Greenville",
      "state": "MI",
      "entries": 3
    },
    {
      "street_line": "123 1/2 W Main St",
      "secondary": "Apt",
      "city": "Owosso",
      "state": "MI",
      "entries": 6
    },
    {
      "street_line": "123 11th St",
      "secondary": "",
      "city": "Plainwell",
      "state": "MI",
      "entries": 0
    },
    {
      "street_line": "123 136th Ave",
      "secondary": "",
      "city": "Wayland",
      "state": "MI",
      "entries": 0
    }
  ]
}

To assemble the address into a string and better understand the secondary and entries fields, consider the following JavaScript code:

function buildAddress(suggestion) {
    let whiteSpace = "";
    if (suggestion.secondary) {
        if (suggestion.entries > 1) {
            suggestion.secondary += " (" + suggestion.entries + " entries)";
        }
        whiteSpace = " ";
    }
    return suggestion.street_line + whiteSpace + suggestion.secondary + " " + suggestion.city + ", " + suggestion.state;
}
Yields the following:

123 E 103rd St Chicago, IL
123 E 104th Pl Chicago, IL
123 E 111th St Chicago, IL
123 E 117th Pl Chicago, IL
123 1/2 E Maple Ave Apt (2 entries) Adrian, MI
123 1/2 N Mitchell St Apt (2 entries) Cadillac, MI
123 1/2 S Lafayette St Apt (3 entries) Greenville, MI
123 1/2 W Main St Apt (6 entries) Owosso, MI
123 11th St Plainwell, MI
123 136th Ave Wayland, MI
                            

When the entries field value is greater than 1, it indicates that more than one secondary number matches the user input, thus the address is incomplete. Note that some of the addresses in the example above indicate that there are multiple secondary entries that matched the user input.

Filtering

To limit autocomplete suggestions to a set of cities and/or states or ZIP Codes, you can use filters expressed in the include_ and exclude_ parameters.

Important Filter Rules and Limitations:

  • State values MUST only be two-character state abbreviations.
  • ZIP Code values MUST only be five-digit ZIP Codes.
  • include_only_cities and include_only_states fields MAY be used separately or together.
  • include_only_zip_codes fields CANNOT be used with any other _cities, _states, or prefer_geolocation fields in include_, exclude_, or prefer_.
  • exclude_states CANNOT be used with any include_ fields but MAY be used with prefer_cities and prefer_states fields.
  • Keywords CONTIGUOUS and ALLSTATES are ONLY supported in include_only_states and MUST be the only value in the field.
    • CONTIGUOUS - The 48 contiguous states + DC
    • ALLSTATES - All 50 states + DC (no territories)

Sample Filter Strings:

  • include_only_cities=DENVER,AURORA,CO;CASPER,WY&include_only_states=UT;MT
  • include_only_states=contiguous
  • include_only_zip_codes=84660;90210
  • exclude_states=UT;MT;ID

Preferences

In order to have preferred suggestions bubble to the top of the suggestion list, use Preferences. The preference format is the same as the filter with a few exceptions. (See also Important Filter Rules and Limitations.)

By default, up to the top 1/3 of results (rounded up) will be preferred. You can adjust this ratio with the prefer_ratio parameter.

If cities are specified, but that action does not result in sufficient suggestions to fill available spots, the API will expand the search to include the whole state.

Important Preference Rules and Limitations:

  • prefer_states does NOT support keywords CONTIGUOUS and ALLSTATES.
  • prefer_zip_codes CANNOT be used with any other _cities, _states or prefer_geolocation fields in include_, exclude_, or prefer_.
  • prefer_ values that are not compatible with the include_ fields will be ignored.
    • Example: include_only_states=UT&prefer_states=MT is not compatible. In this case, the prefer_states value will be ignored since no MT results will ever be returned.
  • prefer_geolocation CANNOT be used if any _zip_codes fields are used.

Sample Preference Strings:

  • prefer_cities=SEATTLE,REDMOND,WA;RENO,NV
  • prefer_states=CO;OK
  • prefer_zip_codes=84660;90210

Use Cases for Filtering and Preferences

Case 1: You only sell products to people in specific cities and states.

You need to limit results to only addresses in Chicago and Bloomington, Il, as well as any address in Nebraska. However, you want to have Illinois addresses show in the top half of the search results.


include_only_cities=CHICAGO,BLOOMINGTON,IL&include_only_states=NE&prefer_states=IL&prefer_ratio=50
                        

Case 2: You cannot sell your products in all states.

You are not allowed to sell your product in 3 states, KS, TX, and AK, so you never want to see results from those states. Most of your customers live in New Yok, NY, and in NJ, so you want those to be at the top of the result list.


exclude_states=KS;TX;AK&prefer_cities=NEW YORK,NY&prefer_states=NJ
                        

Case 3: You want the top results to be addresses from the customer's own area.

Your website allows customers to search for their own address. To give them a good experience, you want addresses from their city or area to be the top results. This is done using the geolocation feature which uses their public IP address to determine their city, and automatically populate the prefer_cities parameter at runtime.


prefer_geolocation=CITY
                        

Case 4: You only service an area that spans three ZIP Codes.

Your business only provides service to a small geographical area that spans three ZIP Codes, so you only want to return addresses within that area.


include_only_zip_codes=12207;12208;12209
                        

Alternate Cities

The US Autocomplete Pro API handles alternate cities elegantly. But what does that mean?

The area within a ZIP Code may contain multiple cities. The city where the US Post Office resides for that ZIP Code is typically the default city. The other cities within the ZIP Code area are alternate cities. Addresses within the USPS address data usually contain only default cities, which means if you search for an alternate city in the raw USPS data, it would not be found.

So when we say that the US Autocomplete Pro API handles alternate cities, we mean the following:

If you are searching for an address and you see that address in the results, it likely has the default city name listed. If you start typing a valid alternate city name, the city in the suggestions will change from the default city name to the alternate city name.

If preference or filter strings contain an alternate city name, addresses that fall within that ZIP Code will return that alternate city name in the suggested addresses instead of the default city that is contained within the USPS data.

We mentioned earlier that USPS address data "usually" contains only the default city name. However, there are some addresses in the USPS data where the alternate city is the preferred city for that address and will be returned by default when searching for that address. In these cases, if you start typing the default city name the address will still be returned but with the preferred city name. This is because that particular address would be invalid according to the USPS with the default city name in the address. Clear as mud?

But wait, there's more! The USPS also has a list of alternate cities that are no longer acceptable for use when mailing. An example would be AT & T, which is an alternate city for AURORA, IL 60572, but is no longer acceptable for use when mailing. Let's say you are typing an AURORA address within that ZIP Code and you start typing AT&T for the city name. It will continue to return suggestions but will show AURORA as the city name in the suggestions. This feature allows users, who used to know a city by a particular name, to still be able to find the address despite the fact that the city name is not valid.

Consider the following examples:

Example 1

  1. FORT LAUDERDALE, FL is the default city for ZIP Code 33312. It has acceptable alternate city names of DAVIE, FT LAUDERDALE, and LAUDERHILL. It has an unacceptable alternate city of LAUDERDALE ISLES.
  2. If you start typing an address in 33312, it will return FORT LAUDERDALE as the city by default. When you get to the city part and start typing DAVIE, the city in the suggestions will change to DAVIE because it is an acceptable alternate city.
  3. If you start typing the city name LAUDER, it will continue to return FORT LAUDERDALE because there are two alternate cities that begin with LAUDER (LAUDERHILL and LAUDERDALE ISLES) and it doesn't know which one you want.
  4. Keep typing LAUDERH and the city name will change to LAUDERHILL. Or if you type LAUDERD, it will return FORT LAUDERDALE because LAUDERDALE ISLES is not an acceptable city name.
  5. If your filter includes DAVIE,FL, any address you find in 33312 will return DAVIE as the city name. If you continue searching for a city other than DAVIE, no results will be returned because the filter will not allow any other city, valid or not, to be returned.

Example 2

  1. YARDLEY, PA is an alternate city to MORRISVILLE in ZIP Code 19067. Even though YARDLEY is an alternate city for MORRISVILLE, some addresses within the USPS data list the preferred city of YARDLEY as the default, so those addresses will return YARDLEY as the city.
  2. When you are searching for one of these addresses and you start typing the city MORRISVILLE, it will continue to return YARDLEY as the city because even though MORRISVILLE is the default city for that ZIP Code, it is not a valid deliverable city name for that particular address. (There are only a few thousand of these cases in the USPS data.)

Subscription Usage

Beyond ensuring that requests include proper authentication, clients of the US Autocomplete Pro API must maintain an active API subscription .

SSL/TLS Information

Use Modern Security Software and Cipher Suites

Certificate Authority:
    AddTrust External CA Root
    Fingerprint: 02faf3e291435468607857694df5e45b68851868

Supported Protocols:
    TLS 1.2
    TLS 1.1
    TLS 1.0

Cipher Suites:
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
    TLS_RSA_WITH_AES_128_GCM_SHA256
    TLS_RSA_WITH_AES_256_GCM_SHA384
    TLS_RSA_WITH_AES_128_CBC_SHA256
    TLS_RSA_WITH_AES_128_CBC_SHA
    TLS_RSA_WITH_AES_256_CBC_SHA256
    TLS_RSA_WITH_AES_256_CBC_SHA

US Autocomplete Basic API

This page describes how to use the SmartyStreets US Autocomplete Basic API. (Free testing accounts available.)

NOTE: Because the US Autocomplete Basic API relies on the user to know their primary number, the returned suggestions do not necessarily represent valid addresses. These suggestions contain the house number provided as well as a valid street+city+state. Submitting those values to the US Street API will provide the fully validated address if one exists.

Contents

  1. HTTP Request
    1. URL Composition
    2. Request Methods
    3. Request Headers
    4. Input Fields
  2. HTTP Response
    1. Status Codes and Results
    2. Example Response
  3. Advanced Concepts
    1. Filtering
    2. Preference
  4. Supplementary Material
    1. Subscription Usage
    2. SSL/TLS Information
    3. Try the Demo

HTTP Request: URL Composition

Proper URL construction is required for all API requests. Here is an example URL (with line breaks for readability):

https://us-autocomplete.api.smartystreets.com/suggest?
key=YOUR+WEBSITE+KEY+HERE

Here is a more granular examination of the example above:

URL ComponentsValuesNotes
SchemehttpsNOTE: Non-secure http requests are not supported
Hostnameus-autocomplete.api.smartystreets.com
Path/suggest
Query String?key=YOUR+WEBSITE+KEY+HEREUsing "secret key" authentication will result in a 401 error. Use "website key" authentication instead. Additional query string parameters are introduced in the next section.

For additional information about URLs, please read our article about URL components.

HTTP Request: Supported Methods/Verbs

HTTP requests can be categorized according to their HTTP method. Most HTTP requests are defined using the GET method. We call these "get requests." Other common methods are PUT, POST, and DELETE.

The following method is supported by this API:

Note: When calling any of our APIs using website key authentication, only the HTTP GET method is allowed. With secret key authentication, both HTTP GET and POST methods are allowed.

Please note that all query string parameter values must be url-encoded (spaces become + or %20, for example) to ensure that the data is transferred correctly. A common mistake we see is a non-encoded pound sign (#) like in an apartment number (# 409). This character, when properly encoded in a URL, becomes %23. When not encoded this character functions as the fragment identifier, which is ignored by our API servers.

HTTP Request: Headers

You must include the following required HTTP headers in all requests:

HeaderDescriptionExample
HostThe Host request header field specifies the internet host and port number of the resource being requestedHost: us-autocomplete.api.smartystreets.com

Input Fields

NameTypeDefault ValueDescription
prefixstring(empty)Required. The part of the address that has already been typed. Maximum length is 128 bytes.
suggestionsinteger10Maximum number of address suggestions, range [1, 10]. Default is 10.
city_filterstring(empty)A list of city names, separated by commas, to which to limit the results. See filtering for more information.
state_filterstring(empty)A list of state names (2-letter abbreviations), separated by commas, to which to limit the results. See filtering for more information.
preferstring(empty)A list of cities/states to prefer at the top of the results. See preferencing for more information.
prefer_ratiodecimal(10,9)0.333333333Specifies the percentage of address suggestions that should be from preferred cities/states. Expressed as a decimal value, range [0, 1] (input out of bounds is adjusted). See preferencing for more information.
geolocatebooltrueWhether to prefer address suggestions in the user's city and state, based on their IP address. (If the request to the Autocomplete API goes through a proxy, you will need to set an X-Forwarded-For header specifying the user's IP address.)
geolocate_precisionstringcityIf the geolocate field is set to true then setting this field to city causes the geolocated results that bubble up to the top of the response to be from the city/state corresponding to the sender's IP address. Setting this field to state causes results from the sender's entire state to be preferred.

HTTP Response: Status Codes and Results

Responses will have a status header with a numeric value. This value is what you should check for when writing code to parse the response. The only response body that should be read and parsed is a 200 response.

Status CodeResponse and Explanation
401Unauthorized: The credentials were provided incorrectly or did not match any existing, active credentials.
402Payment Required: There is no active subscription for the account associated with the credentials submitted with the request.
400Bad Request (Malformed Payload): The request was malformed in some way and could not be parsed.
422Unprocessable Entity (Unsuitable Payload): The value of the prefix input parameter was too long and could not be processed.
429Too Many Requests: When using public website key authentication, we restrict the number of requests coming from a given source over too short of a time. If you use website key authentication, you can avoid this error by adding your IP address as an authorized host for the website key in question.
200OK (success!): The response body is a JSON object with a suggestions array containing suggestions based on the supplied input parameters.

Example Response

NOTE: Any returned fields that are not defined within this document should be considered experimental and may be changed or discontinued at any time without notice.

curl -v 'https://us-autocomplete.api.smartystreets.com/suggest?key=YOUR+WEBSITE+KEY+HERE&prefix=123+mai'

The resulting JSON contains a list of suggestions, each containing the concatenated address suggestion in a field called

  • text

...as well as its components...

  • street_line,
  • city, and
  • state

...which you can use to fill form fields. Here's an example of the actual response JSON:

{
    "suggestions": [
        {
            "text": "123 Main Rd, Abbot ME",
            "street_line": "123 Main Rd",
            "city": "Abbot",
            "state": "ME"
        },
        // 9 more suggestions truncated...
    ]
}

NOTE: Because the US Autocomplete API relies on the user to know their primary number, the returned suggestions do not necessarily represent valid addresses. These suggestions contain the house number provided as well as a valid street+city+state. Submitting those values to the US Street API will provide the fully validated address if one exists.

Filtering

To limit address autocomplete suggestions to a set of cities and/or states, you can use filters. A filter is a comma-separated list of cities/states. You can specify both city and state filters to limit suggestions to any of those cities in any of those states. Filters tend to override preference strings. Geolocated results and filtered results are not mutually exclusive, so if you want only filtered results, turn off geolocation.

Note: when using state_filter or city_filter, results will not include the state (or city) until after the street is entered.

Sample Filters

Restrict suggestions to Hawaii, Alaska, and American Samoa: state_filter=HI,AK,AS

Restrict suggestions to Chicago and Los Angeles: city_filter=Chicago,Los+Angeles

Preference

You can have suggestions in certain cities/states bubble to the top of the results by setting a preference string. A preference string consists of a list of cities and states separated by semicolons, with commas between each city and state. To specify a city, a state must also accompany it.

By default, up to the top 1/3 of results (rounded up) will be preferred. You can adjust this ratio with the prefer_ratio input field.

Sample Preference Strings

Prefer Las Vegas, NV: prefer=Las+Vegas,NV

Prefer Houston and Spring in TX: prefer=Houston,TX;Spring,TX

Prefer Utah and Minnesota: prefer=UT;MN

Prefer Salt Lake City and Nevada: prefer=Salt+Lake+City,UT;NV

Subscription Usage

Beyond ensuring that requests include proper authentication, clients of the Autocomplete API must maintain an active API subscription. At this time, the Autocomplete API does not count against your subscription usage. This policy is subject to change in the future.

SSL/TLS Information

Use Modern Security Software and Cipher Suites

Certificate Authority:
    AddTrust External CA Root
    Fingerprint: 02faf3e291435468607857694df5e45b68851868

Supported Protocols:
    TLS 1.2
    TLS 1.1
    TLS 1.0

Cipher Suites:
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
    TLS_RSA_WITH_AES_128_GCM_SHA256
    TLS_RSA_WITH_AES_256_GCM_SHA384
    TLS_RSA_WITH_AES_128_CBC_SHA256
    TLS_RSA_WITH_AES_128_CBC_SHA
    TLS_RSA_WITH_AES_256_CBC_SHA256
    TLS_RSA_WITH_AES_256_CBC_SHA
This site uses cookies for analytics, personalized content, and ads. By continuing to browse this site, you agree to this use.
Consuming raw or undercooked cookie dough may increase your risk of foodborne illness.