Table of Contents
API Base URL
All API requests should be made to the following base URL:
https://api.website-analyzer.awesometechstack.com/products/website-analyzer
API Endpoints
Authentication
POST /auth/token
Authenticate with your API key and receive an access token.
Request body:
{
"apiKey": "your_api_key"
}
Response:
{
"accessToken": "your_access_token"
}
Start Analysis
POST /api/v1/analysis/start
Start the analysis of a website.
Headers:
- Authorization: Bearer your_access_token
Request body:
{
"url": "https://example.com"
}
Response:
{
"id": "task_id"
}
Get Status
GET /api/v1/analysis/status/:id
Get the status of an ongoing analysis.
Headers:
- Authorization: Bearer your_access_token
Response:
{
"running": true_or_false
}
Get Result
GET /api/v1/analysis/result/:id
Get the result of a completed analysis.
Headers:
- Authorization: Bearer your_access_token
Response:
{
"taskId": "task_id",
"url": "https://example.com",
"protocol": "http",
"domain": "example.com",
"title": "Example Website",
"technologies": [
{
"name": "tech_name",
"version": "tech_version",
"category": "tech_category"
}
],
"score": 85,
"pageSpeedInsightScore": 90,
"techUpToDatenessScore": 95,
"techScore": 100,
"success": true,
"statusResult": "completed",
"updatedAt": "2023-03-26T13:45:28Z"
}
Webhooks
You can also set up a webhook to receive analysis results instead of polling the API for the result. To configure a webhook, visit Link.
When the analysis is completed, a webhook event will be sent to the configured endpoint with the following JSON payload structure:
{
"eventType": "events.analysis.result",
"data": {
"taskId": "task_id",
"url": "https://example.com",
"protocol": "http",
"domain": "example.com",
"title": "Example Website",
"technologies": [
{
"name": "tech_name",
"version": "tech_version",
"category": "tech_category"
}
],
"score": 85,
"pageSpeedInsightScore": 90,
"techUpToDatenessScore": 95,
"techScore": 100,
"updatedAt": "2023-03-26T13:45:28Z"
},
"success": true,
"statusMsg": "completed",
"timestamp": "2023-03-26T13:45:28Z"
}
Limitations
Please note that the Awesometechstack API is currently designed to analyze only one website at a time. When you submit a request to start an analysis, you must wait for the analysis to finish before initiating another one. Concurrent analysis requests are not supported at this time. Make sure to monitor the progress of the current analysis using the /analysis/status/:id
endpoint, and retrieve the result once it's completed with the /analysis/result/:id
endpoint before starting a new analysis.