Skip to content
BuiltWhen

API

Three JSON endpoints power the site. They're open for light use while BuiltWhen is in beta; keys and higher limits come with the Agency plan.

Start an analysis

POST /api/analyze
{ "url": "https://example.com" }

202 { "analysisId": "…", "status": "queued", "domain": "example.com" }
200 { "status": "completed", "reportUrl": "/report/example.com" }   // recent report reused
400 { "error": { "code": "INVALID_URL", "message": "…" } }
429 { "error": { "code": "RATE_LIMITED", "resetAt": "…" } }

Pass "force": true to re-run an analysis that finished in the last 24 hours.

Check progress

GET /api/analyze/{analysisId}

{ "status": "running",
  "stages": [{ "key": "domain", "label": "Checking domain information", "status": "done" }, …] }

{ "status": "completed", "reportUrl": "/report/example.com" }

Get a report

GET /api/report/{domain}

{ "domain": "example.com",
  "launch": { "estimated": "2019-04", "label": "April 2019",
              "window": { "start": "2019-03", "end": "2019-04" },
              "confidence": 0.81, "confidenceLevel": "high", … },
  "age": { "label": "~7.5 years", "basis": "estimated_launch" },
  "domainInfo": { "registeredAt": "2019-03-12T00:00:00.000Z", … },
  "timeline": [ … ], "evidence": [ … ], "technologies": [ … ] }

All dates are UTC. Months are given as YYYY-MM because estimates are never more precise than the evidence.