Référence API

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 Voir la référence API

GET /v1/page-weight

Opération: getPageWeight Crédits et authentification: 6 Authentification requise
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

  • 200 OK
  • 400 Requête incorrecte
  • 401 Non autorisé
  • 402 Paiement requis
  • 429 Trop de requêtes

Ressources de référence