To get all your properties use this get API.
GET https://api.hexometer.com/v2/app/services/v1/properties?key={YOUR_API_KEY}
Fields | |
---|---|
YOUR_API_KEY | string to get YOUR_API_KEY visit hexometer select desired property then go to settings and copy your API key |
if request is successful you will get
{
"error": false,
"properties": [
Propertiy
]
}
Fields | |
---|---|
error | boolean if the error returns false, it means that no error has occurred |
Propertiy [] | object(Propertiy) Propertiy represents a propertiy object |
Propertiy object structure
Propertiy = {
"propertiy_id": Number,
"propertiy_address": String
}
Fields | |
---|---|
propertiy_id | number propertiy id |
propertiy_address | string URL address |
{
"error": false,
"properties": [
{
"propertiy_id": 8,
"propertiy_address": "test.io",
},
{
"propertiy_id": 9,
"propertiy_address": "https://example.com",
}
]
}
if request is not successful you will get
{
"error": true,
"message": String
}
Fields | |
---|---|
error | boolean if the error returns true, it means that an error has occurred |
message | string the message contains information about the error |
{
"error": true,
"message": "invalid API key"
}
To get your property's links HTTP statuses use this get API.
POST https://api.hexometer.com/v2/app/services/v1/health_links/statuses?key={YOUR_API_KEY}
Fields | |
---|---|
YOUR_API_KEY | string to get YOUR_API_KEY visit hexometer select desired property then go to settings and copy your API key |
Fields | |
---|---|
property_id | number you should provide property id |
{
"property_id": 25
}
if request is successful you will get
{
"error": false,
"links_statuses": [
Number
]
}
Fields | |
---|---|
error | boolean if the error returns false, it means that no error has occurred |
Number [] | number(Number) Number represents an interger |
{
"error": false,
"links_statuses": [
200,
999
]
}
if request is not successful you will get
{
"error": true,
"message": String
}
Fields | |
---|---|
error | boolean if the error returns true, it means that an error has occurred |
message | string the message contains information about the error |
{
"error": true,
"message": "invalid API key"
}
To get website links use this get API.
POST https://api.hexometer.com/v2/app/services/v1/health_links?key={YOUR_API_KEY}
Fields | |
---|---|
YOUR_API_KEY | string to get YOUR_API_KEY visit hexometer select desired property then go to settings and copy your API key |
Fields | |
---|---|
property_id | number you should provide property id |
status | number you should provide HTTP status number |
{
"property_id": 25,
"status": 200
}
if request is successful you will get
{
"error": false,
"links": [
Link
]
}
Fields | |
---|---|
error | boolean if the error returns false, it means that no error has occurred |
Link [] | object(Link) Link represents a link object |
Link object structure
Link = {
"metaTags": {
"open_graph": Array,
"twitter_card": Array,
"description": null | String
},
"error": null | String,
"url": null | String,
"fileType": null | String,
"redirectUrl": null | String,
"parent_url": null | String,
"status": Number,
"contentType": null | String,
"contentLength": Number,
"internal": Boolean,
"nofollow": Boolean,
"createdAt": String,
}
Fields | |
---|---|
metaTags | object consists of open graph, twitter card arrays and description field |
error | null | string null or error text |
URL | null | string link URL |
filetype | null | string file type |
redirectUrl | null |string redirect URL |
parent_url | null | string website base URL |
status | number status code |
contentType | null | string content type |
contentLength | number content length |
internal | boolean internal link |
nofollow | boolean nofollow link |
createdAt | string link creation date |
{
"error": false,
"links": [
{
"metaTags": {
"open_graph": [],
"twitter_card": [],
"description": null,
},
"error": null,
"url": "https://www.example.com/company",
"fileType": "html",
"redirectUrl": "https://www.example.com/company",
"parent_url": "https://example.io",
"status": 999,
"contentType": "text/html",
"contentLength": 1529,
"internal": false,
"nofollow": false,
"createdAt": "2021-07-02T13:51:08.023Z"
}
]
}
{
"error": false,
"links": [
{
"metaTags": {
"open_graph": [],
"twitter_card": [
{
"name": "twitter:image",
"isExists": true",
"content": "https://example.io/example.jpg"
},
{
"name": "twitter:title",
"isExists": true",
"content": "Available Vacancies at company"
}
]
"description": We are looking for dedicated and inovative people to become a part of growing team
},
"error": null,
"url": "https://www.example.com/company",
"fileType": "html",
"redirectUrl": "https://www.example.com/company",
"parent_url": "https://example.io",
"status": 999,
"contentType": "text/html",
"contentLength": 1529,
"internal": false,
"nofollow": false,
"createdAt": "2021-07-02T13:51:08.023Z"
}
]
}
if request is not successful you will get
{
"error": true,
"message": String
}
Fields | |
---|---|
error | boolean if the error returns true, it means that an error has occurred |
message | string the message contains information about the error |
{
"error": true,
"message": "invalid API key"
}
To get detected errors use this get API.
POST https://api.hexometer.com/v2/app/services/v1/detected_errors?key={YOUR_API_KEY}
Fields | |
---|---|
YOUR_API_KEY | string to get YOUR_API_KEY visit hexometer select desired property then go to settings and copy your API key |
Fields | |
---|---|
tool_name | string you should provide the specific tool name to get the corresponding error. In this case "Security_Domain_&_DNS" |
property_id | number you should provide property id |
{
"tool_name": "Security_Domain_&_DNS",
"property_id": 25
}
if request is successful you will get
{
"tool_logs": [
DomainWhoisTool,
IpExtractionTool
]
}
Fields | |
---|---|
DomainWhoisTool | object(DomainWhoisTool) DomainWhoisTool represents a domainWhoisTool object |
IpExtractionTool | object(IpExtractionTool) IpExtractionTool represents an ipExtractionTool object |
DomainWhoisTool object structure
DomainWhoisTool = {
"domainWhoisTool": {
"error": null | Object,
"url": String,
"domain": String,
"status": String,
"exists": Boolean,
"expiresAt": String,
"expirationDays": Boolean,
"lastModified": String,
"registeredAt": String,
"fullText": String,
"dnsData": String
}
}
Fields | |
---|---|
error | null | object if an error exists an object is returned with error code(string) and message(string) |
url | string website url |
domain | string domain name |
status | string domain status |
exists | boolean true if domain exists |
expiresAt | string domain expire date |
expirationDays | string days till expire |
lastModified | string last modified date |
registeredAt | string registered date |
fullText | string additional info (JSON) |
IpExtractionTool object structure
IpExtractionTool = {
"ipExtractionTool": {
"error": null | Object,
"resolveInfo": [
{
"ip": String,
"address": String,
"country": Boolean,
"createdAt": String,
"lastModified": String,
"hostnames": Array,
"ipRange": String,
"company": String,
"ipInBlackList": Boolean,
"ipBlackList": Array
}
]
}
}
Fields | |
---|---|
error | null | object if an error exists an object is returned with error code(string) and message(string) |
ip | string website ip |
address | string website address |
country | string website country |
createdAt | string website creation date |
lastModified | string website last modified date |
hostnames | array host name list |
ipRange | string your ip range |
company | string company name |
ipInBlackList | boolean describe |
ipBlackList | array list of IP black lists |
{
"tool_logs": [
{
"domainWhoisTool": {
"error": null,
"url": "example.io",
"domain": "example.io",
"status": "Registered",
"exists": true,
"expiresAt": "2023-01-19T06:23:59.000Z",
"expirationDays": "561",
"lastModified": "2021-02-07T10:33:30.000Z",
"registeredAt": "2019-01-19T06:23:59.000Z",
"fullText": "example text",
"dnsData": "example text"
}
},
{
"ipExtractionTool": {
"error": null,
"resolveInfo": [
{
"ip": "100.21.84.99",
"address": "see http://www.example.org.",
"country": "EU",
"createdAt": "2019-02-04T15:28:58Z",
"lastModified": "2019-02-04T15:28:58Z,
"hostnames": [],
"ipRange": "100.252.92.0 - 104.37.31.255",
"company": "Internet Assigned Numbers Authority",
"ipInBlackList": false,
"ipBlackList": []
},
{
"ip": "100.21.84.99",
"address": "see http://www.example.org.",
"country": "US",
"createdAt": "2018-02-04T15:28:58Z",
"lastModified": "2019-02-04T15:28:58Z,
"hostnames": [],
"ipRange": "100.252.92.0 - 104.37.31.255",
"company": "Internet Assigned Numbers Authority",
"ipInBlackList": false,
"ipBlackList": []
}
]
}
}
]
}
if request is not successful you will get
{
"error": true,
"message": String
}
Fields | |
---|---|
error | boolean if the error returns true, it means that an error has occurred |
message | string the message contains information about the error |
{
"error": true,
"message": "invalid API key"
}
POST https://api.hexometer.com/v2/app/services/v1/detected_errors?key={YOUR_API_KEY}
Fields | |
---|---|
YOUR_API_KEY | string to get YOUR_API_KEY visit hexometer select desired property then go to settings and copy your api key |
Fields | |
---|---|
tool_name | string you should provide the specific tool name to get the corresponding error. In this case "Health_Tech_Stack" |
property_id | number you should provide property id |
{
"tool_name": "Health_Tech_Stack",
"property_id": 25
}
if request is successful you will get
{
"tool_logs": [
HealthTechStack
]
}
Fields | |
---|---|
HealthTechStack | object(HealthTechStack) HealthTechStack represents a healthTechStack object |
HealthTechStack object structure
HealthTechStack = {
"techStackTool": {
"error": null | Object,
"applications": [
{
"name": String,
"confidence": Boolean,
"version": null | String,
"icon": String,
"website": String,
"categories": Array
}
],
}
}
Fields | |
---|---|
error | null | object if an error exists an object is returned with error code(string) and message(string) |
applications | array applications list |
{
"tool_logs": [
{
"techStackTool": {
"error": null,
"applications": [
{
"name": "CloudFlare",
"confidence": "100",
"version": null,
"icon": "CloudFlare.svg",
"website": "http://www.cloudflare.com",
"categories": [
"CDN"
]
}
]
}
}
]
}
if request is not successful you will get
{
"error": true,
"message": String
}
Fields | |
---|---|
error | boolean if the error returns true, it means that an error has occurred |
message | string the message contains information about the error |
{
"error": true,
"message": "invalid API key"
}
POST https://api.hexometer.com/v2/app/services/v1/detected_errors?key={YOUR_API_KEY}
Fields | |
---|---|
YOUR_API_KEY | string to get YOUR_API_KEY visit hexometer select desired property then go to settings and copy your api key |
Fields | |
---|---|
tool_name | string you should provide the specific tool name to get the corresponding error. In this case "Health_W3C" |
property_id | number you should provide property id |
{
"tool_name": "Health_W3C",
"property_id": 25
}
if request is successful you will get
{
"tool_logs": [
HealthW3C
]
}
Fields | |
---|---|
HealthW3C | object(HealthW3C) HealthW3C represents a healthW3C object |
HealthW3C object structure
HealthW3C = {
"w3cCheckTool": {
"error": null | Object,
"validatorErrors": [
{
"subType": String,
"type": Boolean,
"explanation": String,
"position": Object,
"extract": String,
}
]
}
}
Fields | |
---|---|
error | null | object if an error exists an object is returned with error code(string) and message(string) |
validatorErrors | array validator errors list |
{
"tool_logs": [
{
"w3cCheckTool": {
"error": null | Object,
"validatorErrors": [
{
"subType": "",
"type": "error",
"explanation": "No 'p' element in scope but a 'p' end tag seen.",
"position": {
"lastLine": 132,
"firstColumn": 1,
"lastColumn": 4
},
"extract": "<li></ul></p></div"
}
]
}
}
]
}
if request is not successful you will get
{
"error": true,
"message": String
}
Fields | |
---|---|
error | boolean if the error returns true, it means that an error has occurred |
message | string the message contains information about the error |
{
"error": true,
"message": "invalid API key"
}
POST https://api.hexometer.com/v2/app/services/v1/detected_errors?key={YOUR_API_KEY}
Fields | |
---|---|
YOUR_API_KEY | string to get YOUR_API_KEY visit hexometer select desired property then go to settings and copy your api key |
Fields | |
---|---|
tool_name | string you should provide the specific tool name to get the corresponding error. In this case "Health_JavaScript_Errors" |
property_id | number you should provide property id |
{
"tool_name": "Health_JavaScript_Errors",
"property_id": 25
}
if request is successful you will get
{
"tool_logs": [
HealthJavaScriptErrors
]
}
Fields | |
---|---|
HealthJavaScriptErrors | object(HealthJavaScriptErrors) HealthJavaScriptErrors represents a healthJavaScriptErrors object |
HealthJavaScriptErrors object structure
HealthJavaScriptErrors = {
"JsErrorsTool": {
"error": null | Object,
"allConsoleMsgs": Array
}
}
}
Fields | |
---|---|
error | null | object if an error exists an object is returned with error code(string) and message(string) |
allConsoleMsgs | array console messages list |
{
"tool_logs": [
{
"JsErrorsTool": {
"error": null,
"allConsoleMsgs": []
}
}
]
}
if request is not successful you will get
{
"error": true,
"message": String
}
Fields | |
---|---|
error | boolean if the error returns true, it means that an error has occurred |
message | string the message contains information about the error |
{
"error": true,
"message": "invalid API key"
}
POST https://api.hexometer.com/v2/app/services/v1/detected_errors?key={YOUR_API_KEY}
Fields | |
---|---|
YOUR_API_KEY | string to get YOUR_API_KEY visit hexometer select desired property then go to settings and copy your api key |
Fields | |
---|---|
tool_name | string you should provide the specific tool name to get the corresponding error. In this case "SEO_URL_Checker" |
property_id | number you should provide property id |
{
"tool_name": "SEO_URL_Checker",
"property_id": 25
}
if request is successful you will get
{
"tool_logs": [
SEOURLChecker
]
}
Fields | |
---|---|
SEOURLChecker | object(SEOURLChecker) SEOURLChecker represents a SEOURLChecker object |
SEOURLChecker object structure
SEOURLChecker = {
"urlCheckerTool": {
"error": null | Object,
"favicon": Object,
"redirectUrl": String,
"canonicalUrl": Boolean,
"isHttps": Boolean,
"socialNetworks": Array,
"robotsTXT": Boolean,
"openGraphMetaTags": Array,
"twitterCardMetaTags": Array,
}
}
Fields | |
---|---|
error | null | object if an error exists an object is returned with error code(string) and message(string) |
favicon | object website favicon url |
redirectUrl | string redirect url |
canonicalUrl | boolean true if website has canonicalUrl |
isHttps | boolean true if website has SSL certificate |
socialNetworks | array social network url list |
robotsTXT | boolean true if website has robotsTXT file |
openGraphMetaTags | array open graph meta tags list |
twitterCardMetaTags | array twitter card meta tags list |
{
"tool_logs": [
{
"urlCheckerTool": {
"error": null,
"favicon": {
"favicon": "https://example.com/apple-touch-icon.png",
"hasIcon": true
},
"redirectUrl": "https://example.com/",
"canonicalUrl": true,
"isHttps": true,
"socialNetworks": [
{
"name": "instagram",
"url": "https://www.instagram.com/example/"
}
],
"robotsTXT": true,
"openGraphMetaTags": [
{
"name": "og:url",
"isExists": true,
"content": "https://www.example.com"
}
],
"twitterCardMetaTags": [
{
"name": "twitter:card",
"isExists": true,
"content": "summary_large_image"
}
],
"twitterCardMetaTags": {
"is_redirect":true,
"redirect_url": "https://www.example.com"
}
}
}
]
}
if request is not successful you will get
{
"error": true,
"message": String
}
Fields | |
---|---|
error | boolean if the error returns true, it means that an error has occurred |
message | string the message contains information about the error |
{
"error": true,
"message": "invalid API key"
}
POST https://api.hexometer.com/v2/app/services/v1/detected_errors?key={YOUR_API_KEY}
Fields | |
---|---|
YOUR_API_KEY | string to get YOUR_API_KEY visit hexometer select desired property then go to settings and copy your api key |
Fields | |
---|---|
tool_name | string you should provide the specific tool name to get the corresponding error. In this case "Security_IP_Address_Blacklist" |
property_id | number you should provide property id |
{
"tool_name": "Security_IP_Address_Blacklist",
"property_id": 25
}
if request is successful you will get
{
"tool_logs": [
SecurityIPAddressBlacklist
]
}
Fields | |
---|---|
SecurityIPAddressBlacklist | object(SecurityIPAddressBlacklist) SecurityIPAddressBlacklist represents a securityIPAddressBlacklist object |
SecurityIPAddressBlacklist object structure
SecurityIPAddressBlacklist = {
"ipExtractionTool": {
"error": null | Object,
"resolveInfo": [
{
"ip": String,
"address": String,
"country": String,
"createdAt": String,
"lastModified": String,
"hostnames": Array,
"ipRange": String,
"company": String,
"ipInBlackList": Boolean,
"ipBlackList": Array
}
]
}
}
Fields | |
---|---|
error | null | object if an error exists an object is returned with error code(string) and message(string) |
ip | string IP |
address | string URL address |
country | string country |
createdAt | string creation date |
lastModified | string last modified time |
hostnames | array hostname list |
ipRange | string range of IPs |
company | string company |
ipInBlackList | boolean true if IP is on black list |
ipBlackList | array IP black lists list |
{
"tool_logs": [
{
"ipExtractionTool": {
"error": null,
"resolveInfo": [
{
"ip": "100.21.84.00",
"address": "see http://www.example.org.",
"country": "EU",
"createdAt": "2019-02-04T15:28:58Z",
"lastModified": "2019-02-04T15:28:58Z",
"hostnames": [],
"ipRange": "03.252.92.0 - 100.37.31.255",
"company": "internet Assigned Numbers Authority",
"ipInBlackList": false,
"ipBlackList": []
}
]
}
}
]
}
if request is not successful you will get
{
"error": true,
"message": String
}
Fields | |
---|---|
error | boolean if the error returns true, it means that an error has occurred |
message | string the message contains information about the error |
{
"error": true,
"message": "invalid API key"
}
POST https://api.hexometer.com/v2/app/services/v1/detected_errors?key={YOUR_API_KEY}
Fields | |
---|---|
YOUR_API_KEY | string to get YOUR_API_KEY visit hexometer select desired property then go to settings and copy your api key |
Fields | |
---|---|
tool_name | string you should provide the specific tool name to get the corresponding error. In this case "Security_SSL_Certificate" |
property_id | number you should provide property id |
{
"tool_name": "Security_SSL_Certificate",
"property_id": 25
}
if request is successful you will get
{
"tool_logs": [
SecuritySSLCertificate
]
}
Fields | |
---|---|
SecuritySSLCertificate | object(SecuritySSLCertificate) SecuritySSLCertificate represents a SecuritySSLCertificate object |
SecuritySSLCertificate object structure
SecuritySSLCertificate = {
"sslExtractionTool": {
"error": null | Object,
"protocol": String,
"cipher": String,
"issuer": String,
"subjectName": String,
"sanList": Array,
"validFrom": String,
"validTo": String,
"serialNumber": String,
"bits": Number
}
}
Fields | |
---|---|
error | null | object if an error exists an object is returned with error code(string) and message(string) |
protocol | string protocol |
cipher | string cipher |
issuer | string cloudflare destination issue |
subjectName | string subject name |
sanList | array cloudflare san list |
validFrom | string ssl validation date |
validTo | string ssl validation date |
serialNumber | string serial number |
bits | number bit count |
{
"tool_logs": [
{
"sslExtractionTool": {
"error": null,
"protocol": "TLSv1.3",
"cipher": "TLS_AES_256_GCM_SHA384",
"issuer": "US, Cloudflare, Inc., Cloudflare Inc ECC CA-3",
"subjectName": "sni.cloudflaressl.com",
"sanList": [
"sni.cloudflaressl.com",
"exapmle.com",
"*.exapmle.com"
],
"validFrom": "2022-06-10T23:50:59.000Z",
"validTo": "2022-06-10T23:59:59.000Z",
"serialNumber": "012C446D5584DB4D602A548E0DA4522B",
"bits": 256
}
}
]
}
if request is not successful you will get
{
"error": true,
"message": String
}
Fields | |
---|---|
error | boolean if the error returns true, it means that an error has occurred |
message | string the message contains information about the error |
{
"error": true,
"message": "invalid API key"
}
POST https://api.hexometer.com/v2/app/services/v1/detected_errors?key={YOUR_API_KEY}
Fields | |
---|---|
YOUR_API_KEY | string to get YOUR_API_KEY visit hexometer select desired property then go to settings and copy your api key |
Fields | |
---|---|
tool_name | string you should provide the specific tool name to get the corresponding error. In this case "Security_Headers" |
property_id | number you should provide property id |
{
"tool_name": "Security_Headers",
"property_id": 25
}
if request is successful you will get
{
"tool_logs": [
SecurityHeaders
]
}
Fields | |
---|---|
SecurityHeaders | object(SecurityHeaders) SecurityHeaders represents a SecurityHeaders object |
SecurityHeaders object structure
SecurityHeaders = {
"securityHeadersTool": {
"error": null | Object,
"allHeaders": Object,
"authenticationHeaders": Array,
"securityHeaders": Array,
"cachingHeaders": Array,
"conditionalsHeaders": Array,
"connectionHeaders": Array,
"cookies": Array,
"cors": Array,
"messageBodyHeaders": Array,
"responseContextHeaders": Array
}
}
Fields | |
---|---|
error | null | object if an error exists an object is returned with error code(string) and message(string) |
allHeaders | object all headers info |
authenticationHeaders | array authentication headers list |
securityHeaders | array security headers list |
cachingHeaders | array caching headers list |
conditionalsHeaders | array conditionals headers list |
connectionHeaders | array connection headers list |
cookies | array cookies list |
cors | array cors list |
messageBodyHeaders | array message body headers list |
responseContextHeaders | array response context headers list |
{
"tool_logs": [
{
"securityHeadersTool": {
"error": null,
"allHeaders": {
"date": "Tue, 06 Jul 2021 15:03:53 GMT",
"content-type": "text/html; charset=utf-8",
"transfer-encoding": "chunked",
"connection": "close",
"cf-ray": "56a9b8ec4a1415ee-DME" ,
"cache-control": "max-age=3600",
"last-modified": "Mon, 21 Jun 2021 14:18:14 GMT",,
"set-cookie": ["HttpOnly;Secure;SameSite=Strict"],
"strict-transport-security": "max-age=2000",
"vary": "x-fh-requested-host, accept-encoding",
"cf-cache-status": "DYNAMIC",
"content-security-policy": ,
"policy": "upgrade-insecure-requests",
"expect-ct": "max-age=604800, report-uri='https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct'",
"feature-policy": "usermedia *",
"referrer-policy": "strict-origin-when-cross-origin",
"x-cache": "HIT",
"x-cache-hits": "2",
"x-content-type-options": "nosniff",
"x-frame-options": "sameorigin",
"x-served-by": cache-ams21062-AMS",
"timer": "S1625583833.130368,VS0,VE0",
"x-xss-protection": "1; mode=block",
"report-to": "{"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v2?s=dsvQENRDbbg4gqKR9oHpMjekbomuWt543ORYf5pPYr8Xw8DUfGs%2BRtskRL7sAbHefs7aVGqpjNvJ8MhkVqWtZjjSA8S5FbQ%2F3hEZRAO0H2LMq4jjLhj8"}],"group":"cf-nel","max_age":604800}",
"nel": "{"report_to":"cf-nel","max_age":604800}" ,
"server":"cloudflare",
"content-encoding": "gzip",
"alt-svc": "h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; ma=86400",
},
"authenticationHeaders": [
{
"headerName": "www-authenticate",
"isExists": true,
"headerValue": ""
}
],
"securityHeaders": [
{
"headerName": "content-security-policy",
"isExists": false,
"headerValue": "strict-origin-when-cross-origin"
}
],
"cachingHeaders": [
{
"headerName": "age",
"isExists": false,
"headerValue": ""
}
],
"conditionalsHeaders": [
{
"headerName": "last-modified",
"isExists": true,
"headerValue": "Mon, 21 Jun 2021 14:18:14 GMT"
}
],
"connectionHeaders": [
{
"headerName": "connection",
"isExists": true,
"headerValue": "close"
}
],
"cookies": [
{
"headerName": "set-cookie",
"isExists": true,
"headerValue": "["HttpOnly;Secure;SameSite=Strict"]"
}
],
"cors": [
{
"headerName": "access-control-allow-origin",
"isExists": false,
"headerValue": ""
}
],
"messageBodyHeaders": [
{
"headerName": "content-length",
"isExists": false,
"headerValue": ""
}
],
"responseContextHeaders": [
{
"headerName": "allow",
"isExists": false,
"headerValue": ""
}
]
}
}
]
}
if request is not successful you will get
{
"error": true,
"message": String
}
Fields | |
---|---|
error | boolean if the error returns true, it means that an error has occurred |
message | string the message contains information about the error |
{
"error": true,
"message": "invalid API key"
}
POST https://api.hexometer.com/v2/app/services/v1/detected_errors?key={YOUR_API_KEY}
Fields | |
---|---|
YOUR_API_KEY | string to get YOUR_API_KEY visit hexometer select desired property then go to settings and copy your api key |
Fields | |
---|---|
tool_name | string you should provide the specific tool name to get the corresponding error. In this case "Security_Malicious_Check" |
property_id | number you should provide property id |
{
"tool_name": "Security_Malicious_Check",
"property_id": 25
}
if request is successful you will get
{
"tool_logs": [
SecurityMaliciousCheck
]
}
Fields | |
---|---|
SecurityMaliciousCheck | object(SecurityMaliciousCheck) SecurityMaliciousCheck represents a SecurityMaliciousCheck object |
SecurityMaliciousCheck object structure
SecurityMaliciousCheck = {
"maliciousUrlTool": {
"error": null | Object,
"problems": Boolean,
"threatTypes": Array,
"expireTime": String
}
}
Fields | |
---|---|
error | null | object if an error exists an object is returned with error code(string) and message(string) |
problems | boolean it true url has problems |
threatTypes | array threat array |
expireTime | string expire time |
{
"tool_logs": [
{
"maliciousUrlTool": {
"error": null,
"problems": false,
"threatTypes": [],
"expireTime": ""
}
}
]
}
if request is not successful you will get
{
"error": true,
"message": String
}
Fields | |
---|---|
error | boolean if the error returns true, it means that an error has occurred |
message | string the message contains information about the error |
{
"error": true,
"message": "invalid API key"
}
POST https://api.hexometer.com/v2/app/services/v1/detected_errors?key={YOUR_API_KEY}
Fields | |
---|---|
YOUR_API_KEY | string to get YOUR_API_KEY visit hexometer select desired property then go to settings and copy your api key |
Fields | |
---|---|
tool_name | string you should provide the specific tool name to get the corresponding error. In this case "Performance_Assets" |
property_id | number you should provide property id |
{
"tool_name": "Performance_Assets",
"property_id": 25
}
if request is successful you will get
{
"tool_logs": [
PerformanceAssets
]
}
Fields | |
---|---|
PerformanceAssets | object(PerformanceAssets) PerformanceAssets represents a PerformanceAssets object |
PerformanceAssets object structure
PerformanceAssets = {
"assetsCheckerTool": {
"error": null | Object,
"assets": Array,
"totalSize": Number,
"mainHtmlSize": Number
}
}
Fields | |
---|---|
error | null | object if an error exists an object is returned with error code(string) and message(string) |
assets | array asset array |
totalSize | number total size |
mainHtmlSize | number main Html size |
{
"tool_logs": [
{
"assetsCheckerTool": {
"error": null,
"assets": [
{
"encodedSize": 12332,
"size": 12332,
"mimeType": "application/javascript",
"url": "https://ajax.cloudflare.com/cdn-cgi/scripts/7d5fb10a/cloudflare-static/example.min.js"
}
],
"totalSize": 2187601,
"mainHtmlSize": 25235
}
}
]
}
if request is not successful you will get
{
"error": true,
"message": String
}
Fields | |
---|---|
error | boolean if the error returns true, it means that an error has occurred |
message | string the message contains information about the error |
{
"error": true,
"message": "invalid API key"
}
POST https://api.hexometer.com/v2/app/services/v1/detected_errors?key={YOUR_API_KEY}
Fields | |
---|---|
YOUR_API_KEY | string to get YOUR_API_KEY visit hexometer select desired property then go to settings and copy your api key |
Fields | |
---|---|
tool_name | string you should provide the specific tool name to get the corresponding error. In this case "Performance_Page_Speed_Desktop" |
property_id | number you should provide property id |
{
"tool_name": "Performance_Page_Speed_Desktop",
"property_id": 25
}
if request is successful you will get
{
"tool_logs": [
PerformancePageSpeedDesktop
]
}
Fields | |
---|---|
PerformancePageSpeedDesktop | object(PerformancePageSpeedDesktop) PerformancePageSpeedDesktop represents a PerformancePageSpeedDesktop object |
PerformancePageSpeedDesktop object structure
PerformancePageSpeedDesktop = {
"webMetricsDesktopTool": {
"error": null | Object,
"result": {
"performance": Object,
"accessibility": Object,
"bestPractices": Object,
"pwa": Object,
"seo": Object,
"assets": Object (JSON)
}
}
}
Fields | |
---|---|
error | null | object if an error exists an object is returned with error code(string) and message(string) |
performance | object performance info |
accessibility | object accessibility info |
bestPractices | object best practices info |
seo | object SEO info |
assets | object assets info |
{
"tool_logs": [
{
"webMetricsDesktopTool": {
"error": null,
"result": {
"performance": {
"title": "Performance",
"auditRefs": [
"id": "first-contentful-paint",
"weight": 15,
"group": "metrics"
]
},
"accessibility": {
"title": "Accessibility",
"description": "These checks highlight opportunities to [improve the accessibility of your web app](https://developers.google.com/web/fundamentals/accessibility). Only a subset of accessibility issues can be automatically detected so manual testing is also encouraged.",
"manualDescription": "These items address areas which an automated testing tool cannot cover. Learn more in our guide on [conducting an accessibility review](https://developers.google.com/web/fundamentals/accessibility/how-to-review).",
"auditRefs": [
"id": "accesskeys",
"weight": 0,
"group": "a11y-navigation"
]
},
"bestPractices": {
"title": "Best Practices",
"auditRefs": [
"id": "is-on-https",
"weight": 1,
"group": "best-practices-trust-safety"
]
},
"pwa": {
"title": "Progressive Web App",
"description": "These checks validate the aspects of a Progressive Web App. [Learn more](https://developers.google.com/web/progressive-web-apps/checklist).",
"manualDescription": "These checks are required by the baseline [PWA Checklist](https://developers.google.com/web/progressive-web-apps/checklist) but are not automatically checked by Lighthouse. They do not affect your score but it's important that you verify them manually.",
"auditRefs": [
"id": "nstallable-manifest",
"weight": 2,
"group": "pwa-installable"
]
},
"seo": {
"title": "SEO",
"description": "These checks ensure that your page is optimized for search engine results ranking. There are additional factors Lighthouse does not check that may affect your search ranking. [Learn more](https://support.google.com/webmasters/answer/35769).",
"manualDescription": "Run these additional validators on your site to check additional SEO best practices.",
"auditRefs": [
"id": "viewport",
"weight": 1,
"group": "seo-mobile"
]
},
"assets":"{"total_size":2554807,"size_by_domain":{"example.com":2290254,"fonts.googleapis.com":6180,"ajax.cloudflare.com":12332,"fonts.gstatic.com":39344,"www.googletagmanager.com":206697}"
},
}
}
]
}
if request is not successful you will get
{
"error": true,
"message": String
}
Fields | |
---|---|
error | boolean if the error returns true, it means that an error has occurred |
message | string the message contains information about the error |
{
"error": true,
"message": "invalid API key"
}
POST https://api.hexometer.com/v2/app/services/v1/detected_errors?key={YOUR_API_KEY}
Fields | |
---|---|
YOUR_API_KEY | string to get YOUR_API_KEY visit hexometer select desired property then go to settings and copy your api key |
Fields | |
---|---|
tool_name | string you should provide the specific tool name to get the corresponding error. In this case "Performance_Page_Speed_Mobile" |
property_id | number you should provide property id |
{
"tool_name": "Performance_Page_Speed_Mobile",
"property_id": 25
}
if request is successful you will get
{
"tool_logs": [
PerformancePageSpeedMobile
]
}
Fields | |
---|---|
PerformancePageSpeedMobile | object(PerformancePageSpeedMobile) PerformancePageSpeedMobile represents a PerformancePageSpeedMobile object |
PerformancePageSpeedMobile object structure
PerformancePageSpeedMobile = {
"webMetricsMobileTool": {
"error": null | Object,
"result": {
"performance": Object,
"accessibility": Object,
"bestPractices": Object,
"pwa": Object,
"seo": Object,
"assets": Object (JSON)
}
}
}
Fields | |
---|---|
error | null | object if an error exists an object is returned with error code(string) and message(string) |
performance | object performance info |
accessibility | object accessibiliy info |
bestPractices | object best practices info |
seo | object SEO info |
assets | object assets info |
{
"tool_logs": [
{
"webMetricsMobileTool": {
"error": null,
"result": {
"performance": {
"title": "Performance",
"auditRefs": [
"id": "first-contentful-paint",
"weight": 15,
"group": "metrics"
]
},
"accessibility": {
"title": "Accessibility",
"description": "These checks highlight opportunities to [improve the accessibility of your web app](https://developers.google.com/web/fundamentals/accessibility). Only a subset of accessibility issues can be automatically detected so manual testing is also encouraged.",
"manualDescription": "These items address areas which an automated testing tool cannot cover. Learn more in our guide on [conducting an accessibility review](https://developers.google.com/web/fundamentals/accessibility/how-to-review).",
"auditRefs": [
"id": "accesskeys",
"weight": 0,
"group": "a11y-navigation"
]
},
"bestPractices": {
"title": "Best Practices"",
"auditRefs": [
"id": "is-on-https",
"weight": 1,
"group": "best-practices-trust-safety"
]
},
"pwa": {
"title": "Progressive Web App",
"description": "These checks validate the aspects of a Progressive Web App. [Learn more](https://developers.google.com/web/progressive-web-apps/checklist).",
"manualDescription": "These checks are required by the baseline [PWA Checklist](https://developers.google.com/web/progressive-web-apps/checklist) but are not automatically checked by Lighthouse. They do not affect your score but it's important that you verify them manually.",
"auditRefs": [
"id": "nstallable-manifest",
"weight": 2,
"group": "pwa-installable"
]
},
"seo": {
"title": "SEO",
"description": "These checks ensure that your page is optimized for search engine results ranking. There are additional factors Lighthouse does not check that may affect your search ranking. [Learn more](https://support.google.com/webmasters/answer/35769).",
"manualDescription": "Run these additional validators on your site to check additional SEO best practices.",
"auditRefs": [
"id": "viewport",
"weight": 1,
"group": "seo-mobile"
]
},
"assets":"{"total_size":2554807,"size_by_domain":{"example.com":2290254,"fonts.googleapis.com":6180,"ajax.cloudflare.com":12332,"fonts.gstatic.com":39344,"www.googletagmanager.com":206697}"
},
}
}
]
}
if request is not successful you will get
{
"error": true,
"message": String
}
Fields | |
---|---|
error | boolean if the error returns true, it means that an error has occurred |
message | string the message contains information about the error |
{
"error": true,
"message": "invalid API key"
}
POST https://api.hexometer.com/v2/app/services/v1/detected_errors?key={YOUR_API_KEY}
Fields | |
---|---|
YOUR_API_KEY | string to get YOUR_API_KEY visit hexometer select desired property then go to settings and copy your api key |
Fields | |
---|---|
tool_name | string you should provide the specific tool name to get the corresponding error. In this case "User_Experience_Mobile_Friendly" |
property_id | number you should provide property id |
{
"tool_name": "User_Experience_Mobile_Friendly",
"property_id": 25
}
if request is successful you will get
{
"tool_logs": [
UserExperienceMobileFriendly
]
}
Fields | |
---|---|
UserExperienceMobileFriendly | object(UserExperienceMobileFriendly) UserExperienceMobileFriendly represents a UserExperienceMobileFriendly object |
UserExperienceMobileFriendly object structure
UserExperienceMobileFriendly = {
"mobileFriendlyCheckTool": {
"error": null | Object,
"mobileFriendly": Boolean,
"mobileFriendlyIssues": Array,
"screenShootUrl": String
}
}
Fields | |
---|---|
error | null | object if an error exists an object is returned with error code(string) and message(string) |
mobileFriendly | boolean if website is mobile friendly |
mobileFriendlyIssues | array mobile friendly issues |
screenShootUrl | string screenshoot url |
{
"tool_logs": [
{
"mobileFriendlyCheckTool": {
"error": null,
"mobileFriendly": false,
"mobileFriendlyIssues": [],
"screenShootUrl": "https://storage.googleapis.com/hx-screenshots/example.com-mobile-api.png"
}
}
]
}
if request is not successful you will get
{
"error": true,
"message": String
}
Fields | |
---|---|
error | boolean if the error returns true, it means that an error has occurred |
message | string the message contains information about the error |
{
"error": true,
"message": "invalid API key"
}
POST https://api.hexometer.com/v2/app/services/v1/detected_errors?key={YOUR_API_KEY}
Fields | |
---|---|
YOUR_API_KEY | string to get YOUR_API_KEY visit hexometer select desired property then go to settings and copy your api key |
Fields | |
---|---|
tool_name | string you should provide the specific tool name to get the corresponding error. In this case "User_Experience_Devices_Check" |
property_id | number you should provide property id |
{
"tool_name": "User_Experience_Devices_Check",
"property_id": 25
}
if request is successful you will get
{
"tool_logs": [
UserExperienceDevicesCheck
]
}
Fields | |
---|---|
UserExperienceDevicesCheck | object(UserExperienceDevicesCheck) UserExperienceDevicesCheck represents a UserExperienceDevicesCheck object |
UserExperienceDevicesCheck object structure
UserExperienceDevicesCheck = {
"deviceCheckTool": {
"result": {
"MOBILE_SMALL": Object,
"MOBILE_MEDIUM": Object,
"MOBILE_LARGE": Object,
"TABLET": Object,
"LAPTOP_SMALL": Object,
"LAPTOP_MEDIUM": Object,
"LAPTOP_LARGE": Object,
"DESKTOP_4K": Object
},
"error": null | String,
"warnings": null | String
}
}
Fields | |
---|---|
result | object result info |
MOBILE_SMALL | object small mobile device info |
MOBILE_MEDIUM | object medium mobile device info |
MOBILE_LARGE | object large mobile device info |
TABLET | object tablet device info |
LAPTOP_SMALL | object small laptop device info |
LAPTOP_MEDIUM | object medium laptop device info |
LAPTOP_LARGE | object large laptop device info |
DESKTOP_4K | object desktop device info |
error | null | string error info |
warnings | null | string warnings info |
{
"tool_logs": [
{
"deviceCheckTool": {
"result": {
"MOBILE_SMALL": {
"result": {
"image": "https://storage.googleapis.com/hx-screenshots/tool-upload-checkDeviceTool-f99256bba8cfd70fbede7810d00a8f93-1225573836480.png"
"closeTouchables": {
"isValid": true,
"data": []
},
"fontSizeMean": {
"isValid": true,
"data": 16.055073874192693
},
"domElementCount": {
"isValid": true,
"data": 187
},
"cookieSize": {
"isValid": true,
"data": 456
},
"imgAlt": {
"isValid": true,
"data": [0]
},
"imgWidth": {
"isValid": false,
"data": ["<img src="img/example-logo.svg" alt="example" class="prod-logo">"]
},
"viewportWidth": {
"isValid": true,
"data": ["width=device-width"]
},
"viewport": {
"isValid": true,
"data": ["<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">"]
},
"badElements": [],
"leftRightSlider": {
"isValid": true,
"data": 0
},
},
"error": null,
"warnings": null
},
},
"MOBILE_MEDIUM": {
"result": {
"image": "https://storage.googleapis.com/hx-screenshots/tool-upload-checkDeviceTool-f99256bba8cfd70fbede7810d00a8f93-1225573836480.png"
"closeTouchables": {
"isValid": true,
"data": []
},
"fontSizeMean": {
"isValid": true,
"data": 16.055073874192693
},
"domElementCount": {
"isValid": true,
"data": 187
},
"cookieSize": {
"isValid": true,
"data": 456
},
"imgAlt": {
"isValid": true,
"data": [0]
},
"imgWidth": {
"isValid": false,
"data": ["<img src="img/example-logo.svg" alt="example" class="prod-logo">"]
},
"viewportWidth": {
"isValid": true,
"data": ["width=device-width"]
},
"viewport": {
"isValid": true,
"data": ["<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">"]
},
"badElements": [],
"leftRightSlider": {
"isValid": true,
"data": 0
},
},
"error": null,
"warnings": null
},
},
"MOBILE_LARGE": {
"result": {
"image": "https://storage.googleapis.com/hx-screenshots/tool-upload-checkDeviceTool-f99256bba8cfd70fbede7810d00a8f93-1225573836480.png"
"closeTouchables": {
"isValid": true,
"data": []
},
"fontSizeMean": {
"isValid": true,
"data": 16.055073874192693
},
"domElementCount": {
"isValid": true,
"data": 187
},
"cookieSize": {
"isValid": true,
"data": 456
},
"imgAlt": {
"isValid": true,
"data": [0]
},
"imgWidth": {
"isValid": false,
"data": ["<img src="img/example-logo.svg" alt="example" class="prod-logo">"]
},
"viewportWidth": {
"isValid": true,
"data": ["width=device-width"]
},
"viewport": {
"isValid": true,
"data": ["<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">"]
},
"badElements": [],
"leftRightSlider": {
"isValid": true,
"data": 0
},
},
"error": null,
"warnings": null
},
},
"TABLET": {
"result": {
"image": "https://storage.googleapis.com/hx-screenshots/tool-upload-checkDeviceTool-f99256bba8cfd70fbede7810d00a8f93-1225573836480.png"
"closeTouchables": {
"isValid": true,
"data": []
},
"fontSizeMean": {
"isValid": true,
"data": 16.055073874192693
},
"domElementCount": {
"isValid": true,
"data": 187
},
"cookieSize": {
"isValid": true,
"data": 456
},
"imgAlt": {
"isValid": true,
"data": [0]
},
"imgWidth": {
"isValid": false,
"data": ["<img src="img/example-logo.svg" alt="example" class="prod-logo">"]
},
"viewportWidth": {
"isValid": true,
"data": ["width=device-width"]
},
"viewport": {
"isValid": true,
"data": ["<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">"]
},
"badElements": [],
"leftRightSlider": {
"isValid": true,
"data": 0
},
},
"error": null,
"warnings": null
},
},
"LAPTOP_SMALL": {
"result": {
"image": "https://storage.googleapis.com/hx-screenshots/tool-upload-checkDeviceTool-f99256bba8cfd70fbede7810d00a8f93-1225573836480.png"
"closeTouchables": {
"isValid": true,
"data": []
},
"fontSizeMean": {
"isValid": true,
"data": 16.055073874192693
},
"domElementCount": {
"isValid": true,
"data": 187
},
"cookieSize": {
"isValid": true,
"data": 456
},
"imgAlt": {
"isValid": true,
"data": [0]
},
"imgWidth": {
"isValid": false,
"data": ["<img src="img/example-logo.svg" alt="example" class="prod-logo">"]
},
"viewportWidth": {
"isValid": true,
"data": ["width=device-width"]
},
"viewport": {
"isValid": true,
"data": ["<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">"]
},
"badElements": [],
"leftRightSlider": {
"isValid": true,
"data": 0
},
},
"error": null,
"warnings": null
},
},
"LAPTOP_MEDIUM": {
"result": {
"image": "https://storage.googleapis.com/hx-screenshots/tool-upload-checkDeviceTool-f99256bba8cfd70fbede7810d00a8f93-1225573836480.png"
"closeTouchables": {
"isValid": true,
"data": []
},
"fontSizeMean": {
"isValid": true,
"data": 16.055073874192693
},
"domElementCount": {
"isValid": true,
"data": 187
},
"cookieSize": {
"isValid": true,
"data": 456
},
"imgAlt": {
"isValid": true,
"data": [0]
},
"imgWidth": {
"isValid": false,
"data": ["<img src="img/example-logo.svg" alt="example" class="prod-logo">"]
},
"viewportWidth": {
"isValid": true,
"data": ["width=device-width"]
},
"viewport": {
"isValid": true,
"data": ["<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">"]
},
"badElements": [],
"leftRightSlider": {
"isValid": true,
"data": 0
},
},
"error": null,
"warnings": null
},
},
"LAPTOP_LARGE": {
"result": {
"image": "https://storage.googleapis.com/hx-screenshots/tool-upload-checkDeviceTool-f99256bba8cfd70fbede7810d00a8f93-1225573836480.png"
"closeTouchables": {
"isValid": true,
"data": []
},
"fontSizeMean": {
"isValid": true,
"data": 16.055073874192693
},
"domElementCount": {
"isValid": true,
"data": 187
},
"cookieSize": {
"isValid": true,
"data": 456
},
"imgAlt": {
"isValid": true,
"data": [0]
},
"imgWidth": {
"isValid": false,
"data": ["<img src="img/example-logo.svg" alt="example" class="prod-logo">"]
},
"viewportWidth": {
"isValid": true,
"data": ["width=device-width"]
},
"viewport": {
"isValid": true,
"data": ["<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">"]
},
"badElements": [],
"leftRightSlider": {
"isValid": true,
"data": 0
},
},
"error": null,
"warnings": null
},
},
"DESKTOP_4K": {
"result": {
"image": "https://storage.googleapis.com/hx-screenshots/tool-upload-checkDeviceTool-f99256bba8cfd70fbede7810d00a8f93-1225573836480.png"
"closeTouchables": {
"isValid": true,
"data": []
},
"fontSizeMean": {
"isValid": true,
"data": 16.055073874192693
},
"domElementCount": {
"isValid": true,
"data": 187
},
"cookieSize": {
"isValid": true,
"data": 456
},
"imgAlt": {
"isValid": true,
"data": [0]
},
"imgWidth": {
"isValid": false,
"data": ["<img src="img/example-logo.svg" alt="example" class="prod-logo">"]
},
"viewportWidth": {
"isValid": true,
"data": ["width=device-width"]
},
"viewport": {
"isValid": true,
"data": ["<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">"]
},
"badElements": [],
"leftRightSlider": {
"isValid": true,
"data": 0
},
}
"error": null,
"warnings": null
},
},
"error": null,
"warnings": null
}
}
}
]
}
if request is not successful you will get
{
"error": true,
"message": String
}
Fields | |
---|---|
error | boolean if the error returns true, it means that an error has occurred |
message | string the message contains information about the error |
{
"error": true,
"message": "invalid API key"
}