---
title: "Tech Detection"
method: POST
path: "/tech"
tags: ["Intelligence"]
---

# Tech Detection

`POST /tech`

## Request

- Base URL: `https://api.weblens.dev`
- URL: `https://api.weblens.dev/tech`
- Auth: API key in header `Payment-Signature`

What a site is built and run on, from a single fetch: frameworks, CMS, ecommerce platform, CDN, analytics, payments, support widgets and web server — each with the header or HTML marker that proves it. Price: $0.005.

## Request body

- object
  - `url` string, uri, required: Site URL to fingerprint

## Response `200`

What a site is built and run on — framework, CMS, CDN, analytics, payments — with the evidence for each.

- object
  - `url` string
  - `finalUrl` string: URL after redirects
  - `status` number
  - `server` string
  - `poweredBy` string
  - `generator` string: Value of <meta name="generator">, when present
  - `technologies` object[]: Each detection with the marker that produced it
    - `name` string
    - `category` 'framework' | 'cms' | 'ecommerce' | 'cdn' | 'analytics' | 'hosting' | 'security' | 'support' | 'payments' | 'server'
    - `evidence` string: The response header line or HTML marker that matched
  - `categories` object: Technology names grouped by category
  - `detectedAt` string
  - `requestId` string

## Other responses

- `400`: The body failed validation
- `402`: Payment required — x402 v2 protocol. Parse the PAYMENT-REQUIRED response header (base64-encoded JSON), sign the payment with your wallet, then retry the request with the Payment-Signature request header.

---

[API](https://skmtc.dev/weblens/apis/weblens-api.md) · [All operations](https://skmtc.dev/weblens/apis/weblens-api/llms.txt) · [OpenAPI document](https://skmtc.dev/weblens/apis/weblens-api/revisions/63a7e81b6921?raw)
