Anonymous users can use the API with 100 requests per day (IP-based rate limiting).
Create Account to get 2x rate limit and track usage.
Programmatic access to website analysis
Anonymous users can use the API with 100 requests per day (IP-based rate limiting).
Create Account to get 2x rate limit and track usage.
API access works both with and without authentication. Authenticated users get 2x rate limits.
# No authentication needed
curl "https://locapeak.com/api/analyze?url=example.com"
Provide your API token using either method:
Authorization: Bearer YOUR_API_TOKEN
X-API-Token: YOUR_API_TOKEN
Get your token: Sign up at /signup and view your token on the Account page.
GET /api/analyze?url={website_url}
POST /api/ping
Content-Type: application/json
{
"target": "example.com",
"count": 4
}
POST /api/traceroute
Content-Type: application/json
{
"target": "example.com"
}
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
string | Yes | The website URL to analyze (e.g., example.com or https://example.com) |
Rate limits are based on your account's API multiplier:
Rate limit information is included in the response:
{
"rate_limit": {
"limit": 200,
"remaining": 199,
"window": "24 hours"
}
}
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
"https://locapeak.com/api/analyze?url=example.com"
curl -X POST \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"target": "example.com", "count": 4}' \
"https://locapeak.com/api/ping"
import requests
headers = {
"Authorization": "Bearer YOUR_API_TOKEN"
}
response = requests.get(
"https://locapeak.com/api/analyze",
params={"url": "example.com"},
headers=headers
)
data = response.json()
print(data)
import requests
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
}
response = requests.post(
"https://locapeak.com/api/traceroute",
json={"target": "example.com"},
headers=headers
)
data = response.json()
print(data)
const headers = {
"Authorization": "Bearer YOUR_API_TOKEN"
};
fetch('https://locapeak.com/api/analyze?url=example.com', { headers })
.then(response => response.json())
.then(data => console.log(data));
{
"url": "https://example.com",
"domain": "example.com",
"dns": {
"domain": "example.com",
"a_record": "93.184.216.34",
"ns_records": ["..."],
"mx_records": ["..."],
"txt_records": ["..."]
},
"ssl": {
"issuer": {...},
"subject": {...},
"valid_from": "...",
"valid_to": "...",
"version": 3
},
"page": {
"title": "Example Domain",
"description": "Example description",
"generator": null,
"server": "nginx"
},
"social_links": {
"Twitter": ["https://twitter.com/example"],
"Facebook": ["https://facebook.com/example"]
},
"external_links": {
"count": 10,
"domains": ["..."]
},
"technologies": {
"js_frameworks": ["React.js"],
"css_frameworks": ["Bootstrap"],
"analytics": ["Google Analytics"],
"antibot": [],
"marketing": [],
"payment": []
},
"providers": {
"registrar": "GoDaddy",
"mail_provider": "Google Workspace"
},
"screenshot_url": "/screenshot/...",
"rate_limit": {
"limit": 5,
"remaining": 4,
"window": "24 hours"
}
}
{
"error": "Rate limit exceeded",
"requests_made": 5,
"limit": 5,
"window": "24 hours"
}
{
"error": "Error analyzing website: ..."
}