Reports
What search engines, link previews and AI agents get from one URL, with a fix for each problem. 1 credit per URL.
Try it in the browser first: the AI readiness checker and the Open Graph checker run the same report.
Run a report
Checks robots.txt rules for 13 AI crawlers, llms.txt, how much content exists before JavaScript runs, bot walls, Open Graph and Twitter tags (with the og:image's size), JSON-LD types, a Markdown preview and a screenshot, and scores the page.
/v1/reportcurl -G https://shotlane.dev/v1/report \ -H "X-API-Key: $SHOTLANE_API_KEY" \ -d url=vercel.com
import os from shotlane import Shotlane sl = Shotlane(os.environ["SHOTLANE_API_KEY"]) report = sl.report("vercel.com") print(report["score"], [c["message"] for c in report["checks"] if c["level"] != "pass"])
import { Shotlane } from "./shotlane.mjs"; const sl = new Shotlane(process.env.SHOTLANE_API_KEY); const report = await sl.report("vercel.com"); console.log(report.score, report.checks.filter((c) => c.level !== "pass"));
200 OK{
"url": "https://vercel.com/",
"title": "Agentic Infrastructure - Vercel",
"description": "The autonomous stack for every app and agent.",
"status_code": 200,
"blocked": null,
"og_image": {
"url": "https://lishhsx6kmthaacj.public.blob.vercel-storage.com/og-home-not-x.png",
"ok": true, "width": 2400, "height": 1350, "bytes": 846782, "type": "image/png"
},
"structured_data": ["Organization", "Service", "SoftwareApplication"],
"llms_txt": {
"llms.txt": {"found": true, "bytes": 5397},
"llms-full.txt": {"found": false, "bytes": 0}
},
"javascript": {"raw_html_words": 542, "rendered_words": 124},
"checks": [
{
"level": "pass",
"area": "robots",
"message": "robots.txt lets all listed AI crawlers fetch this page.",
"fix": ""
},
…
],
"score": 89,
"screenshot_url": "https://shotlane.dev/r/Y85-IS09_Byj5EOXrqIGh2uU.jpg",
…
}
Parameters
Returns
JSON: url, title, description, status_code, blocked, metadata, og_image, structured_data, robots, llms_txt, javascript (words in the raw HTML and once rendered), word_count, markdown_preview, checks (each with its level, area, message and a fix), the score and a screenshot_url.
© 2026 Shotlane · Support · Terms · Privacy · Legal notice