API Documentation
Free public REST API with full CORS support
Base URL
https://your-domain.vercel.app/api/v1All endpoints support CORS and are completely free with no authentication required.
POST
/api/v1/lookupScan a URL and return detected technologies, headers, security info, and contact details.
Request Body
{
"url": "https://example.com"
}Response
{
"success": true,
"cached": false,
"data": {
"url": "https://example.com",
"domain": "example.com",
"title": "Example Domain",
"technologies": [
{
"name": "Nginx",
"slug": "nginx",
"category": "Web Server",
"confidence": 100
}
],
"headers": { ... },
"security": {
"https": true,
"hsts": true,
"contentSecurityPolicy": false
},
"contacts": {
"emails": [],
"twitter": null
},
"pageSpeed": null,
"scannedAt": "2024-01-01T00:00:00.000Z",
"responseTime": 245,
"statusCode": 200
}
}cURL Example
curl -X POST https://your-domain.vercel.app/api/v1/lookup \
-H "Content-Type: application/json" \
-d '{"url": "https://vercel.com"}'GET
/api/v1/lookup?url=https://example.comAlternative GET endpoint. Pass the URL as a query parameter.
curl "https://your-domain.vercel.app/api/v1/lookup?url=https://github.com"
JavaScript / Fetch Example
const response = await fetch(
'https://your-domain.vercel.app/api/v1/lookup',
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ url: 'https://shopify.com' })
}
);
const { data } = await response.json();
console.log(data.technologies);
// => [{ name: 'Shopify', category: 'E-commerce', ... }]Rate Limits & Fair Use
This API is completely free. To keep it running smoothly for everyone, we apply generous rate limits. Results are cached for 1 hour. If you need higher throughput, consider self-hosting.