Check for mixed content on a site
curl --request POST \
--url https://api.geekflare.com/mixedcontent \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"url": "https://example.com",
"followRedirect": false,
"proxyCountry": "us"
}
'import requests
url = "https://api.geekflare.com/mixedcontent"
payload = {
"url": "https://example.com",
"followRedirect": False,
"proxyCountry": "us"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({url: 'https://example.com', followRedirect: false, proxyCountry: 'us'})
};
fetch('https://api.geekflare.com/mixedcontent', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.geekflare.com/mixedcontent",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'url' => 'https://example.com',
'followRedirect' => false,
'proxyCountry' => 'us'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.geekflare.com/mixedcontent"
payload := strings.NewReader("{\n \"url\": \"https://example.com\",\n \"followRedirect\": false,\n \"proxyCountry\": \"us\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.geekflare.com/mixedcontent")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://example.com\",\n \"followRedirect\": false,\n \"proxyCountry\": \"us\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.geekflare.com/mixedcontent")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"https://example.com\",\n \"followRedirect\": false,\n \"proxyCountry\": \"us\"\n}"
response = http.request(request)
puts response.read_body{
"timestamp": 1783943217189,
"apiStatus": "success",
"apiCode": 200,
"message": "Mixed content(s) found.",
"meta": {
"url": "https://example.com",
"test": {
"id": "mxqx9v9y0742lap6altwdteqd28t23nq"
},
"proxyCountry": "United States",
"followRedirect": true,
"redirectedURL": "https://example.com/"
},
"data": [
"https://example.com/",
"https://example.com/style.css",
"https://example.com/script.js"
]
}{
"timestamp": 1700000000000,
"apiStatus": "failure",
"apiCode": 400,
"message": "INVALID_URL",
"details": "The URL must be a valid HTTP or HTTPS URL."
}{
"timestamp": 1700000000000,
"apiStatus": "failure",
"apiCode": 422,
"message": "UNABLE_TO_CONNECT",
"details": "The destination server could not be resolved, refused the connection, timed out, or is redirecting indefinitely."
}{
"timestamp": 1700000000000,
"apiStatus": "failure",
"apiCode": 500,
"message": "MIXED_CONTENT_CHECK_FAILED",
"details": "Unable to analyze the target webpage for mixed content."
}Endpoint
Mixed Content
POST
/
mixedcontent
Check for mixed content on a site
curl --request POST \
--url https://api.geekflare.com/mixedcontent \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"url": "https://example.com",
"followRedirect": false,
"proxyCountry": "us"
}
'import requests
url = "https://api.geekflare.com/mixedcontent"
payload = {
"url": "https://example.com",
"followRedirect": False,
"proxyCountry": "us"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({url: 'https://example.com', followRedirect: false, proxyCountry: 'us'})
};
fetch('https://api.geekflare.com/mixedcontent', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.geekflare.com/mixedcontent",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'url' => 'https://example.com',
'followRedirect' => false,
'proxyCountry' => 'us'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.geekflare.com/mixedcontent"
payload := strings.NewReader("{\n \"url\": \"https://example.com\",\n \"followRedirect\": false,\n \"proxyCountry\": \"us\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.geekflare.com/mixedcontent")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://example.com\",\n \"followRedirect\": false,\n \"proxyCountry\": \"us\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.geekflare.com/mixedcontent")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"https://example.com\",\n \"followRedirect\": false,\n \"proxyCountry\": \"us\"\n}"
response = http.request(request)
puts response.read_body{
"timestamp": 1783943217189,
"apiStatus": "success",
"apiCode": 200,
"message": "Mixed content(s) found.",
"meta": {
"url": "https://example.com",
"test": {
"id": "mxqx9v9y0742lap6altwdteqd28t23nq"
},
"proxyCountry": "United States",
"followRedirect": true,
"redirectedURL": "https://example.com/"
},
"data": [
"https://example.com/",
"https://example.com/style.css",
"https://example.com/script.js"
]
}{
"timestamp": 1700000000000,
"apiStatus": "failure",
"apiCode": 400,
"message": "INVALID_URL",
"details": "The URL must be a valid HTTP or HTTPS URL."
}{
"timestamp": 1700000000000,
"apiStatus": "failure",
"apiCode": 422,
"message": "UNABLE_TO_CONNECT",
"details": "The destination server could not be resolved, refused the connection, timed out, or is redirecting indefinitely."
}{
"timestamp": 1700000000000,
"apiStatus": "failure",
"apiCode": 500,
"message": "MIXED_CONTENT_CHECK_FAILED",
"details": "Unable to analyze the target webpage for mixed content."
}Authorizations
API Key required for all endpoints
Body
application/json
Response
Site status retrieved successfully
Timestamp of the request in milliseconds
Example:
1783943217189
API status message
Available options:
success, failure Example:
"success"
API status code
Example:
200
Indicates whether mixed content found or not. It can either be "Mixed content(s) found." or "No mixed content found."
Example:
"Mixed content(s) found."
Metadata about the mixed content test
Show child attributes
Show child attributes
Contains either an array of all resources (when no mixed content) or an object with insecure/secure arrays (when mixed content found)
Example:
[
"https://example.com/",
"https://example.com/style.css",
"https://example.com/script.js"
]
⌘I