curl --request POST \
--url https://api.baselayer.com/website_analysis_requests \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"url": "<string>"
}
'import requests
url = "https://api.baselayer.com/website_analysis_requests"
payload = { "url": "<string>" }
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: '<string>'})
};
fetch('https://api.baselayer.com/website_analysis_requests', 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.baselayer.com/website_analysis_requests",
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' => '<string>'
]),
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.baselayer.com/website_analysis_requests"
payload := strings.NewReader("{\n \"url\": \"<string>\"\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.baselayer.com/website_analysis_requests")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.baselayer.com/website_analysis_requests")
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\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state": "PENDING",
"created_at": "2026-08-31T10:31:07.779884",
"updated_at": "2026-08-31T10:31:07.779896",
"url": "http://www.ray.com/",
"business_id": "58ee7b3f-f960-4080-87e0-c969557e3732",
"reference_id": "Search1234",
"website_analysis": {
"addresses": [],
"console_url": "https://console.baselayer.com/business/da832aea-1f7c-11ef-9f4b-1edb1b067314/website_analysis",
"emails": [
"njohnson@example.net"
],
"id": "3db27125-e8ae-4283-a129-453a7c576fd2",
"parked": false,
"people": [],
"phone_numbers": [
"285.302.6793"
],
"screenshot_url": "https://api.baselayer.com/business/da832aea-1f7c-11ef-9f4b-1edb1b067314/website_analysis/screenshot",
"social_profiles": [],
"ssl_validity": {
"cert_age_days": 245,
"certificate_type": "OV",
"days_until_expiry": 120,
"expiry_date": "2025-03-01T00:00:00",
"is_revoked": false,
"is_self_signed": false,
"is_valid": true,
"is_wildcard": false,
"issued_date": "2024-03-01T00:00:00",
"issuer": "DigiCert Inc",
"key_size": 2048,
"subject": "mitchell.com",
"tls_version": "TLSv1.3"
},
"url": "http://mitchell.com/",
"website_structure_metrics": {
"breadth": "15+",
"depth": "2+"
},
"whois_record": {
"domain_created_at": "2020-05-15T10:30:00",
"domain_expires_at": "2025-05-15T10:30:00",
"domain_updated_at": "2023-06-01T14:45:00",
"registrar": "Example Registrar Inc."
}
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Post Website Analysis
Submit a website analysis request against a URL.
curl --request POST \
--url https://api.baselayer.com/website_analysis_requests \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"url": "<string>"
}
'import requests
url = "https://api.baselayer.com/website_analysis_requests"
payload = { "url": "<string>" }
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: '<string>'})
};
fetch('https://api.baselayer.com/website_analysis_requests', 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.baselayer.com/website_analysis_requests",
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' => '<string>'
]),
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.baselayer.com/website_analysis_requests"
payload := strings.NewReader("{\n \"url\": \"<string>\"\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.baselayer.com/website_analysis_requests")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.baselayer.com/website_analysis_requests")
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\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state": "PENDING",
"created_at": "2026-08-31T10:31:07.779884",
"updated_at": "2026-08-31T10:31:07.779896",
"url": "http://www.ray.com/",
"business_id": "58ee7b3f-f960-4080-87e0-c969557e3732",
"reference_id": "Search1234",
"website_analysis": {
"addresses": [],
"console_url": "https://console.baselayer.com/business/da832aea-1f7c-11ef-9f4b-1edb1b067314/website_analysis",
"emails": [
"njohnson@example.net"
],
"id": "3db27125-e8ae-4283-a129-453a7c576fd2",
"parked": false,
"people": [],
"phone_numbers": [
"285.302.6793"
],
"screenshot_url": "https://api.baselayer.com/business/da832aea-1f7c-11ef-9f4b-1edb1b067314/website_analysis/screenshot",
"social_profiles": [],
"ssl_validity": {
"cert_age_days": 245,
"certificate_type": "OV",
"days_until_expiry": 120,
"expiry_date": "2025-03-01T00:00:00",
"is_revoked": false,
"is_self_signed": false,
"is_valid": true,
"is_wildcard": false,
"issued_date": "2024-03-01T00:00:00",
"issuer": "DigiCert Inc",
"key_size": 2048,
"subject": "mitchell.com",
"tls_version": "TLSv1.3"
},
"url": "http://mitchell.com/",
"website_structure_metrics": {
"breadth": "15+",
"depth": "2+"
},
"whois_record": {
"domain_created_at": "2020-05-15T10:30:00",
"domain_expires_at": "2025-05-15T10:30:00",
"domain_updated_at": "2023-06-01T14:45:00",
"registrar": "Example Registrar Inc."
}
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Headers
Request execution preference (RFC 7240). Use respond-async for asynchronous execution, wait=N to specify a synchronous timeout hint in seconds, or priority=low to route the task to the low-priority queue.
"respond-async"
Body
The URL of the website that was analyzed.
1Response
Response
The ID of the Website Analysis request
The status of the Website Analysis request
PENDING, EXECUTING, COMPLETED, FAILED, CANCELLED The date and time when the Website Analysis was created.
"2026-08-31T10:31:07.779884"
The most recent date and time when the Website Analysis was updated.
"2026-08-31T10:31:07.779896"
The website URL that was analyzed as part of the Search.
1"http://www.ray.com/"
If the website analysis was performed on a business's website, this will be the ID of the business.
"58ee7b3f-f960-4080-87e0-c969557e3732"
An optional reference ID associated with this request, inherited from the parent search.
"Search1234"
The details of the website analysis.
Show child attributes
Show child attributes
{
"addresses": [],
"console_url": "https://console.baselayer.com/business/da832aea-1f7c-11ef-9f4b-1edb1b067314/website_analysis",
"emails": ["njohnson@example.net"],
"id": "3db27125-e8ae-4283-a129-453a7c576fd2",
"parked": false,
"people": [],
"phone_numbers": ["285.302.6793"],
"screenshot_url": "https://api.baselayer.com/business/da832aea-1f7c-11ef-9f4b-1edb1b067314/website_analysis/screenshot",
"social_profiles": [],
"ssl_validity": {
"cert_age_days": 245,
"certificate_type": "OV",
"days_until_expiry": 120,
"expiry_date": "2025-03-01T00:00:00",
"is_revoked": false,
"is_self_signed": false,
"is_valid": true,
"is_wildcard": false,
"issued_date": "2024-03-01T00:00:00",
"issuer": "DigiCert Inc",
"key_size": 2048,
"subject": "mitchell.com",
"tls_version": "TLSv1.3"
},
"url": "http://mitchell.com/",
"website_structure_metrics": { "breadth": "15+", "depth": "2+" },
"whois_record": {
"domain_created_at": "2020-05-15T10:30:00",
"domain_expires_at": "2025-05-15T10:30:00",
"domain_updated_at": "2023-06-01T14:45:00",
"registrar": "Example Registrar Inc."
}
}