curl -X POST "https://api.snapstack.io/v1/capture" \
-H "X-API-Key: sk_live_48291..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"viewport": { "width": 1280, "height": 800 },
"format": "png"
}' \
--output page-screenshot.png
Быстрый старт — SnapStack
Интеграция API скриншотов в ваше приложение за 5 минут. Никакой лишней конфигурации.
Примеры кода
Выберите ваш стек. Все примеры используют стандартные библиотеки и аутентификацию через заголовок X-API-Key.
cURL
Python
import requests
response = requests.post(
"https://api.snapstack.io/v1/capture",
headers={
"X-API-Key": "sk_live_48291...",
"Content-Type": "application/json"
},
json={
"url": "https://example.com",
"viewport": {"width": 1280, "height": 800},
"format": "jpeg",
"quality": 90
}
)
with open("preview.jpg", "wb") as f:
f.write(response.content)
Node.js
const axios = require('axios');
const fs = require('fs');
async function capture() {
const res = await axios.post(
'https://api.snapstack.io/v1/capture',
{
url: 'https://example.com',
viewport: { width: 1280, height: 800 },
format: 'png'
},
{
headers: { 'X-API-Key': 'sk_live_48291...' },
responseType: 'arraybuffer'
}
);
fs.writeFileSync('screenshot.png', Buffer.from(res.data));
}
capture();
Go
package main
import (
"bytes"
"encoding/json"
"net/http"
"os"
)
func main() {
payload := map[string]interface{}{
"url": "https://example.com",
"viewport": map[string]int{"width": 1280, "height": 800},
"format": "png",
}
body, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", "https://api.snapstack.io/v1/capture", bytes.NewBuffer(body))
req.Header.Set("X-API-Key", "sk_live_48291...")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
out, _ := os.Create("page.png")
defer out.Close()
// Copy response body to file
// io.Copy(out, resp.Body)
}