Free technical-SEO audits for humans and AI agents — no signup, no API key.
Crawlinx runs 79 SEO checks on every crawl: titles, meta descriptions, canonical tags, hreflang, structured data, mobile parity, render-diff, broken links, performance, security headers, and more. Results are public and shareable.
Request body (JSON):
{
"url": "https://example.com", // required — the site to audit
"mode": "free" // "free" | "instant"
}
Mode values:
free — full multi-page crawl, up to 50 pagesinstant — single-page quick check, returns synchronouslyResponse (202 for async, 200 for instant):
{"id": "abc123def456"}
Use the returned id to poll for results.
Returns the full structured report once the scan is complete. Polling the progress endpoint first is recommended for large crawls.
GET https://crawlinx.com/api/scan/{id}/report
Server-sent events stream emitting progress updates while the crawl runs.
Connect and read until you receive a done or error event.
GET https://crawlinx.com/api/scan/{id}/progress
Returns the LLM-ready Markdown export of the report — YAML front-matter, score, per-category breakdown, all issues, checks coverage, and this API reference. Designed to be pasted directly into ChatGPT, Claude, or Cursor.
GET https://crawlinx.com/r/{id}.md
List of recently completed public scan summaries (domain, health score, id).
GET https://crawlinx.com/api/reports
# 1. Start a scan
ID=$(curl -s -X POST https://crawlinx.com/api/scan \
-H 'Content-Type: application/json' \
-d '{"url":"https://example.com","mode":"free"}' | jq -r .id)
# 2. Poll progress (optional — wait for done event)
curl -sN https://crawlinx.com/api/scan/$ID/progress
# 3. Fetch the JSON report
curl -s https://crawlinx.com/api/scan/$ID/report | jq .health_score
# 4. Fetch the Markdown report (paste into an LLM)
curl -s https://crawlinx.com/r/$ID.md
Crawlinx is designed to be called by AI coding assistants, agent pipelines,
and automation tools. The Markdown export (/r/{id}.md) is the
recommended format for passing a report to an LLM context: it is compact,
self-describing, and includes a checks-coverage section so the model can see
what was audited, not just what failed.
Suggested system-prompt snippet:
When the user asks for an SEO audit, call POST https://crawlinx.com/api/scan with the target
URL and mode "free", then fetch /r/{id}.md and include the result in your
context before answering.
POST /api/scan returns
429 with JSON {"error":"...","beta_email":"[email protected]","retry_after_min":N}.
Need higher limits? Request beta access at [email protected].For takedown requests or abuse reports: Remove my site
or [email protected].