The scan API
One endpoint. No account, no key, no signup. Send a URL, get back the same JSON security report the website produces. It is read-only and free, because understanding your own app is never the thing we gate.
Endpoint
GET https://xlogs.com/api/v1/scan?url=<your-url> POST https://xlogs.com/api/v1/scan { "url": "<your-url>" }Both forms do the same thing. Use GET for a quick one-liner, POST if you would rather not put the URL in a query string.
Example
curl "https://xlogs.com/api/v1/scan?url=https://your-app.com"Returns a JSON object with the scan result: findings (each with severity, a confidence label, CWE and OWASP tags, and a copy-paste fix), a coverage receipt, a plain verdict, the platform fingerprint, the shipped-library list, and the measured scan time. It is the exact shape the website renders.
Response shape
{
"ok": true,
"apiVersion": "1",
"scannedAt": "2026-08-13T00:00:00.000Z",
"url": "https://your-app.com",
"reachable": true,
"counts": { "critical": 0, "high": 0, "medium": 1, "low": 0 },
"verdict": { "level": "issues", "headline": "..." },
"findings": [
{
"vulnId": "supabase-rls",
"severity": "critical",
"confidence": "confirmed",
"cwe": "CWE-284",
"owasp": "A01:2021 Broken Access Control",
"title": "Your database may be publicly readable",
"fixSteps": ["..."],
"verify": "..."
}
],
"receipt": [ { "id": "database", "status": "found" } ],
"sbom": { "libraries": [ { "name": "react", "version": "18.2.0" } ] }
}Rules
- Free and unauthenticated. No key, no account. Every field is returned; nothing is gated.
- Read-only. The API runs the same checks as the site: ordinary GET requests, no writes, no login, no exploitation.
- Public URLs only. Private, loopback, and cloud-metadata addresses are refused, the same as the website scanner.
- Rate limited to 60 scans per IP per hour, so it cannot be used as a scanning amplifier. Over that returns HTTP 429.
- CORS open. You can call it from a browser tool or a dashboard.
- Not a compliance product. The CWE and OWASP tags are for matching against other tools, not evidence for SOC 2 or PCI.
Prefer the command line?
The same checks run from a zero-dependency CLI you can drop into CI, with a deploy gate and SARIF output. See the methodology for the full list of requests either path sends.
