Documentation 5 min read

Web Tech API

The Web Tech API provides deep website technology intelligence, including web stack detection, HTTP headers, meta tags, security headers, and page structure analysis.


Overview

Get detailed information about any website including:

  • Web technology stack detection (frameworks, CMS, libraries)
  • HTTP response headers and security headers
  • Meta tags (Open Graph, Twitter, SEO, etc.)
  • Page structure (scripts, stylesheets, forms, images, links)
  • Redirect chain and final URL
  • Cookie analysis

Authentication

All API requests require authentication using your API key. Include your API key in the request header:

X-API-Key: your_api_key_here

Alternatively, you can pass it as a query parameter:

?api_key=your_api_key_here

Production Endpoint

GET
/api/v1/webtech/{domain}

Parameters

Parameter Type Required Description
domain string Yes The domain name to analyze (e.g., google.com)

Response Format

The API returns a JSON object with comprehensive web technology and page structure information:

{
  "domain": "google.com",
  "final_url": "https://www.google.com/",
  "status_code": 200,
  "title": "Google",
  "html_lang": "pt-BR",
  "meta": {
    "description": null,
    "keywords": null,
    "generator": null,
    "all_meta": [
      {
        "charset": "UTF-8"
      },
      {
        "content": "width=device-width,initial-scale=1.0",
        "name": "viewport"
      },
      {
        "content": "telephone=no",
        "name": "format-detection"
      },
      {
        "content": "address=no",
        "name": "format-detection"
      },
      {
        "content": "origin",
        "name": "referrer"
      },
      {
        "content": "/images/branding/googleg/1x/googleg_standard_color_128dp.png",
        "itemprop": "image"
      }
    ],
    "open_graph": {},
    "twitter": {},
    "robots": null
  },
  "headers": {
    "content-type": "text/html; charset=UTF-8",
    "strict-transport-security": "max-age=31536000",
    "content-security-policy-report-only": "object-src 'none';base-uri 'self';script-src 'nonce-IkSYpZEal_5apDKiJ6vzGQ' 'strict-dynamic' 'report-sample' 'unsafe-eval' 'unsafe-inline' https: http:;report-uri https://csp.withgoogle.com/csp/gws/other-hp",
    "accept-ch": "Sec-CH-Prefers-Color-Scheme",
    "p3p": "CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"",
    "content-encoding": "br",
    "date": "Sat, 16 Aug 2025 20:35:48 GMT",
    "server": "gws",
    "content-length": "56831",
    "x-xss-protection": "0",
    "x-frame-options": "SAMEORIGIN",
    "expires": "Sat, 16 Aug 2025 20:35:48 GMT",
    "cache-control": "private",
    "set-cookie": [
      "AEC=AVh_V2hWhp6EsZ0VPTEtVdqTv62eadv0zYQc0w0OUQi-cOazMHHoO1Mc24E; expires=Thu, 12-Feb-2026 20:35:48 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax",
      "NID=525=WE_J5_QFbPD7iZMZpihgAxKKRHPkwGD-iWa9aIDQALXVsuGdGyvehFwZiB_C6kwUYAQvOdS1GL1sM_GzrRMTjbdmsNEpRgXohKobynyNbtlwu5SIT2vcVdswDHX1KG-KqiO54ldh2TD4vHfZGn_myKIHXxR0uuDyH4Fxlt0VIB34bx9wMaqmXXsvmMgGU9N8itSKGepLKbRd5f0qNXg; expires=Sun, 15-Feb-2026 20:35:48 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=none"
    ],
    "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000",
    "connection": "close"
  },
  "security_headers": {
    "strict-transport-security": "max-age=31536000",
    "content-security-policy-report-only": "object-src 'none';base-uri 'self';script-src 'nonce-IkSYpZEal_5apDKiJ6vzGQ' 'strict-dynamic' 'report-sample' 'unsafe-eval' 'unsafe-inline' https: http:;report-uri https://csp.withgoogle.com/csp/gws/other-hp",
    "x-frame-options": "SAMEORIGIN",
    "x-xss-protection": "0"
  },
  "cookies": [
    "AEC=AVh_V2hWhp6EsZ0VPTEtVdqTv62eadv0zYQc0w0OUQi-cOazMHHoO1Mc24E; expires=Thu, 12-Feb-2026 20:35:48 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax",
    "NID=525=WE_J5_QFbPD7iZMZpihgAxKKRHPkwGD-iWa9aIDQALXVsuGdGyvehFwZiB_C6kwUYAQvOdS1GL1sM_GzrRMTjbdmsNEpRgXohKobynyNbtlwu5SIT2vcVdswDHX1KG-KqiO54ldh2TD4vHfZGn_myKIHXxR0uuDyH4Fxlt0VIB34bx9wMaqmXXsvmMgGU9N8itSKGepLKbRd5f0qNXg; expires=Sun, 15-Feb-2026 20:35:48 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=none"
  ],
  "links": {
    "canonical": null,
    "favicon": "//www.gstatic.com/images/branding/searchlogo/ico/favicon.ico",
    "manifest": null
  },
  "structure": {
    "script_count": 10,
    "stylesheet_count": 1,
    "image_count": 0,
    "form_count": 1,
    "anchor_count": 16,
    "external_links": 2,
    "internal_links": 14
  },
  "technologies": [
    "Server: gws"
  ],
  "redirect_chain": [
    {
      "url": "https://google.com/",
      "status": 301,
      "location": "https://www.google.com/"
    }
  ],
  "metadata": {
    "data_freshness": {
      "last_update_check": "2025-08-16T20:35:36.365Z"
    },
    "timestamp": "2025-08-16T20:35:50.108Z",
    "response_time_ms": 2075,
    "request_id": "req_1755376547140_e2d4a023"
  }
}

Development Endpoint

For development and integration testing, you can use the following endpoint to receive a hardcoded, example Web Tech intelligence response. This endpoint is designed to help you build and test your application without consuming your API quota or requiring authentication.

GET
/api/v1/webtech/development

Features

  • No API key required (public endpoint)
  • Does not consume your quota
  • Rate limited to 20 requests per minute per IP
  • Returns a static, hardcoded JSON response (may be outdated and not reflect real data)
  • Intended for development and integration only
    Do not use this endpoint in production. For real data, use /api/v1/webtech/{domain}.

Example

curl -X GET "https://chap.alphasystem.dev/api/v1/webtech/development"

Response Format

{
  "domain": "google.com",
  "final_url": "https://www.google.com/",
  "status_code": 200,
  "title": "Google",
  "html_lang": "pt-BR",
  "meta": {
    "description": null,
    "keywords": null,
    "generator": null,
    "all_meta": [
      {
        "charset": "UTF-8"
      },
      {
        "content": "width=device-width,initial-scale=1.0",
        "name": "viewport"
      },
      {
        "content": "telephone=no",
        "name": "format-detection"
      },
      {
        "content": "address=no",
        "name": "format-detection"
      },
      {
        "content": "origin",
        "name": "referrer"
      },
      {
        "content": "/images/branding/googleg/1x/googleg_standard_color_128dp.png",
        "itemprop": "image"
      }
    ],
    "open_graph": {},
    "twitter": {},
    "robots": null
  },
  "headers": {
    "content-type": "text/html; charset=UTF-8",
    "strict-transport-security": "max-age=31536000",
    "content-security-policy-report-only": "object-src 'none';base-uri 'self';script-src 'nonce-IkSYpZEal_5apDKiJ6vzGQ' 'strict-dynamic' 'report-sample' 'unsafe-eval' 'unsafe-inline' https: http:;report-uri https://csp.withgoogle.com/csp/gws/other-hp",
    "accept-ch": "Sec-CH-Prefers-Color-Scheme",
    "p3p": "CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"",
    "content-encoding": "br",
    "date": "Sat, 16 Aug 2025 20:35:48 GMT",
    "server": "gws",
    "content-length": "56831",
    "x-xss-protection": "0",
    "x-frame-options": "SAMEORIGIN",
    "expires": "Sat, 16 Aug 2025 20:35:48 GMT",
    "cache-control": "private",
    "set-cookie": [
      "AEC=AVh_V2hWhp6EsZ0VPTEtVdqTv62eadv0zYQc0w0OUQi-cOazMHHoO1Mc24E; expires=Thu, 12-Feb-2026 20:35:48 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax",
      "NID=525=WE_J5_QFbPD7iZMZpihgAxKKRHPkwGD-iWa9aIDQALXVsuGdGyvehFwZiB_C6kwUYAQvOdS1GL1sM_GzrRMTjbdmsNEpRgXohKobynyNbtlwu5SIT2vcVdswDHX1KG-KqiO54ldh2TD4vHfZGn_myKIHXxR0uuDyH4Fxlt0VIB34bx9wMaqmXXsvmMgGU9N8itSKGepLKbRd5f0qNXg; expires=Sun, 15-Feb-2026 20:35:48 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=none"
    ],
    "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000",
    "connection": "close"
  },
  "security_headers": {
    "strict-transport-security": "max-age=31536000",
    "content-security-policy-report-only": "object-src 'none';base-uri 'self';script-src 'nonce-IkSYpZEal_5apDKiJ6vzGQ' 'strict-dynamic' 'report-sample' 'unsafe-eval' 'unsafe-inline' https: http:;report-uri https://csp.withgoogle.com/csp/gws/other-hp",
    "x-frame-options": "SAMEORIGIN",
    "x-xss-protection": "0"
  },
  "cookies": [
    "AEC=AVh_V2hWhp6EsZ0VPTEtVdqTv62eadv0zYQc0w0OUQi-cOazMHHoO1Mc24E; expires=Thu, 12-Feb-2026 20:35:48 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax",
    "NID=525=WE_J5_QFbPD7iZMZpihgAxKKRHPkwGD-iWa9aIDQALXVsuGdGyvehFwZiB_C6kwUYAQvOdS1GL1sM_GzrRMTjbdmsNEpRgXohKobynyNbtlwu5SIT2vcVdswDHX1KG-KqiO54ldh2TD4vHfZGn_myKIHXxR0uuDyH4Fxlt0VIB34bx9wMaqmXXsvmMgGU9N8itSKGepLKbRd5f0qNXg; expires=Sun, 15-Feb-2026 20:35:48 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=none"
  ],
  "links": {
    "canonical": null,
    "favicon": "//www.gstatic.com/images/branding/searchlogo/ico/favicon.ico",
    "manifest": null
  },
  "structure": {
    "script_count": 10,
    "stylesheet_count": 1,
    "image_count": 0,
    "form_count": 1,
    "anchor_count": 16,
    "external_links": 2,
    "internal_links": 14
  },
  "technologies": [
    "Server: gws"
  ],
  "redirect_chain": [
    {
      "url": "https://google.com/",
      "status": 301,
      "location": "https://www.google.com/"
    }
  ],
  "metadata": {
    "data_freshness": {
      "last_update_check": "2025-08-16T20:35:36.365Z"
    },
    "timestamp": "2025-08-16T20:35:50.108Z",
    "response_time_ms": 2075,
    "request_id": "req_1755376547140_e2d4a023"
  }
}

Note:

  • The data returned is static and may be outdated or not reflect real-world changes.
  • Use this endpoint only for development and integration.
  • For production and real data, use the authenticated /api/v1/webtech/{domain} endpoint.

Examples

cURL

curl -X GET "https://chap.alphasystem.dev/api/v1/webtech/google.com" \
  -H "X-API-Key: your_api_key_here"

JavaScript

const response = await fetch('https://chap.alphasystem.dev/api/v1/webtech/google.com', {
  headers: {
    'X-API-Key': 'your_api_key_here'
  }
});
const data = await response.json();
console.log(data);

Python

import requests

url = "https://chap.alphasystem.dev/api/v1/webtech/google.com"
headers = {"X-API-Key": "your_api_key_here"}

response = requests.get(url, headers=headers)
data = response.json()
print(data)

Error Handling

The API uses standard HTTP status codes and returns error details in JSON format:

Status Code Error Code Description
400 VALIDATION_ERROR Invalid domain format
401 MISSING_API_KEY API key not provided
401 INVALID_API_KEY Invalid or inactive API key
402 INSUFFICIENT_CREDITS Not enough credits remaining
404 NOT_FOUND No data found for domain
429 RATE_LIMIT_EXCEEDED Too many requests

Error Response Example

{
  "error": "Invalid domain format",
  "code": "VALIDATION_ERROR"
}

Rate Limits

Rate limit headers are included in every response:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1640995200