curl --request GET \
--url https://api.urldna.io/v1/scan/{scan_id} \
--header 'authorization: <authorization>'import requests
url = "https://api.urldna.io/v1/scan/{scan_id}"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.urldna.io/v1/scan/{scan_id}', 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.urldna.io/v1/scan/{scan_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.urldna.io/v1/scan/{scan_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.urldna.io/v1/scan/{scan_id}")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.urldna.io/v1/scan/{scan_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"scan": {
"id": "<string>",
"submitted_url": "<string>",
"device": "DESKTOP",
"user_agent": "<string>",
"scanned_from": "<string>",
"origin": "USER",
"width": 123,
"height": 123,
"private_scan": true,
"status": "PENDING",
"submitted_date": "2023-11-07T05:31:56Z",
"domain": "<string>",
"target_url": "<string>",
"protocol": "<string>",
"http_referer": "<string>",
"nsfw": false,
"submitter_tags": [
"<string>"
],
"error_code": "<string>"
},
"certificate": {
"issuer": "<string>",
"not_after": "<string>",
"not_before": "<string>",
"serial_number": "<string>",
"subject": "<string>",
"version": 123,
"authority_info_access": "<string>",
"authority_key_identifier": "<string>",
"basic_constraints": "<string>",
"certificate_policies": "<string>",
"ct_precert_scts": "<string>",
"extended_key_usage": "<string>",
"key_usage": "<string>",
"subject_key_identifier": "<string>"
},
"console_messages": [],
"cookies": [],
"dom": "<string>",
"favicon": {
"format": "<string>",
"height": 123,
"mimetype": "<string>",
"phash": "<string>",
"url": "<string>",
"width": 123,
"blob_uri": "<string>",
"name": "<string>"
},
"http_transactions": [],
"ip_address": {
"ip": "<string>",
"asn": "<string>",
"city": "<string>",
"country": "<string>",
"country_code": "<string>",
"isp": "<string>",
"latitude": 123,
"longitude": 123,
"org": "<string>",
"region": "<string>",
"timezone_gmt": "<string>",
"type": "<string>"
},
"classification": {
"verdict": "<string>"
},
"page": {
"headers": {},
"meta_tags": {},
"outgoing_links": [],
"ssdeep": "<string>",
"text": "<string>",
"title": "<string>"
},
"scan_whois": {
"address": "<string>",
"country": "<string>",
"creation_date": "<string>",
"domain_name": "<string>",
"expiration_date": "<string>",
"name": "<string>",
"org": "<string>",
"registrant_postal_code": "<string>",
"registrar": "<string>",
"state": "<string>",
"updated_date": "<string>"
},
"screenshot": {
"blob_uri": "<string>",
"format": "<string>",
"height": 123,
"mimetype": "<string>",
"phash": "<string>",
"width": 123
},
"redirect_chains": [],
"technologies": []
}{
"detail": "Error description message"
}{
"detail": "Error description message"
}{
"detail": "Error description message"
}{
"detail": "Error description message"
}{
"detail": "Error description message"
}{
"detail": "Error description message"
}Get Scan
Fetches complete scan results for a specific scan ID. Returns scan metadata immediately; full results (certificate, screenshot, etc.) are available once status is DONE. Scans in PENDING or RUNNING states return metadata only.
curl --request GET \
--url https://api.urldna.io/v1/scan/{scan_id} \
--header 'authorization: <authorization>'import requests
url = "https://api.urldna.io/v1/scan/{scan_id}"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.urldna.io/v1/scan/{scan_id}', 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.urldna.io/v1/scan/{scan_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.urldna.io/v1/scan/{scan_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.urldna.io/v1/scan/{scan_id}")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.urldna.io/v1/scan/{scan_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"scan": {
"id": "<string>",
"submitted_url": "<string>",
"device": "DESKTOP",
"user_agent": "<string>",
"scanned_from": "<string>",
"origin": "USER",
"width": 123,
"height": 123,
"private_scan": true,
"status": "PENDING",
"submitted_date": "2023-11-07T05:31:56Z",
"domain": "<string>",
"target_url": "<string>",
"protocol": "<string>",
"http_referer": "<string>",
"nsfw": false,
"submitter_tags": [
"<string>"
],
"error_code": "<string>"
},
"certificate": {
"issuer": "<string>",
"not_after": "<string>",
"not_before": "<string>",
"serial_number": "<string>",
"subject": "<string>",
"version": 123,
"authority_info_access": "<string>",
"authority_key_identifier": "<string>",
"basic_constraints": "<string>",
"certificate_policies": "<string>",
"ct_precert_scts": "<string>",
"extended_key_usage": "<string>",
"key_usage": "<string>",
"subject_key_identifier": "<string>"
},
"console_messages": [],
"cookies": [],
"dom": "<string>",
"favicon": {
"format": "<string>",
"height": 123,
"mimetype": "<string>",
"phash": "<string>",
"url": "<string>",
"width": 123,
"blob_uri": "<string>",
"name": "<string>"
},
"http_transactions": [],
"ip_address": {
"ip": "<string>",
"asn": "<string>",
"city": "<string>",
"country": "<string>",
"country_code": "<string>",
"isp": "<string>",
"latitude": 123,
"longitude": 123,
"org": "<string>",
"region": "<string>",
"timezone_gmt": "<string>",
"type": "<string>"
},
"classification": {
"verdict": "<string>"
},
"page": {
"headers": {},
"meta_tags": {},
"outgoing_links": [],
"ssdeep": "<string>",
"text": "<string>",
"title": "<string>"
},
"scan_whois": {
"address": "<string>",
"country": "<string>",
"creation_date": "<string>",
"domain_name": "<string>",
"expiration_date": "<string>",
"name": "<string>",
"org": "<string>",
"registrant_postal_code": "<string>",
"registrar": "<string>",
"state": "<string>",
"updated_date": "<string>"
},
"screenshot": {
"blob_uri": "<string>",
"format": "<string>",
"height": 123,
"mimetype": "<string>",
"phash": "<string>",
"width": 123
},
"redirect_chains": [],
"technologies": []
}{
"detail": "Error description message"
}{
"detail": "Error description message"
}{
"detail": "Error description message"
}{
"detail": "Error description message"
}{
"detail": "Error description message"
}{
"detail": "Error description message"
}Headers
Path Parameters
Response
Successful Response
Scan configuration and processing metadata.
Show child attributes
Show child attributes
SSL/TLS certificate information for the scanned domain.
Show child attributes
Show child attributes
JavaScript console messages captured during page rendering.
Show child attributes
Show child attributes
HTTP cookies set by the page and its resources.
Show child attributes
Show child attributes
Complete HTML Document Object Model (DOM) of the rendered page.
Favicon metadata and perceptual hash for similarity matching.
Show child attributes
Show child attributes
All HTTP requests and responses observed during page load.
Show child attributes
Show child attributes
IP address and geolocation details of the hosting server.
Show child attributes
Show child attributes
Classification assessment indicating potential malicious activity.
Show child attributes
Show child attributes
Extracted page content and metadata.
Show child attributes
Show child attributes
Domain registration information from WHOIS records.
Show child attributes
Show child attributes
Visual screenshot of the rendered webpage.
Show child attributes
Show child attributes
Complete redirect chain from submitted URL to final destination.
Show child attributes
Show child attributes
Web technologies detected on the page.
Show child attributes
Show child attributes
