Public API

Every page on HeaderLens has a JSON equivalent. The full contract is in openapi.yaml (also JSON). No key is required; fresh checks are rate-limited per client.

Endpoints
MethodPathOperation
POST/api/v1/checkrunWebsiteCheck
Run a fresh observation against a public hostname
GET/api/v1/status/{hostname}getLatestStatus
Get the latest stored observation for a hostname
GET/api/v1/status/{hostname}/historygetStatusHistory
Historical observations and availability rollups
GET/api/v1/recentlistRecentChecks
Recently checked hostnames (hostnames only, never paths)
GET/api/v1/methodologygetMethodology
Machine-readable status semantics
GET/api/v1/schemagetSchemaInfo
Schema and API version information
GET/api/v1/healthgetHealth
Service health (of HeaderLens itself, not of any target)

Example

curl -s -X POST https://headerlens.usefulweb.site/api/v1/check \
  -H 'content-type: application/json' \
  -d '{"target":"example.com"}'

Semantics that matter