API API de poids de page et de ressources
Mesurez les octets, requêtes, tiers et temps de chargement d’une page. Utilisez cette référence pour choisir une opération et intégrer son contrat de réponse documenté.
Opérations
GET /v1/page-weight
GET
/v1/page-weight
Crédits: 6
Paramètres de requête
| Paramètre | Type | requis |
|---|---|---|
| url | string | requis |
Champs de réponse
| Champ | Type |
|---|---|
url |
string |
final_url |
string |
status |
string |
reason |
string | null |
checked_at |
string |
http_status |
integer | null |
redirect_count |
integer |
duration_ms |
integer |
resource_limit_reached |
boolean |
summary |
object |
summary.requests |
integer |
summary.blocked_requests |
integer |
summary.total_bytes |
integer |
summary.third_party_requests |
integer |
summary.third_party_bytes |
integer |
summary.transfer_bytes |
integer |
by_type[] |
object[] |
by_type[] |
object |
by_type[].type |
string |
by_type[].requests |
integer |
by_type[].bytes |
integer |
largest[] |
object[] |
largest[] |
object |
largest[].url |
string |
largest[].type |
string |
largest[].bytes |
integer |
largest[].mime_type |
string | null |
third_parties[] |
object[] |
third_parties[] |
object |
third_parties[].domain |
string |
third_parties[].requests |
integer |
third_parties[].bytes |
integer |
render_blocking[] |
object[] |
render_blocking[] |
object |
render_blocking[].url |
string |
render_blocking[].type |
string |
timing |
object |
timing.ttfb_ms |
number | null |
timing.first_contentful_paint_ms |
number | null |
timing.dom_content_loaded_ms |
number | null |
timing.load_ms |
number | null |
findings[] |
string[] |
Exemple de requête
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/page-weight?url=https%3A%2F%2Fexample.com"const response = await fetch("https://domscan.net/v1/page-weight?url=https%3A%2F%2Fexample.com", {
headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);import os
import requests
response = requests.get(
"https://domscan.net/v1/page-weight?url=https%3A%2F%2Fexample.com",
headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/page-weight?url=https%3A%2F%2Fexample.com", nil)
if err != nil {
panic(err)
}
req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
data, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(resp.Status, string(data))
}require "json"
require "net/http"
uri = URI("https://domscan.net/v1/page-weight?url=https%3A%2F%2Fexample.com")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body))Exemple de réponse
{
"url": "https://example.com/",
"final_url": "https://example.com/",
"status": "ok",
"reason": null,
"checked_at": "2026-10-13T12:00:00.000Z",
"http_status": 200,
"redirect_count": 0,
"duration_ms": 4210,
"resource_limit_reached": false,
"summary": {
"requests": 86,
"blocked_requests": 4,
"total_bytes": 3412887,
"third_party_requests": 22,
"third_party_bytes": 1210554,
"transfer_bytes": 3425100
},
"by_type": [
{
"type": "image",
"requests": 31,
"bytes": 1840221
},
{
"type": "script",
"requests": 28,
"bytes": 1120334
}
],
"largest": [
{
"url": "https://example.com/hero.jpg",
"type": "image",
"bytes": 612004,
"mime_type": "image/jpeg"
}
],
"third_parties": [
{
"domain": "googletagmanager.com",
"requests": 3,
"bytes": 310442
}
],
"render_blocking": [
{
"url": "https://example.com/styles.css",
"type": "stylesheet"
}
],
"timing": {
"ttfb_ms": 180,
"first_contentful_paint_ms": 1240,
"dom_content_loaded_ms": 1610,
"load_ms": 3890
},
"findings": [
"page_weight_over_3mb",
"images_over_200kb",
"render_blocking_resources"
]
}
Codes de statut HTTP
200OK400Requête incorrecte401Non autorisé402Paiement requis429Trop de requêtes