TLS Check API Reference
Check which SSL/TLS protocol versions a host supports (SSLv2 to TLSv1.3), detect deprecated protocols, get an overall score, and optionally scan cipher suites.
Service details and pricing: TLS Check API
Request example
Query the endpoint via an HTTPS POST request (replace YOUR_API_KEY_HERE with your API key):
curl -X POST "https://api.apivoid.com/v2/tls-check" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY_HERE" \
-d '{"host": "stripe.com"}' The same request in PHP:
$host = 'stripe.com';
$apiKey = 'YOUR_API_KEY_HERE';
$curl = curl_init('https://api.apivoid.com/v2/tls-check');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/json', 'X-API-Key: ' . $apiKey]);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode(['host' => $host]));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($httpCode === 200) {
$responseData = json_decode($response, true);
print_r($responseData);
} else {
print_r('An error occurred: '.$response);
}Request parameters
Required
Host to submit, e.g. google.com.
Optional
TLS port to check. Must be between 443 and 65535.
Enable cipher suite scanning for all TLS protocols. Available on the Growth Plan and above.
New response fields (when enabled): ciphers protocol_details.
⚠ Enabling this option costs 1 additional credit per successful request.
Response example
A successful request returns HTTP 200 with a JSON body:
{
"host": "stripe.com",
"ip": "198.202.176.231",
"port": 443,
"protocols": {
"sslv2": {
"enabled": false,
"recommended_status": "disabled",
"deprecated": true
},
"sslv3": {
"enabled": false,
"recommended_status": "disabled",
"deprecated": true
},
"tlsv1.0": {
"enabled": false,
"recommended_status": "disabled",
"deprecated": true
},
"tlsv1.1": {
"enabled": false,
"recommended_status": "disabled",
"deprecated": true
},
"tlsv1.2": {
"enabled": true,
"recommended_status": "enabled",
"deprecated": false
},
"tlsv1.3": {
"enabled": true,
"recommended_status": "enabled",
"deprecated": false
}
},
"connected": true,
"score": "excellent",
"elapsed_ms": 745
}Response fields
The fields returned in the JSON response:
hoststring
Host submitted for the TLS check.
ipstring
IP address the host resolved to.
portinteger
Port used for the TLS check, e.g. 443.
protocolsobject
Status of each SSL/TLS protocol version, keyed by protocol name.
protocols → [protocol] → enabledboolean
Returns true if the protocol version is enabled on the server.
protocols → [protocol] → recommended_statusstring
Recommended status for the protocol, can be enabled/disabled.
protocols → [protocol] → deprecatedboolean
Returns true if the protocol version is deprecated.
connectedboolean
Returns true if a TLS connection to the server was established.
scorestring
Overall TLS configuration score, e.g. excellent, moderate, poor.
ciphersobjectWith: scan_ciphers
Supported ciphers grouped by protocol version, keyed by protocol name (e.g. tlsv1.2, tlsv1.3).
ciphers → [protocol] → ciphersarrayWith: scan_ciphers
List of ciphers tested for this protocol; each item has name, hex_code, supported, key_exchange, bits and forward_secrecy.
ciphers → [protocol] → summary → insecure_cipher_countintegerWith: scan_ciphers
Number of insecure ciphers supported.
ciphers → [protocol] → summary → weak_cipher_countintegerWith: scan_ciphers
Number of weak ciphers supported.
ciphers → [protocol] → summary → strong_cipher_countintegerWith: scan_ciphers
Number of strong ciphers supported.
ciphers → [protocol] → summary → total_supportedintegerWith: scan_ciphers
Total number of ciphers supported for this protocol.
protocol_details → secure_renegotiationbooleanWith: scan_ciphers
Returns true if secure renegotiation is supported.
protocol_details → forward_secrecybooleanWith: scan_ciphers
Returns true if forward secrecy is supported.
protocol_details → rc4booleanWith: scan_ciphers
Returns true if RC4 ciphers are supported.
protocol_details → ocsp_staplingbooleanWith: scan_ciphers
Returns true if OCSP stapling is enabled.
protocol_details → alpnbooleanWith: scan_ciphers
Returns true if ALPN is supported.
protocol_details → alpn_protocolsarrayWith: scan_ciphers
ALPN protocols advertised by the server, e.g. h2.
elapsed_msinteger
Time taken to process the request, in milliseconds.
Optional response fields
Optional request parameters add extra fields to the JSON response, example:
{
"host": "stripe.com",
"scan_ciphers": true
}Each enabled option adds the following fields to the response:
scan_ciphers
Addsciphersprotocol_details
WhereTop levelTop level of the response
Example response for the request payload above:
{
"host": "stripe.com",
"ip": "198.202.176.231",
"port": 443,
"protocols": {
"sslv2": {
"enabled": false,
"recommended_status": "disabled",
"deprecated": true
},
"sslv3": {
"enabled": false,
"recommended_status": "disabled",
"deprecated": true
},
"tlsv1.0": {
"enabled": false,
"recommended_status": "disabled",
"deprecated": true
},
"tlsv1.1": {
"enabled": false,
"recommended_status": "disabled",
"deprecated": true
},
"tlsv1.2": {
"enabled": true,
"recommended_status": "enabled",
"deprecated": false
},
"tlsv1.3": {
"enabled": true,
"recommended_status": "enabled",
"deprecated": false
}
},
"connected": true,
"score": "excellent",
"ciphers": {
"tlsv1.3": {
"ciphers": [
{
"name": "TLS_AES_128_GCM_SHA256",
"hex_code": "0x1301",
"supported": true,
"key_exchange": "ECDH",
"bits": 128,
"forward_secrecy": true
},
{
"name": "TLS_AES_256_GCM_SHA384",
"hex_code": "0x1302",
"supported": true,
"key_exchange": "ECDH",
"bits": 256,
"forward_secrecy": true
},
{
"name": "TLS_CHACHA20_POLY1305_SHA256",
"hex_code": "0x1303",
"supported": true,
"key_exchange": "ECDH",
"bits": 256,
"forward_secrecy": true
}
],
"summary": {
"insecure_cipher_count": 0,
"weak_cipher_count": 0,
"strong_cipher_count": 3,
"total_supported": 3
}
},
"tlsv1.2": {
"ciphers": [
{
"name": "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"hex_code": "0xc030",
"supported": true,
"key_exchange": "ECDH",
"bits": 256,
"forward_secrecy": true
},
{
"name": "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"hex_code": "0xc02f",
"supported": true,
"key_exchange": "ECDH",
"bits": 128,
"forward_secrecy": true
},
{
"name": "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"hex_code": "0xcca8",
"supported": true,
"key_exchange": "ECDH",
"bits": 256,
"forward_secrecy": true
},
{
"name": "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"hex_code": "0xc02b",
"supported": true,
"key_exchange": "ECDH",
"bits": 128,
"forward_secrecy": true
},
{
"name": "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"hex_code": "0xcca9",
"supported": true,
"key_exchange": "ECDH",
"bits": 256,
"forward_secrecy": true
},
{
"name": "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
"hex_code": "0xc014",
"supported": true,
"key_exchange": "ECDH",
"bits": 256,
"forward_secrecy": true,
"weak": true
},
{
"name": "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
"hex_code": "0xc013",
"supported": true,
"key_exchange": "ECDH",
"bits": 128,
"forward_secrecy": true,
"weak": true
},
{
"name": "TLS_RSA_WITH_AES_256_GCM_SHA384",
"hex_code": "0x009d",
"supported": true,
"key_exchange": "RSA",
"bits": 256,
"weak": true
},
{
"name": "TLS_RSA_WITH_AES_128_GCM_SHA256",
"hex_code": "0x009c",
"supported": true,
"key_exchange": "RSA",
"bits": 128,
"weak": true
},
{
"name": "TLS_RSA_WITH_AES_256_CBC_SHA",
"hex_code": "0x0035",
"supported": true,
"key_exchange": "RSA",
"bits": 256,
"weak": true
},
{
"name": "TLS_RSA_WITH_AES_128_CBC_SHA",
"hex_code": "0x002f",
"supported": true,
"key_exchange": "RSA",
"bits": 128,
"weak": true
}
],
"summary": {
"insecure_cipher_count": 0,
"weak_cipher_count": 6,
"strong_cipher_count": 5,
"total_supported": 11
}
},
"tlsv1.1": {
"ciphers": [],
"summary": {
"insecure_cipher_count": 0,
"weak_cipher_count": 0,
"strong_cipher_count": 0,
"total_supported": 0
}
},
"tlsv1.0": {
"ciphers": [],
"summary": {
"insecure_cipher_count": 0,
"weak_cipher_count": 0,
"strong_cipher_count": 0,
"total_supported": 0
}
}
},
"protocol_details": {
"secure_renegotiation": true,
"forward_secrecy": true,
"rc4": false,
"ocsp_stapling": false,
"alpn": true,
"alpn_protocols": [
"h2"
]
},
"elapsed_ms": 402
}