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