Getting Started with BoltShot API
Learn how to quickly get started with the BoltShot screenshot API and take your first screenshot in minutes.

Getting Started with BoltShot API
Welcome to BoltShot! This guide will help you get started with our powerful screenshot API.
What is BoltShot?
BoltShot is a modern screenshot API that allows you to capture high-quality screenshots of any website. Whether you need to generate thumbnails, create documentation, or monitor website changes, BoltShot has you covered.
Quick Start
1. Create an Account
First, sign up for a free account at BoltShot. You'll get 100 free screenshots per month to get started.
2. Get Your API Key
When you sign up, BoltShot creates a default API key for your organization. You can find it in the API Keys section of your dashboard. You can also create additional keys there if needed. Copy your key when shown — you will need it for every capture request.
Authenticate with either the apiKey query parameter or the X-API-Key header.
3. Make Your First Request
Pass screenshot options as query parameters on /capture. Here is a simple cURL example that saves the screenshot to a file:
curl -o screenshot.png "https://api.boltshot.dev/capture?url=https://example.com&format=png&apiKey=your-api-key"
To emulate a mobile device, add device to the query string:
curl -o screenshot.png "https://api.boltshot.dev/capture?url=https://example.com&format=png&device=iphone-15&apiKey=your-api-key"
Or pass your API key in a header instead:
curl -o screenshot.png -H "X-API-Key: your-api-key" "https://api.boltshot.dev/capture?url=https://example.com&format=png"
4. Get Your Screenshot
By default, the API returns the screenshot as a binary file (returnFile=true). Save it using -o filename.png in cURL or handle the binary response in your code.
To receive a JSON response instead, set returnFile=false:
curl "https://api.boltshot.dev/capture?url=https://example.com&format=png&returnFile=false&apiKey=your-api-key"
A successful JSON response looks like this:
{
"success": true,
"data": {
"requestId": "uuid",
"fileName": "screenshot.png",
"processingTime": 2500,
"fileSize": 1024000,
"url": "https://storage.example.com/screenshots/screenshot.png",
"imageData": "data:image/png;base64,iVBORw0KGgoAAAANS..."
}
}
The url field is included when storage is configured for your organization. Otherwise, imageData contains a data URL you can use for previews. If the request fails, the API returns JSON with success: false and an error object — even when returnFile=true.
Next Steps
- Explore our documentation for more advanced features
- Try the playground to test different options
- Check out our pricing plans to see what's available
Happy screenshotting! 🎉