Skip to content
Go

API screenshot Go pour capture web à l’échelle

Ajoutez la capture à tout service Go — serveurs HTTP, CLI ou workers. Une fonction pour capturer — pas de CGo ni binaires navigateur.

Ce que vous pouvez construire

Pipelines microservices

Intégrez la capture dans des microservices qui traitent des URL depuis files, API ou événements.

CLI et DevOps

Outils en ligne de commande pour preuves visuelles de déploiements, staging ou supervision.

Génération de PDF

Convertissez des pages web en PDF — factures, rapports.

Lots haut débit

Exploitez la concurrence Go pour soumettre des milliers de captures en parallèle.

Ce que l’API gère pour vous

Tous les formats de capture

PNG, JPEG, WebP, PDF pleine page, HTML brut et vidéos.

Commandes d’automatisation

Clics, saisie, défilement, navigation et attentes.

Routage dans plus de 80 pays

Rendu géographique depuis de vrais navigateurs.

Plus de 14 intégrations d’apps

Livraison vers S3, Drive, Dropbox, Slack, etc.

Lots et crawl

Sitemaps et exploration avec nouvelles tentatives.

Navigateurs sur site

Pour conformité ou latence.

Installation

terminal
go get github.com/juliensobrier/screenshotcenter-go
Disponible sur pkg.go.devpkg.go.dev/github.com/juliensobrier/screenshotcenter-go

Exemple simple

main.go
import sc "github.com/juliensobrier/screenshotcenter-go"

client := sc.New("your_api_key")

shot, err := client.Screenshot.Create("https://example.com", nil)
if err != nil { log.Fatal(err) }

result, err := client.WaitFor(shot.ID, nil)
if err != nil { log.Fatal(err) }

fmt.Println(result.URL)     // final URL
fmt.Println(result.Status)  // "finished"

Autres exemples

Ciblage géographique
shot, err := client.Screenshot.Create("https://example.com", &sc.CreateParams{
    Country: "fr",
    Lang:    "fr-FR",
})
if err != nil { log.Fatal(err) }
result, _ := client.WaitFor(shot.ID, nil)
client.Screenshot.SaveImage(result.ID, "/tmp/fr.png", nil)
Génération de PDF
t := true
shot, _ := client.Screenshot.Create("https://example.com", &sc.CreateParams{PDF: &t})
done, _  := client.WaitFor(shot.ID, nil)
client.Screenshot.SavePDF(done.ID, "/tmp/page.pdf")
Gestion des erreurs
result, err := client.WaitFor(shot.ID, &sc.WaitForOptions{Timeout: 60000})
switch e := err.(type) {
case *sc.ScreenshotFailedError:
    fmt.Printf("screenshot failed: %s\n", e.Reason)
case *sc.TimeoutError:
    fmt.Printf("timed out after %dms\n", e.TimeoutMs)
case *sc.ApiError:
    fmt.Printf("API error %d: %s\n", e.Status, e.Message)
}
Crawl de site web
crawl, _ := client.Crawl.Create("https://example.com", "example.com", 100, nil)
result, _ := client.Crawl.WaitFor(crawl.ID, nil)
fmt.Println(result.TotalDiscovered)  // pages found

Ressources

Questions fréquentes

Le SDK Go utilise-t-il CGo ?

Non. Go pur, appels HTTP vers l’API — pas de binaires navigateur.

Sûr pour la concurrence ?

Oui. Le client est utilisable depuis plusieurs goroutines — requêtes indépendantes.

PDF depuis Go ?

Oui. Paramètres PDF, format papier, marges et orientation.

Comparé à chromedp ?

chromedp exige Chrome local et sa gestion. ScreenshotCenter remplace tout cela par un appel API.

À voir aussi

Commencez à capturer avec Go dès aujourd’hui

500 captures offertes à l’essai — sans carte bancaire. Installez le SDK et réalisez votre première capture en quelques minutes.