Skip to main content

Documentation index for AI agents: llms.txt. Every page here is also served as markdown: add .md to its address, or request it with Accept: text/markdown.

Tools API

Free public website checking tools. This page lists all 4 endpoints in the Tools area of the Visual Sentinel REST API.

Base URL: https://visualsentinel.com. Unless an endpoint says otherwise it accepts an API key or a session cookie, see Authentication. Most error responses use the ErrorResponse shape, see Errors and Rate limits.

Endpoints

Website health check

GET /api/tools/website-check

Free tool to check whether a website responds, from each check region, with its response time and certificate. Rate limited to 10 requests/minute per IP. With visual=1 it also tries one homepage screenshot (3 per 10 minutes per IP).

Authentication: no session or API key needed.

Parameters

  • url (query, string, required): URL to check (https:// prefix added if missing)
  • visual (query, string, optional): Also capture one homepage screenshot (the address is reduced to its origin). One of: 1.

Responses

  • 200: Website check results. Body: object.
  • 400: The address cannot be checked: missing, not a valid URL, or not a public http/https address. Body: object.
  • 422: The site could not be checked: its name does not resolve (not_found, with lookup and an optional suggestion), or its bot protection blocked the check in every region, answering each with a verification page (bot_protection). Body: object.
  • 429: Rate limit exceeded. Retry-After gives the seconds to wait. Body: object.
  • 503: Our checker could not finish this check (check_error). Nothing is known about the site. Body: object.
FieldTypeRequiredDescription
urlstringNo
statusstringNoOne of: UP, DEGRADED, DOWN.
responseTimeinteger or nullNo
statusCodeinteger or nullNo
sslValidboolean or nullNo
sslDaysRemaininginteger or nullNo
sslIssuerstring or nullNo
dnsTimeinteger or nullNo
regionsarray of objectNo
regions[].regionstringNo
regions[].statusstringNoOne of: UP, DOWN.
regions[].responseTimeinteger or nullNo
regions[].statusCodeinteger or nullNo
regions[].errorstring or nullNo
checkedAtstring (date-time)No
screenshotstring or nullNovisual=1 only: a data URL, or null when no screenshot was taken.
screenshotUnavailablebooleanNovisual=1 only: screenshots are switched off for now.
screenshotBlockedstringNovisual=1 only: the site's bot protection showed a verification page instead of the site. One of: bot_protection.
screenshotLimitedbooleanNovisual=1 only: this caller reached the screenshot limit.

SSL certificate check

GET /api/tools/ssl-check

Free tool to check SSL certificate validity, expiration, and chain details.

Authentication: no session or API key needed.

Parameters

  • domain (query, string, required): Host name, optionally with an https:// prefix or a :port, for example example.com or example.com:8443.

Responses

  • 200: SSL certificate details.
  • 429: Rate limit exceeded.

DNS lookup tool

GET /api/tools/dns-check

Free tool to check DNS records (A, AAAA, MX, NS, TXT, CNAME, SOA).

Authentication: no session or API key needed.

Parameters

  • domain (query, string, required)
  • type (query, string, optional): Record type. Case-insensitive. One of: A, AAAA, MX, CNAME, TXT, NS, SOA, ALL. Default: ALL.

Responses

  • 200: DNS records.
  • 429: Rate limit exceeded.

Website speed test

GET /api/tools/speed-test

Free tool to test website loading speed and performance metrics.

Authentication: no session or API key needed.

Parameters

  • url (query, string, required)

Responses

  • 200: Speed test results.
  • 429: Rate limit exceeded.
  • 503: The test did not run. SPEED_TEST_SERVICE_BUSY: the testing service was busy, rate limited or timed out (not a problem with the page); a Retry-After header is sent, try again in a few minutes. PAGE_NOT_TESTABLE: the page could not be loaded for testing. SPEED_TEST_UNAVAILABLE and SPEED_TEST_FAILED: the speed test is unavailable on our side. Failures are sent with Cache-Control: no-store.

Generated from the OpenAPI 3.1 specification at https://docs.visualsentinel.com/openapi.json, the same file the interactive reference reads.