Klyo Website Analyzer
FreeNot checkedWebsite analyzer API: detect tech stack (WordPress/Wix/Shopify), SEO issues, AI-crawler visibility (GPTBot/ClaudeBot), real transfer size and keyword targeting.
About
Website analyzer API: detect tech stack (WordPress/Wix/Shopify), SEO issues, AI-crawler visibility (GPTBot/ClaudeBot), real transfer size and keyword targeting. Free tier, no signup. Polish-first. | Prześwietlarka stron — API
README
Analyze any website with one HTTP request. Detect what it runs on, how Google sees it, whether AI assistants can read it, how much a phone actually downloads, which keywords it targets, and what to fix — ranked.
🇵🇱 Polska wersja tego pliku · 🔧 Live tool · 📖 Docs (PL)
This repository contains documentation and usage examples. The analysis engine is closed source.
Why another one
Ahrefs costs $29–1499/mo, Semrush $139–500/mo, BuiltWith $295–995/mo, Wappalyzer $250–450/mo (2026 pricing). They are built for specialists and speak their language.
This one answers questions a business owner asks, and adds two things the others don't have:
- AI visibility — does the site let GPTBot, ClaudeBot, PerplexityBot and
Google-Extended in? A site blocked from AI crawlers simply doesn't exist in
ChatGPT answers. We read the target's
robots.txtthe way each assistant would. - Real transfer size — not the uncompressed HTML, but the bytes a phone actually downloads. Most tools report the former, which is 3–8× larger.
Polish-first: reports are written for people who run a business, not for SEO consultants. The API itself is language-neutral.
Quick start
Reading a stored result needs no key at all:
curl https://klyo.pl/api-przeswietlarki/przeswietl/v1/wynik/mtu9hfexbh
The 10-character result key comes from the URL after analyzing any site in the browser, or from a new analysis response.
Endpoints
GET /api/przeswietl/v1/wynik/{key}
Returns a stored report. No authentication, no rate limit — the key itself is the credential (49 bits of entropy). Served from an in-memory cache.
200 report · 400 malformed key · 404 no such result
POST /api/przeswietl/v1/badaj
Analyzes a site from scratch. Requires a key with the przeswietl scope, because
every call fetches somebody else's page.
curl -X POST https://klyo.pl/api-przeswietlarki/przeswietl/v1/badaj \
-H "Authorization: Bearer klyo_sk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"adres":"yourcompany.com","konkurent":"competitor.com"}'
Pass konkurent (competitor) to also get their report plus co_dorobic — a ranked
list of what they have and you don't.
200 report · 401 bad/missing key · 403 key lacks scope · 409 site blocks
automated access · 429 rate limit · 503 queue busy
klw → przeswietl.surowy (binary, over WebSocket)
The same report as raw msgpack bytes straight from storage — no unpacking, no JSON
assembly. Connect to wss://klyo.pl/klw?gosc=1.
klw.rpc("przeswietl.surowy", { klucz: "mtu9hfexbh" })
// → { content_type: "application/vnd.msgpack", size: 7760, bytes: Uint8Array }
MCP — a tool for AI assistants
An MCP server exposes the analyzer as klyo_przeswietl_strone, so Claude, ChatGPT
and other assistants can use it themselves.
| Endpoint | https://panel.klyo.pl/mcp |
| Auth | OAuth, scope klyo:read |
| Arguments | adres (required), konkurent (optional) |
| Rate limit | 120 analyses per hour per account |
Read-only: it changes nothing, here or on the analyzed site.
Response fields
Field names are Polish (the engine's native language). Full example: przyklady/odpowiedz.json.
| Field | Type | Meaning |
|---|---|---|
klucz |
string | 10-char result key — also the sharing URL |
adres, host |
string | Final address after redirects |
oceny.ogolna |
0–100 | Overall score |
oceny.google |
0–100 | Search visibility. Zero if the page is noindex |
oceny.ai |
0–100 | AI assistant visibility |
oceny.szybkosc |
0–100 | Speed, based on real transfer size |
oceny.zaufanie, oceny.sprzedaz |
0–100 | Trust signals; whether the page leads to contact |
silnik.nazwa |
string | WordPress, Wix, Shopify, custom-built… |
silnik.kreator |
bool | Runs on a subscription site builder |
silnik.koszt_rocznie |
string? | Yearly builder cost, when known |
kb_pobierane / kb_kodu |
number | Bytes downloaded vs uncompressed size |
pakowanie |
string? | br, gzip, zstd or null |
ukryta_przed_google |
bool | noindex — invalidates everything else |
ai.zablokowane |
string[] | AI assistants denied access |
ai.ma_llms, ai.ma_markdown |
bool | Has llms.txt / machine-readable version |
frazy[] |
array | Keyword targeting: count, density, position |
google |
object | Title, description, headings, word count, structured data |
kontakt |
object | Phone, e-mail, form, map, social profiles |
sledzenie[], platnosci[], czat, mailing, opinie |
— | Detected tools |
usterki[] |
array | Issues: severity 0–2, title, consequence, fix |
wnioski[] |
array | Top three things to do, in order |
co_dorobic[] |
array | With a competitor: what they have, you don't |
Performance
Measured on production, single server:
| Operation | Time | Throughput |
|---|---|---|
| Read stored result | 6.4 µs internal, 0.47 ms over HTTP | 12,000+ req/s |
Binary read (przeswietl.surowy) |
bytes straight from storage | same, less work both ends |
| New analysis | 13.9 ms + target server time | ~70/s per core |
Reads are stateless and cached, so they scale horizontally. New analyses are rate limited on purpose: there's someone else's server on the other end.
How our crawler behaves
User agent: klyo-przeswietlarka/1.0 (+https://klyo.pl/robot/)
- fetches one URL, never walks the site
- reads and respects
robots.txt - max 6 fetches per domain per hour; a 15-minute result cache absorbs the rest
- backs off a domain for 6 hours after three refusals
- never logs in, never bypasses protection, never hides its identity
Block us in two lines:
User-agent: klyo-przeswietlarka
Disallow: /
Security
The API fetches third-party pages, so it is built so nothing internal is reachable through it:
- DNS is resolved once and the connection goes to that verified IP — swapping the DNS answer between check and connect achieves nothing
- private, loopback, link-local and cloud-metadata addresses are rejected, including after redirects
http/httpsonly, ports 80/443 only, at most two redirects- limits: 6 fetches per domain/hour, 40 per minute total, 6 concurrent
- decompression capped at 8 MB, request body at 4 kB
Found a hole? Write to [email protected]. Please don't disclose publicly before we patch it.
Terms & privacy
- ZASADY.md — what's allowed, what isn't (PL)
- PRYWATNOSC.md — what we store and what we don't (PL)
Short version: commercial use is fine, attribution required, no bulk data collection, don't circumvent anyone's refusal.
Getting a key
Write to [email protected] with one sentence about what you're building. Keys are free, including for commercial projects.
License
Docs: CC BY 4.0.
Code examples in przyklady/: MIT.
The analysis engine remains klyo's property and is not covered by either.
Installing Klyo Website Analyzer
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/krastranseu-lang/klyo-website-analyzerFAQ
Is Klyo Website Analyzer MCP free?
Yes, Klyo Website Analyzer MCP is free — one-click install via Unyly at no cost.
Does Klyo Website Analyzer need an API key?
No, Klyo Website Analyzer runs without API keys or environment variables.
Is Klyo Website Analyzer hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Klyo Website Analyzer in Claude Desktop, Claude Code or Cursor?
Open Klyo Website Analyzer on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
Roblox Studio
Enables AI coding tools to control Roblox Studio for workspace exploration, instance manipulation, and script management. It provides tools for playtesting, sce
by paralovAWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzMCP-Agent
A simple, composable framework to build agents using Model Context Protocol by [LastMile AI](https://www.lastmileai.dev)
by lastmile-aiSpring AI MCP Client
Provides auto-configuration for MCP client functionality in Spring Boot applications.
mcp.natoma.ai
A Hosted MCP Platform to discover, install, manage and deploy MCP servers by [Natoma Labs](https://www.natoma.ai)
MCPHub
Website to list high quality MCP servers and reviews by real users. Also provide online chatbot for popular LLM models with MCP server support.
MCP Servers Rating and User Reviews
Website to rate MCP servers, write authentic user reviews, and [search engine for agent & mcp](http://www.deepnlp.org/search/agent)
Compare Klyo Website Analyzer with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
