Get HTML content and screenshot.
client.BrowserRendering.Snapshot.New(ctx, params) (*SnapshotNewResponse, error)
POST/accounts/{account_id}/browser-rendering/snapshot
Returns the page's HTML content and screenshot. Control page loading with gotoOptions and waitFor* options. Customize screenshots with viewport, fullPage, clip and others.
Security
API Token
The preferred authorization scheme for interacting with the Cloudflare API. Create a token.
Example:
API Email + API Key
The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.
Example:
The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.
Example:
Accepted Permissions (at least one required)
Get HTML content and screenshot.
package main
import (
"context"
"fmt"
"github.com/cloudflare/cloudflare-go"
"github.com/cloudflare/cloudflare-go/browser_rendering"
"github.com/cloudflare/cloudflare-go/option"
)
func main() {
client := cloudflare.NewClient(
option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
)
snapshot, err := client.BrowserRendering.Snapshot.New(context.TODO(), browser_rendering.SnapshotNewParams{
AccountID: cloudflare.F("account_id"),
Body: browser_rendering.SnapshotNewParamsBodyObject{
URL: cloudflare.F("https://www.example.com/"),
},
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", snapshot.Content)
}
{
"meta": {
"status": 0,
"title": "title"
},
"success": true,
"errors": [
{
"code": 0,
"message": "message"
}
],
"result": {
"content": "content",
"screenshot": "screenshot"
}
}{
"errors": [
{
"code": 2001,
"message": "Rate limit exceeded"
}
],
"success": false
}Returns Examples
{
"meta": {
"status": 0,
"title": "title"
},
"success": true,
"errors": [
{
"code": 0,
"message": "message"
}
],
"result": {
"content": "content",
"screenshot": "screenshot"
}
}{
"errors": [
{
"code": 2001,
"message": "Rate limit exceeded"
}
],
"success": false
}