Back to Website Technology Detector API

API documentation

Website Technology Detector API

## Website Technology Detector Send a public website URL to `detect-technologies`. The service performs one bounded HTML request, follows at most five redirects, and analyzes only publicly visible response fingerprints. It does not crawl the website or download linked assets. ### Detection model Every result is produced by deterministic fingerprint rules. Confidence combines independent signals such as generator metadata, response headers, cookie names, resource paths, HTML attributes, and inline initialization markers. A version is returned only when a reliable public fingerprint exposes it; otherwise `version` is `null`. No AI is used for detection. ### Network safety and limits Only `http` and `https` URLs on ports 80, 443, 8080, or 8443 are accepted. Credentials, localhost, internal and reserved hostnames, private, loopback, link-local, carrier-grade NAT, documentation, multicast, cloud metadata, and other non-public IP ranges are blocked. DNS answers are validated and the selected address is pinned for the connection. Every redirect destination is resolved and validated again. Responses are decompressed under the configured byte cap. ### Errors Invalid request fields raise the runtime's standard client error. Network outcomes use structured JSON errors with codes including `dns_failure`, `ssl_failure`, `connection_failure`, `upstream_timeout`, `unsafe_redirect`, `redirect_loop`, `too_many_redirects`, `response_too_large`, and `unsupported_content`.

Current planFree50 requests per month

Quota

Free usage

Used0
Remaining50
Limit50
Resets at 2026-09-30 23:59:59.

Authentication

Bearer token

Authorization: Bearer {serviceTokenHere}

For compatibility with simple image tags and legacy clients, ?token=... and the X-API-Token header are also accepted.

POST

Detect website technologies

https://ai.mihajlo.mk/api/website-technology-detector/v1/detect-technologies

Fetches one public website document, follows safe redirects, and returns deterministic technology detections with confidence, evidence, and reliably exposed versions.

ParameterTypeRequiredDescription
urlstringYes
timeout_secondsintegerNo
max_response_kbintegerNo

cURL example

curl --request POST \
  --header "Authorization: Bearer {serviceTokenHere}" \
  --header "Content-Type: application/json" \
  --data '{"url":"https://example.com","timeout_seconds":12,"max_response_kb":1024}' \
  "https://ai.mihajlo.mk/api/website-technology-detector/v1/detect-technologies"

Example response

{
    "url": "https://example.com/",
    "final_url": "https://www.example.com/",
    "status_code": 200,
    "technologies": [
        {
            "name": "WordPress",
            "category": "CMS",
            "version": "6.8",
            "confidence": 100,
            "evidence": [
                "WordPress generator meta tag detected",
                "WordPress core resource paths detected"
            ]
        },
        {
            "name": "jQuery",
            "category": "JavaScript Library",
            "version": "3.7.1",
            "confidence": 90,
            "evidence": [
                "Versioned jQuery script resource detected"
            ]
        }
    ],
    "summary": {
        "cms": [
            "WordPress"
        ],
        "javascript": [
            "jQuery"
        ]
    }
}

Live tester

Login to run live requests. All endpoint documentation remains public.

Login to test

Errors

Standard error envelope

{
  "ok": false,
  "error": "invalid_request",
  "message": "Human-readable explanation"
}

Common statuses: 401 invalid token, 422 invalid parameters, 429 quota used, and 502 upstream or capture failure.