> ## Documentation Index
> Fetch the complete documentation index at: https://docs.screenshotly.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart Guide

> Get started with Screenshotly in minutes

# Quickstart Guide

Follow this guide to start capturing screenshots with Screenshotly.

## Step 1: Get Your API Token

1. [Sign up](/sign-up) for a Screenshotly account
2. Go to the [API Tokens](/dashboard/tokens) page
3. Click "Generate New Token"
4. Copy your API token (you won't be able to see it again)

## Step 2: Make Your First API Call

Using your API token, you can now make requests to the Screenshotly API.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.screenshotly.app/screenshot \
    -H "Authorization: Bearer YOUR_API_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
      "url": "https://example.com",
      "device": "desktop",
      "format": "png"
    }'
  ```

  ```typescript TypeScript theme={null}
  const response = await fetch('https://api.screenshotly.app/screenshot', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_TOKEN',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      url: 'https://example.com',
      device: 'desktop',
      format: 'png',
    }),
  });

  const screenshot = await response.blob();
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      'https://api.screenshotly.app/screenshot',
      headers={
          'Authorization': 'Bearer YOUR_API_TOKEN',
      },
      json={
          'url': 'https://example.com',
          'device': 'desktop',
          'format': 'png',
      },
  )

  screenshot = response.content
  ```
</CodeGroup>

## Step 3: Customize Your Screenshot

Screenshotly offers many options to customize your screenshots:

```json theme={null}
{
  "url": "https://example.com",
  "device": "desktop",
  "format": "png",
  "fullPage": true,
  "hideElements": {
    "cookieBanners": true,
    "ads": true,
    "popups": true
  },
  "delay": 1000
}
```

## Step 4: Apply a Mockup

You can enhance your screenshots by applying device mockups:

<CodeGroup>
  ```bash cURL theme={null}
  # First, capture a screenshot
  curl -X POST https://api.screenshotly.app/screenshot \
    -H "Authorization: Bearer YOUR_API_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
      "url": "https://example.com",
      "device": "desktop"
    }' \
    -o screenshot.png

  # Then, apply a mockup
  curl -X POST https://api.screenshotly.app/mockups \
    -H "Authorization: Bearer YOUR_API_TOKEN" \
    -F "screenshot=@screenshot.png" \
    -F "templateId=browser-mockup"
  ```

  ```typescript TypeScript theme={null}
  // First, capture a screenshot
  const screenshotResponse = await fetch('https://api.screenshotly.app/screenshot', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_TOKEN',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      url: 'https://example.com',
      device: 'desktop',
    }),
  });

  const screenshot = await screenshotResponse.blob();

  // Then, apply a mockup
  const formData = new FormData();
  formData.append('screenshot', screenshot);
  formData.append('templateId', 'browser-mockup');

  const mockupResponse = await fetch('https://api.screenshotly.app/mockups', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_TOKEN',
    },
    body: formData,
  });

  const finalImage = await mockupResponse.blob();
  ```
</CodeGroup>

## Next Steps

* Explore the [API Reference](/api/screenshots) for detailed endpoint documentation
* Check out our [Guides](/guides/capturing-screenshots) for advanced usage
* Learn about [rate limits and pricing](/introduction/authentication#rate-limits)
* Join our [community](https://discord.gg/screenshotly) for support
